Training, done properly, is a specialized type of learning that companies can use as an investment in their personnel. Unfortunately, it also may become just a box that gets ticked off each year as a mandatory practice. Marcus and Reuven discuss how to get the most from your training dollar, what to expect from trainers, and common mistakes companies make which waste their precious training dollars.
- “I think that good training and good learning go hand in hand”
- Nowadays there’s a whole host of different options for every technology.
- I think it’s also healthy for an organization to say, “We’re investing in you. We want you to learn these things even if there’s no immediate payoff, even if it’s not directly for like helping the company right now, we think that at some point in the next year you’re going to be exposed to this. You’ll need this, you’ll want this.”
- Having these fundamentals really helps you sort of fly through the system and then use it for the purpose you want, which is getting your work done and not spending time on the nonsense.
- Every company has to sort of decide on these trade-offs because during those days people won’t be available as much as you want and you just have to sort of plan for that
- Learn More About Reuven:
- Sponsor: O’Reilly Software Architecture Conference – Berlin, Germany. November 4-7, 2019.
- Use discount code MB20 to save 20% on Bronze, Silver, and Gold packages.
Announcer 1: Welcome to the Programming Leadership Podcast where we help great coders become skilled leaders and build happy, high-performing software teams.
Marcus: Welcome to the show. I’m Marcus and this is Programming Leadership. I am beyond excited today to have my good friend Reuven Lerner join me. Reuven, thank you for being on the show.
Reuven: Marcus, I am delighted to be here.
Marcus: Reuven, you are an amazing person. Here’s why. Here’s why I look up to you so much. You have taken your knowledge and you do what so many expert programmers say they want to do, they want to help other people learn to do what they do. You have built a training business. Now your business started with Python, is that right?
Reuven: Well, my business originally started with me doing development and consulting and some training and it was a mish-mosh, like it was some Perl and some Linux and I sort of have over time ended up doing a lot of Python stuff.
Marcus: Okay. Well, I have the impression … I think it was when I met you, you were deep into the Python. Today on the show what I want to talk about is I want to talk about how technical managers can think about training better. We all want our teams to perform better. We want to get them training, we want to skill, up skill, whatever the right phrase is, but how do we even evaluate trainers? What should we look for in a trainer? What impacts can we really expect it to have? Those are some of the things on my mind because I think that it’s kind of a hard area. Do you find that you think maybe people aren’t getting the most from their training dollars today?
Reuven: Overall, yes. I mean there are definitely companies where it runs like a well-oiled machine. They know how to find training. They know how to sort of find the needs of the engineers and the managers and then go out and find training that’s appropriate. They know how to ask the training companies what they’re offering and sort of act as a go between. There are all sorts of different names for it. I just call them the training managers because they are like a hundred different names that they might have.
But there are plenty of companies where they don’t really know what they’re doing. I just spoke earlier today with a company where the CEO is convinced, absolutely convinced, that the way to ensure that training will work well is to have a final exam at the end of the course and that will make sure people are really paying attention. Okay, maybe they pay attention more, but it ends the course on such a bitter note because people are like, “Why did I only get such and such on this test?” It’s all talking about the test and not talking about let’s just learn. So, there are all sorts of companies and all sorts of attitudes and, yeah, we can pick apart some of that sort of from the beginning wanting training till the end and evaluation and everything in between.
Marcus: Wonderful. Well, you use two words that sometimes I hear as synonyms, but I wonder if you think they are? The first word you used was training and the second word you used was learning. Are those the same thing?
Reuven: In theory, they could be, or sort of two sides of the same coin. I’m providing training and I’m hoping that my people are learning. I know for a fact that many of them while I am giving my training, are Facebooking, and Twittering, and emailing instead. So, slightly different verbs, shall we say. I spoke to someone a few years ago who runs one of these, I forget what they’re called, but like a sort of crunch school where you go for, in Israel it will be at least like six months of in-depth learning of technical skills, and then he has a very clever business model where then those people work for him and he does outsourcing. So they work for him, outsource for two years, and then they’re free to go. He said to me, “Look, what you’re doing is just entertainment. No one’s really learning from anything you’re doing,” …
Marcus: Oh my gosh.
Reuven: … which was a great way to start a conversation.
Marcus: Oh, I bet.
Reuven: I loved that conversation. Basically he was convinced that there’s no actual learning going on in the training world, because at the end of the day, how am I evaluated? How do people decide to bring me back? It’s based on the course evaluation at the end, and if people enjoyed it they’ll give me a high evaluation, and if people didn’t enjoy it they’ll give me a low one. That’s not entirely false.
That said, I think that good training and good learning go hand in hand, and you can sort of, you might not be able to quantify it as they would want on these surveys, but if you’re in a good class … You’ve been in lectures, you’ve been in classes, and a good one you come away not only inspired and entertained but you’ve also learned something, and you can then apply it in your work and you feel that. When I repeat, when I go to a company repeated times, and I’m in the cafeteria very often someone will come up to me and say, “You know that thing that you taught me I used it in work the next week,” and that is just the best feeling in the world. Right? I know that it was actually effective and useful.
Marcus: Oh, absolutely.
Marcus: Did you hear? The O’Reilly Software Architecture Conference is coming to Berlin November 4-17, 2019. It’s the only conference that focuses exclusively on software architecture and the evolution of the architect role. It is right down in the weeds with technology. It’s hitting all the complex topics from microservices, serverless, to domain-driven design, and application architecture. They feature different styles of learning, too, from 50-minute sessions to two-day training courses.
They also focus on soft skills, knowing that architects have to communicate complex technical topics and their merits compassionately to both upper management and technical teams. They’re here to help you navigate different communication styles such as in their two-day training called The Architectural Elevator. They know how siloed you can feel as an architect and they offer countless networking opportunities to meet people, talk tech, and really get a broader understanding of the field, sharing personal experiences and learnings that you can apply to your own work.
Lots of their attendees may not carry the title architect, but they are either aspiring architects, or like I was doing the work of a software architect, either as a manager or even as a company owner. Now, they’ve got a special networking experience called Architectural Katas … Doesn’t that sound cool? … where you get to practice being a software architect. Attendees break up into small groups and work together on a project that needs architectural development.
This conference is going to be co-located with the Velocity Conference this year, which presents an excellent opportunity to increase your Cloud native systems expertise. You can get access to all of Velocity’s keynotes and sessions on Wednesday and Thursday, in addition to software architecture for just 445 Euros. Listeners to this show get 20% off most passes to Software Architecture when you use the code MB20 during registration, that’s MB20. Where do you find out more? You go to oreillysacon.com/blankenship for this special offer. That’s oreillysacon.com/blankenship. We’re thankful that they’re a sponsor of the show.
Marcus: Okay, well let’s start at the beginning. So let’s imagine that somebody here is listening and they have been, they’re hearing from their team that they need to be better at a language, like Python, and they’re trying to figure out do I buy them books? Do we use a Coursera course? It seems to me in this day and age there is a whole spectrum of ways that people can learn and that technology managers can enable their teams to learn. Do you have kind of, and I recognize that you are a trainer, but if you were in that position how would you go about thinking through all the different options?
Reuven: Look, first of all we have to remember that different people are different, right? So there are going to be some people who can … When I learned Python how did I learn it? I read the man page. Why? Because that’s all there was back in the Mesozoic Era. Nowadays there’s a whole host of different options for every technology. First of all, I’m not against books. I read books, I love books, I learn a lot from books. The problem with books is that some people are going to read them and some people are not going to read them. You’re going to end up with this uneven sort of learning. A lot of times what happens …
Just today, I spoke to a company where they’ve adopted Python and, as I call it, they’re writing Python with a heavy CI accent. It’s like, yeah, they’re using Python but it’s not the way it’s supposed to be used, and the manager recognizes this. So could he have them all read books? Yeah, but they’re not going to do it, and who knows when they’re going to do it, and who knows what they’re going to get out of it. So, I would say it’s worth having books around like a Safari subscription just as like a backup, a reference, so people can go more in depth if they want to, but if you’re looking to get your whole team aligned in their understanding it’s probably not the best way to go. Another way to do it would be something like Pluralsight or Coursera or any of those, the video courses. Some of those are very high quality. My beef with those, and I actually have started to produce video courses-
Marcus: Right. And a book. You have a book.
Reuven: Right, and I have a book. I’d like to say, “So they’re all terrible except for mine.” I’d love to say that all video courses are bad, but that’s not true. First of all, my big problem with video courses is they’re noninteractive that, yes, I put exercises in my video courses but I’m not there. There’s no pressure, there’s no feeling of, “Oh I should really do this,” and there’s no interaction neither with the instructor nor with your peers. When I’m training I have people working in pairs, pair program, two people in one computer. They don’t always listen to me. Fine. You know, programmers have been known to be a little stubborn sometimes, but when they do it they learn a ton. When they can ask me questions or why is this not working? they can learn even more, and that’s missing from the video course. Again, that’s good.
By the way. The other thing is … I’ve started doing like blended learning with some of my clients. So they will buy my video course and they’ll watch the videos and then I come in for the second day of training. It’s always very weird. I come in and I have to learn their names and they all have been hearing me speak for eight hours of lecture. It’s kind of funny. There it’s clear they’ve not learned as much from the videos. Partly because of what I just said, partly because the company says, “Well, you’ll watch these videos,” but they don’t actually give them time to do it. The people feel sort of like, “Well, what am I supposed to do?” People even say, “I’ve done it at 2:00 or 3:00 in the morning.” However, people have also said to me, “The advantage of the videos is they can go back and rewatch them and use them as reference afterwards. That was a big surprise to me, that after the course is over typically you have the slides maybe but nothing more.
So the videos are, again, a good reference, I would say better in some ways for different people than the books. Then you have the actual in-person training and I definitely think … Look, there’s no doubt about it that’s the most expensive way to go because you’re taking up a trainer’s time, right? I can sell as many video courses as I want simultaneously, but I can only be in one place at a time despite my best efforts to the contrary. You’re paying the premium for the instructor. If it’s a good instructor, though, they will give those interactions, they will have those hints. Look, one of the things I do when I start a course is I go around and I get everyone’s name. I will not remember people’s names. I’ll remember some of them. But, more importantly in some ways, I’ll ask them what is their background? Then if I know there’s some former Perl people, some former Java people, some people using Windows, then during the course I can point out the things that are relevant to them and they get a more personalized course than would be possible otherwise.
Similarly, I can talk with their manager before the course happens and I can really customize it to their needs. Usually it’s not more than a 5-10% adjustment, but that adjustment can make all the difference in how they perceive it. So, there are many ways to go and each has its advantages and disadvantages. The other thing is not just the money, but the scheduling, right? A good trainer is going to be booked months in advance and so if a company really needs something now, next month, they might need to compromise.
Marcus: So you’ve got these managers who want their team to improve their skills. How important is it that the team wants this training?
Reuven: Important. Look, I’ve definitely had people come to my courses where … In fact, I’ll even say it’s when… so when I go around and ask people, so what’s your name and what do you do? What’s your background in Python? I say, and why are you here? I then add, knowing this will get a chuckle. “It’s okay to say, ‘I’m here because my manager forced me to take this course.'” Half the people always giggle because that’s true, right? It happens to be true. So it’s important that they want to learn.
My kids once asked me, and this says a lot about Israeli schools. My kids asked me, so when you go to work, Dad, do you have to yell at your students for them to listen? The answer is, “No,” because they’re usually there because they want to learn. They realize this is going to help themselves in their career currently and in future places. Many people say, “I want to learn Python. I want to learn one of these things,” you know ten difficult courses, right? “I want to learn these skills because it’s going to help me in my next company, as well. It will make me a more marketable employee.” A manager can say, “Look, I’m not only giving you this perk now to help us as a company, I’m helping you in your career.” But, you’ll always get some people, right?
The most egregious example I can remember is probably from almost 10 years ago. I go into the classroom and I say, “Hi, welcome to Introduction to Python. Nice to see you,” and this guy in the front row says in this really loud voice, “What a bunch of crap, what a terrible language.” What! What? Now, he basically thought that Python was this toy language. Who would possibly want to use it? It, obviously, is like nothing compared to CnC++. Now, the good news is I was able to use him as a foil for every single one of my sarcastic comments throughout the course. By the way, at the end of the fourth day, I get emails from him saying, “You know, Python is not a bad language. Where can I go to teach my daughter because I think she should learn it too?”
Reuven: It is possible to turn people around from a bad attitude, but very often those people will just be again on their phones doing email, whatever it is in the background. As long as they don’t bother me I’m not going to bother them.
Marcus: Sure, yeah. One of the things I hear from technical managers, I kind of hear two perspectives it seems like when it comes to training. On one hand it seems like some of them think that training is like taking your vitamins, like it’s just a good thing. Why wouldn’t we keep training, and we have a training budget we should use it? On the other hand, some people think that training is like taking your nitroglycerin if you have a heart condition, like it’s so important to take. Right then it’s going to keep you alive, and a lot of times they wait until they’re at the cusp of having a heart attack. They almost wait too late to start training thinking they can just take it and get an immediate effect. I don’t know if you see either of these two things where people don’t really know what outcome they want, or they have a very specific outcome and they need that outcome to happen immediately. Do you have any opinion on kind of where most people land or where people should be thinking and how they should think about training?
Reuven: I think they should think about it… By the way, I love those metaphors. I’d never heard that before and that’s fantastic. I definitely think that the vitamin approach, the exercise approach, is the best way. First of all because the learning takes time to sink in, right? I always, always make the analogy between teaching programming and teaching a human language. So, you have to go to country X, and you won’t have a translator. You don’t want to just depend on the phrase book, so you go to like intensive French, intensive Spanish, whatever it is, for four days. You will be able to order at a restaurant, find the restroom, find the train station, so forth. But you won’t be able to have an in-depth conversation. But if you have those four days, a month or two in advance, and then it has time to percolate in and sink in you’ll be more fluent. You’ll have time to think it over. It’ll be less rushed.
I think the idea of having it early on, seeing it as part of sort of the career development is good. But, I think it’s also healthy for an organization to say, “We’re investing in you. We want you to learn these things even if there’s no immediate pay off, even if it’s not directly for like helping the company right now, we think that at some point in the next year you’re going to be exposed to this. You’ll need this, you’ll want this.” Now that might be a little excessive because companies are not going to spend Willy nilly just on making people feel good.
But, if you’re doing it the last moment people are going to feel that pressure, and people are going to feel like, “Oh my god, like what if I don’t get what I need to have this course?” Also, it’s just a nice feeling from the employee’s perspective. “Wow, my company cares about me. They want to invest in me.” They’re not going to rush to find another place to work as quickly.
Marcus: I agree. I think I’ve been sent to some of those courses where they were like, “Well, you’re starting this new thing. You have to go learn it and be ready to like be really productive in four weeks,” in some new language or technology that I’d never done before. It was, actually, really stressful. Let’s talk about how we evaluate courses. What should managers expect? Should they have a really clear goal in mind? How should they know if the course was a success? Is it just about people enjoying themselves? I’m sure it’s not. I’m being a little facetious.
Reuven: Right. Look, so first of all … I finished a PhD, I guess it was five years ago now, in what’s called Learning Sciences, which is this combination of computer science, cognitive science and design all within an education department. The one question you were never allowed to ask in Learning Sciences, if you wanted to pass your dissertation defense, was, “What is learning?” Or, “How can we describe learning?” You ask that and you’ve fallen into a trap because there’s no established way to say how people learned. So, you can do what’s called like a pretest and a post test. In a company you’re just going to have a post test, you’re just going to have a test afterwards. If people pass the test you assume that they’ve learned something. Okay maybe. Better yet would be to have them do some sort of project. Quite frankly, no one I’ve seen really wants to do that. Time and money are just not worth it. So, realistically I think it comes down to are they able to do their jobs better?
Perhaps even more practical than Python, although that’s certainly like a practical thing, I teach also Git courses. What typically happens there, and I say this at the beginning of my course also and people sort of nod. I say, “Okay, you started using Git. They told you here are the five commands to use, and as long as you use these commands you are safe. Something goes wrong and they say, “That’s okay, erase the repository, clone again and use those five commands again.” People are like, “Yeah right, and then things go haywire. I don’t know what to do.”
Marcus: I thought it was just me.
Reuven: Right, right.
Reuven: I say, “Okay, like the point of this course is you’ll understand what’s going on. Afterwards they go back and, again, I’ll see them in the cafeteria or whatever, they say, “What do you know? I hit a bump and I knew what to do. I knew what was going on. I knew what every message was telling me.” So, that’s hard to measure but easy to identify, in that people are no longer falling into these traps, going crazy, searching for the Git expert, the Python expert, who can help them get themselves out of a hole they’ve dug for themselves.
Marcus: There’s always one Git. I think every company has to have that Git expert who for some reason is also a little snarky and wants to come over and take over my keyboard. Yeah, what you described was exactly me and, in fact, in some ways it seems like knowing something like Git, and really understanding it deeply, would be more beneficial for the long term for a company then investing in a particular language like Python or … I mean, I’m sure they both have benefits, but as soon as you talked about like you know the five commands, yeah, that would open up so much. Are there other kind of fundamental skills that you see opportunities? We’ll use that word, opportunities that companies should be investing in more?
Reuven: Here’s one that I’ve never ever seen a company invest in, but they all should, touch typing.
Reuven: I type really fast. I just did this like online test. I type like 140 words a minute or something. I realize this is very fast, and like my father, my parents, forced me to learn to touch type when I was in high school, and I screamed and yelled and okay here I am today and thankful for it. Like all teenagers years later we realize how wise our parents were.
Reuven: It’s not just that people sort of are amazed by my typing, they are inhibited, or they are sort of restricted how much they can get done in a day by that. Some company somewhere should take the opportunity and teach their programmers touch typing, and they will yell and scream as I did when I was in high school, but it will be majorly … That will give the company an efficiency boost that they can’t get sort of like low hanging fruit elsewhere.
Marcus: It should be like touch typing for programmers, right? That makes you remember all the symbols because clearly it’s not just the alphabet we need.
Reuven: I hadn’t thought of that. Yes, yes, yes, exactly. But otherwise … Look, I mean, it’s probably … I can’t think of anything off hand. Certainly sort of knowing the UNIX command lines, it’s easy for me to say that’s a great thing to know, but I hear that there’s like this Windows operating system that’s gaining popularity that some people use. So, teaching all those people UNIX might be just a waste of time.
Marcus: I’ve heard Windows is getting popular.
Reuven: Fundamental skills. Yeah, like those fundamental skills of like operating the computer, working with it. I know it seems like not essential to people’s work, but having these fundamentals really helps you sort of fly through the system and then use it for the purpose you want, which is getting your work done and not spending time on the nonsense.
Marcus: I like that. Reuven, what do you wish the people that hired you knew about training, about how to utilize a trainer, about how to utilize internal resources? What could they know? What can we share with them, kind of pull back the Wizard of Oz curtain from a trainer’s perspective?
Reuven: So, first of all, so I’ve got, I guess, two companies where they have a lot of their employees go through my courses on a regular basis, and they basically decided this is sort of fundamental knowledge that everyone here needs to have, and so we’re just going to run this course like once every two, three months or so. Even if it’s not like, as we were talking before, like essential for them right now, tomorrow, so that they’ll have this sort of body of knowledge that they can use. Having that longterm perspective of what are the things we want everyone in the company to know, or all the engineers to know? Then just scheduling it. You can even schedule many times a year in advance and say, “We are sure that we’re going to have 20 people to fill a classroom, and we’ll just sort of figure it out two months beforehand.” So, figure out what those skills are, figure out how you want them to be trained in it, and then sort of just sort of put that on people’s schedule.
Another thing is how do you want to schedule it? I have found there is a fascinating cultural divide between Israel, where I live, and everywhere else in the world, and I don’t think it’s because everywhere else I have to fly there and I’m there several days in a row. So, companies in Israel basically refuse to have courses several days in a row. Absolutely, positively, adamantly refuse because their workers aren’t getting work done. “What, you want me to take them away from work four days in a row? Are you nuts? I’ll give you maybe two days a week and definitely not consecutive days.” Every other country that I’ve encountered, including when I do online courses through WebEx, they’re like, “Of course we want it several days in a row.” People just block off the time, and they go to the course, and they have an away message on their email, and that’s that. I prefer the several days in a row. It’s much more intense, but I think people get more out of it.
But, every company has to sort of decide on these trade offs because during those days people won’t be available as much as you want and you just have to sort of plan for that. And so know … There was a company I was going to do some training at last year in May and they said, “You know what, we can’t do May because that’s a week when we’re going to have a release so everyone’s going to have to be on duty, so let’s bump it off the July.” Fine. I totally get it.
Marcus: I was actually going to ask you which format you felt was most effective? I think you answered it. You felt the intensive, being there four days in a row, was more effective for learning …
Marcus: … than being there once or twice a week for two to four weeks? Is that right?
Reuven: Absolutely. Absolutely. What’s even worse-
Marcus: Why do you think that is?
Reuven: I think it’s because you get the momentum. If you wait a week do people really remember? Do they understand the context? Do they have that sort of flow? Are they familiar with … I mean, I’m also teaching them how to use certain environments and certain tools, and so they kind of forget the tools a little bit. It just all fades away a little more. Also there’s just more of a sort of comradery that emerges when you’re all together in the same room for a number of days. Whether they like my jokes or they hate my jokes they get used to them to some degree and they’re like familiar with how it works. It gives me a chance to remember their names better, remember their strengths and their weaknesses better. I think it’s just better all around, but it means saying, “No.” It means having a company back them up when they say, “I’m in a course. I’m not going to be able to do my work this week,” and that’s for the longterm benefit of the company even though it’s short term detrimental.
Marcus: Yeah. It’s funny, I was talking with somebody the other day who, it was actually the owner of a publishing company called Dorset House, and Dorset House was a really big computer and tech book publisher in the ’80s and ’90s. They did like Peopleware. They did some pretty good titles, and they did a lot of Jerry Weinberg’s work. I was talking with the owner of that and she said, “Companies just don’t train like used to.” She said, “We used to sell …” What’d she say? She said, “Carloads of books, because training was so ingrained.” And now, and she attributed it to turnover. She said, “Turnover is so high companies don’t want to invest.” You know somebody who’s going to be there a year or two they think, “Well, there’s no point. So we should just go hire people who are already trained.” I was just curious, Reuven, what’s your … Do you see a link there between kind of the turnover cycles in 2019, and what companies expect and want to invest in?
Reuven: I had never thought about the turnover perspective. There’s something to that. I have definitely seen a growing trend in companies to say, wherever we can use an O’Reilly, a Pluralsight, a Udemy, Coursera instead of in-person training we’ll do it because it’s cheaper, because it’s more flexible. Both are true. It is cheaper, more flexible. I think to a large degree you’re getting what you pay for. I’ve had a number of clients come to me and say … Over the last few years I’ve started recording more and more of these video courses, and I found that it’s not only useful for getting individuals online who want to learn the subjects I’m teaching, it’s also a useful tool to go to companies with, and then we can negotiate. Do you want the online course, do you want the in person course, or do you want a blended course?
One company that I go to, I used to do a four-day Intro to Python course and they came to me and they said, “We are trying to do more and more video. Can we reduce it to three days and have some video component?” I said, I’ll tell you what, the first day that we do together is actually available as a video course.” Now they buy three days of my time and the video course for those employees. But then, as I again mentioned earlier, we show up on day two and half the people haven’t watched the videos from the first day and they have to sit on those people because they have other work to do. It’s clear, it’s abundantly clear to me, that this is not a highfalutin, learning, educational pedagogical thought, this is because they want to save money. In fact, when I tried charging them the same amount, they came back and squeezed me and said, “Listen, what is this? You know you’re not going to be here for the day, how can you charge us for a day? I, of course, gave a fight knowing that they were right.
Marcus: One of the things you’ve come back to a few times is this importance to give people the time. I have noticed, and I’d love to hear your thoughts on this. Does it seem to you that everyone is working in more time pressure than ever these days? There’s just very little time. As you say, you have to give people the time to do this, but it’s so hard. Is the time pressure just worse and worse than maybe even than it was 10 years ago? Or maybe is it just me?
Reuven: I don’t know. I don’t know if it’s worse, but it’s bad.
Marcus: It’s bad?
Reuven: When a company calls me up and hears that most of my courses, sort of main courses, are four days long, the line I hear all the time is, “Well, our people are smarter than average. So we can do it in three days.” So this is like a Lake Wobegon effect for like, you know, all engineers in all companies are smarter than average. Amazing. I have to explain to them, this is not a measurement of intelligence. It takes time, and I’m not just saying it’s to get through the material because I take a long time to talk. It takes time to absorb it. It takes time to do the exercises. Indeed, over the years what I’ve said now for at least five years is, “Every year I remove content and add exercises to my courses and people come away more satisfied,” because they’re learning more. They feel like they’re doing more. The engineers are absorbing more. Even if they like … Sure I could go through 20 more topics, but they’re not going to learn those. The companies need to understand that the time, as frantic as things might be at the office, the time to invest in learning, it just takes time. There’s just no way around it. It’s like learning a language.
My obsession for the last few years has been learning Chinese, and so like every morning I get up early, I do an hour of it, and it’s only like very, very, very slow progress over time it’s managed to get into my head and feel to some degree natural, and I’m far from fluent. That’s a lesson that I’ve learned with the programming classes also. Lots of practice over lots of time and, indeed, I would say if there’s one thing that companies don’t do, that I’m trying to figure out sort of ways to do, is to have like a course in two parts. There would be like the learning part now. Let’s say we have a four-day course, and then a follow up workshop like a month or two later where we practice more, remember things better. It’s sort of like taking a language course, waiting a month and then going to the country and being in an immersive situation where it’ll bring back a lot of the memories and have you use it afterwards.
Now I’ve got some online courses that try to do that. I haven’t yet managed to marry that with my corporate training, but that’s definitely part of my thinking here.
Marcus: Really interesting. Let’s shift gears. What does your crystal ball tell you, because I know you have one I’m sure, about the future? What will training be like in 20 years? How will things be the same or different?
Reuven: So, we have been convinced, or people have been convinced, for at least a century now that with technology X we have solved the problem of learning, and teaching, and finally we can do it better than we could with a teacher. For the most part technology X, whether it’s TV, or movies, or the internet, or whatever, has turned out not to be the case. I still think, and of course this is very self serving, I still think that the right teacher, with the right understanding, the right, as we call it … Sort of in the education biz you talk about content knowledge, like actually knowing the thing, and pedagogical content knowledge. Do you know how to explain the thing? I only make the analogy to stand up comedians where before you see them in their fancy, fancy show they are practicing their jokes time and time again, and only after 20 or 30 times of telling a joke in different variations do they see how it works.
I have the advantage because I’m doing it every day, I’m doing the same thing with my training and my explanations. So, there are certain explanations that I know will hit home and work beautifully because I’ve sort of field tested them, and others I tried out and sometimes they work and sometimes they don’t. That is true for, I think, all instructors, and I don’t think that is going to change at all. What is going to change is, I think, the automation of feedback that when you do practice … I can, it’s now possible on a growing number of platforms for people to enter programs and to get instant feedback on, “Your program is wrong here.” Think of … Oh, I’m trying to remember what’s it called? The math and other skills Academy, Khan Academy.
Reuven: I only used it a tiny, tiny amount. My kids were not so excited by the idea. But basically … Then what was I going to do there right? But basically, you enter different things and it gives you immediate feedback and hints on where did you get it wrong, not just giving you the answer but push you in the right direction. That is a very powerful tool, not by itself for learning, but for reinforcing what you do in class. That, I think, is going to become very big, and we’re just going to see a plethora of courses on so many different jobs. We already have that. You go to Udemy and you want to learn something on Python. First you have to choose from the 300 Python courses. How the heck are you going to know? By the way, half of them might be great and half of them are probably terrible. Go choose that half.
Also, I find that something that has changed my courses a lot, I’ve seen it in the last decade or so, is Stack Overflow. So, it used to be that if I would give an assignment, I would give an exercise in class and I’d say go do such and such, 10 years ago, 15 years ago, people would say, “I don’t understand how to do such and such. Would you explain to me?” Sure. It’s my job, I want to make things clear, and I would explain it and then they’d go and do the exercise.
Nowadays, what’ll happen is someone will call me over and say, “Hey, my program’s not working.” I’ll go over and I’ll say, “Wait, we haven’t learned that yet. Where did you find, how did you come up with that solution that doesn’t quite work?” They’ll say, “Oh, I searched on Stack Overflow, found some code, and I pasted it in.” Now you know, that’s what they’re doing in their job day-to-day. They’re cutting and pasting from Stack Overflow. It has changed things because people are so used to mechanically copying and pasting without understanding and hoping that if it’s close enough they’ll be able to make do. My job is no longer to teach them the syntax so much, I teach them why the syntax works in a certain way, understand the mechanism behind it so that when they encounter that code and read it, they’ll know is this appropriate? Is it not? Should I use it? Should I not?
Marcus: The Stack Overflow effect. You heard it here first. At least that’s the way I’m going to call it. I think you’re right. In fact, it makes me wonder if people are spending more time, this is going to sound weird, instead of writing code maybe we’re spending more time debugging code from Stack Overflow, trying to modify the code that we cut and paste rather than writing the code. When you write it you have an attempted understanding what you wanted, but if you go get five lines from Stack Overflow and paste them in, … I’ve done this, I think everybody listening probably has, … and you’re hoping it’s going to work because you’re whatever. It does seem like reasoning through, and reading, and reasoning through code is even more important when you didn’t write it.
Reuven: Absolutely. Look, again the metaphor I use is to language, and I describe Stack Overflow as a phrase book. So you go to a country, you’re like, “Oh, I need to find the train station.” Flip, flip, flip, flip, flip, and you say the sentence and you hope you’ll understand their response. You hope it’s in the right accent, dialect, location, whatever. So, Stack Overflow, you find the response you need, you paste it in, but then you’re sort of stuck if it’s not quite appropriate. What if it’s not the train station, it’s the bus station? Ut oh, I don’t know how to say that in whatever language.
So, what I aim for, both in my online courses and my in-person courses, I talk about this a lot, is fluency. I want you to understand the mechanisms and thinking so that when you learn something new you can add it to your existing knowledge and sort of get a sense of how it works and know how the system is designed rather than just piecemeal cut and paste. But that takes time and there’s just no way around that.
Marcus: That just takes time. Reuven, thank you so much for joining us. Where can people find you online?
Reuven: My main website is at lerner.co.il. That’s L-E- R-N-E-R.co.il. From there there are links to my blog. I have a free weekly newsletter that I call Better Developers, which is mostly about Python. You can sign up for it there, and there’s also a link to my online store with various things. I also recently just started a YouTube channel where every day I’m uploading a new … Every day? Every few days. I’m going through the Python standard library, because it turns out no one actually knows it, the whole thing, because it’s so ridiculously huge, so I decided to take it upon myself to go through it little bit by little bit in small segments. I am learning a lot, having a blast. People can find that also. We’ll put the link to that in the show notes as well.
Marcus: Reuven, thank you so much. Great to have you on the show.
Announcer 1: Thank you for listening to Programming Leadership. You can keep up with the latest on the podcast at www.programmingleadership.com and on iTunes, Spotify, Google Play, or wherever fine podcasts are distributed. Thanks again for listening and we’ll see you next time.
Announcer 2: This has been a HumblePod production. Stay Humble.