Revolutionizing Development Training: Insights from Reuven Lerner
In a recent episode of The Engineering Manager Podcast, host Steven Tedjamulia sat down with Python expert Reuven Lerner to discuss the transformative power of effective development training for engineering teams. Lerner, known for his dynamic approach to teaching Python and software engineering, brings a wealth of knowledge and experience to the table.
A Journey of Knowledge and Empowerment
Reuven Lerner’s background is as diverse as it is impressive. An MIT graduate, Lerner began his career in web development, quickly discovering his aptitude for Python and other high-level programming languages. His transition from doing projects to teaching others marked the genesis of his training career. Lerner’s passion for teaching has only grown, focusing exclusively on Python training for the last decade.
The Essence of Effective Training
Lerner emphasizes the importance of effective and fast-paced training for engineering teams. “Effective training,” according to Lerner, “goes beyond syntax; it’s about imparting the ability to solve new problems and understand complex concepts.” The rapid pace is crucial in corporate settings where time is a premium. Lerner’s approach combines theoretical knowledge with practical exercises, ensuring a deeper understanding and retention of concepts.
Hands-On Training: A Key to Mastery
Lerner is a firm believer in hands-on training. He argues that true learning emerges from doing, making mistakes, and engaging in discussions. His courses, whether online or in-person, involve numerous exercises and real-world problem-solving scenarios. This approach not only enhances learning but also makes the process enjoyable and engaging for participants.
Personalizing Training for Maximum Impact
One size does not fit all in development training. Lerner stresses the importance of tailoring courses to meet the specific needs of a team. From mapping out knowledge levels to customizing syllabuses based on a team’s requirements, Lerner’s training is designed to align with the unique goals and challenges of each team.
The In-Person Advantage
While online training has its merits, Lerner points out the unique advantages of in-person training. The physical presence in a shared space enhances focus, fosters better interaction, and allows for discreet problem-solving. Additionally, informal interactions like lunchtime discussions can further enrich the learning experience.
The Broad Spectrum of Lerner’s Offerings
Lerner’s training repertoire is vast, ranging from introductory courses to advanced Python, including specialized workshops in pandas, numpy, and machine learning. His offerings also include micro-courses for targeted learning needs, all aimed at enhancing skills in a practical, engaging manner.
The Return on Investment
Lerner’s training is not just an expense but an investment in a team’s efficiency and effectiveness. Improved productivity, problem-solving skills, and reduced reliance on external resources like Google or Stack Overflow are just some of the benefits that justify the investment in his training programs.
Looking Ahead
With the imminent release of his new book, “Panda’s Workout,” and ongoing efforts in training, Lerner continues to be a guiding force in the world of Python training. His commitment to helping professionals enhance their skills is evident in his diverse array of educational materials and teaching methods.
Conclusion
Reuven Lerner’s insights and methodologies offer a roadmap for engineering managers seeking to elevate their teams’ skills and productivity. His blend of deep content, practical exercises, and personalized training programs makes him a sought-after trainer in the world of software engineering.
Listen to the full episode of The Engineering Manager Podcast for more insights from Reuven Lerner and to stay updated on the latest trends in engineering management.
Podcast Full Transcript
Steven Tedjamulia (00:01.069) Hello everyone and welcome to another exciting episode of the Engineering Manager podcast. I’m your host, Steven Tedjamulia, and today we have a special guest who’s going to share some valuable and incredible insights into the world of development training. Before we dive into that, don’t forget to subscribe to the Engineering Manager community on LinkedIn to stay up to date in the latest trends, tips, and strategies in engineering management. Also be sure to follow us on social media. Today I’m gonna be dropping a valuable article that Reuven wrote on the LinkedIn group. So now let’s get started with our guest. We have with us Reuven Lerner, a full-time Python trainer and seasoned expert in the field of software engineering. Reuven, welcome to our show.
Reuven (00:52.738) Thanks so much, Steve. Super happy to be here.
Steven Tedjamulia (00:57.333) We’re very excited to have you here, Reuben. Your background and experience in Python training and software engineering is truly impressive. To kick things off, can you tell our listeners a bit about your journey and how you came to become an expert in Python development and training?
Reuven (01:16.334) Sure, so basically I graduated from MIT’s computer to science department and started working doing web development. And almost immediately I was using Python and a number of other high level languages to develop software, especially, but not only web software. And I did that for a few years, then I opened up my own consulting firm. And so I was doing projects for people in a variety of different languages with a bunch of different technologies.
And what happened was these companies started to ask me not to do the projects myself, but rather to teach their staff how to do what I was doing. And that was my first taste of training. And so little by little, that sort of accelerated over the years until when I was working on my PhD dissertation, someone suggested that I do training for a training company where I live here in Israel. And that’s when I realized, wait, this cannot just be part of my consulting work.
This can be a full-time thing. I can do training all the time. And so basically for 10, 15 years, I’ve been doing only Python training and things related to Python. And I’m having a blast. I basically get to help people with their careers, help companies decrease their expenses, improve their profits, and have a lot of fun working with smart people all over the world.
Steven Tedjamulia (02:35.673) That’s a great journey and you have helped a lot of people. If you look at Reuven’s website and the quotes and talk to people taking this class, they’ve been really impacted by his training. So Reuven, let’s get into the topic of today. In your experience, why is effective and fast development training so crucial to engineering managers and their team? and that becomes the whole topic we’re gonna talk about and details into it. So why is it so important?
Reuven (03:06.246) Sure. Well, look, effective, so there are two parts to what you asked. Effective training means that they actually understand it. It’s so easy, especially nowadays, with all these videos out there and courses, for someone to, so to speak, take a course. But they’re not really taking a course, they’re basically watching some glorified YouTube channel and they go, uh-huh, sure, I understood that. But as soon as they turn that video off, they don’t really understand, they don’t have deep, true understanding. They haven’t… change their concept, conceptualization of it. Moreover, a lot of these courses talk about syntax. Where do you put a colon? Where do you put indentation? And that’s not the important thing. The important thing is the ideas. So effective training gives people the tools they need to actually do their job better, that when they’re faced with new problems, they’ll be able to solve them. And if they don’t know how to solve them, they’ll understand the documentation and what it’s talking about.
But that’s not enough because you can be very effective and take a year or two to train people. The key is to also do it quickly because at the end of the day, corporate training is taking place inside of a corporation where these people have real jobs, right? Their job is not to attend my classes, much as maybe it should be, right? But their job is to actually solve problems for the company. And so getting them into my course, in and out, as fast as possible with that effective training, that’s the key. And so I’ve tried over the years to sort of improve on both fronts. And so far so good.
Steven Tedjamulia (04:35.429) No, that’s great. Going above and beyond superficial, providing hands-on training, that is core to this article you were gonna write. Can you give us some examples of how you’ve done that in the past, kind of projects that you’ve gone, providing this deep training with hands-on experience?
Reuven (04:58.678) Well, I would say every course that I do includes the hands-on experience, every course. Like, I just don’t believe in doing training without exercises. On occasion, I’ll have clients who say to me, you know, we just don’t have time to actually do any practice in class. So we don’t wanna waste time. We just want you to give us that information and we’ll practice at our own time. And I tell them that’s ridiculous. I mean, I’m usually a little more polite about it than telling them to their face it’s ridiculous, but it is because true learning comes from trying, from making mistakes, from getting frustrated, from communicating with other people, whether it’s an instructor or someone else. So when I’m doing in-person training, I always try to have people pair program in solving problems, two people on one computer. And then they are forced to talk to one another and that crystallizes the ideas and it forced them to pay attention to what they’re doing more. I have courses that are only exercises that I don’t actually give formal lectures, but I come in the morning and I give them between four and seven exercises to do during the day. They work on them for say 45 minutes a piece, and then people present to the class how they solve these problems. And so again, speaking about it, trying it, getting frustrated, talking about it, all of that together really helps to deepen and crystallize and enhance the learning experience. And truth be told, it’s way more fun also.
Steven Tedjamulia (06:20.845) Oh, those strategies that you create by pairing people together foster great discussion and debate to help your participants. Can you, you mentioned also on in-person training. Could you elaborate a little bit about some of the advantages of this format and how it can add value versus just online? As people, as engineering managers may be debating, should I do this in person? and pay more or should we just do it online? Give them some information there.
Reuven (06:53.298) Yeah, this, look, the pandemic changed everything, right? The pandemic told everyone you can do everything on Zoom or similar services and this way people don’t have to be in the same room together and it’s fantastic. And there are definitely advantages, right? You can get people together from lots of different places and people don’t have computing times, it’s cheaper as you said. But bottom line is it’s not as effective. It’s not as effective because first of all, as humans, If we are in a room and if we are located in the same place as other people, we feel it, we experience it, we pay more attention. People will pay more attention to what I’m saying, they’ll pay more attention to what’s going on in the class, they’ll pay more attention to what their colleagues are saying as well. And I see all the time people who are in online classes, they turn off the camera, they put like, you know, my video in the corner, I’m not taking this personally, right, it’s just less effective. It also means that if they have a problem, they just call me over and I can come look at their computer. Whereas if they do that in Zoom or WebEx or something, then everyone sees their computer or the other screen and they’re maybe a little embarrassed about it. So people can be a little more forward because we can be a little more discreet about what’s going on. And let’s not discount the fact that if we’re doing in-person training, then we’re gonna have lunch together. And this gives us a chance to talk about things more and hash things through. So is it cheaper and easier to do online training? Yes. Is the online training better than nothing? Yes, but is it the best experience you can get? Absolutely, positively not.
Steven Tedjamulia (08:25.937) valuable insights helps engineering managers make a decision. So let’s shift a little bit into, now that they’ve decided on a format, what they wanna do, and let’s talk about the importance of personalization. How can engineering managers tailor their training and content to meet the unique needs and goals for each participant? What is your advice there?
Reuven (08:50.446) So first of all, it’s important to understand where everyone is coming from, what their knowledge level is. Sometimes, not always, but sometimes I’ll give people a little quiz, just sort of map out what they know before we even finalize the syllabus for a course. This is especially true when we’re doing advanced courses, less true when it’s intro, because intro courses we can sort of say, this is for people who are at a starter level. But if it’s an advanced course, then do people know this, do people know that, so we can map that out, and then I can go back to the managers and say, this is the range of people who are in the class, let’s try to make this really custom for you and for your people. We can also talk about what their needs are. There are companies where they need to have an emphasis on object oriented programming, where they need to have an emphasis on data analysis, where they have to have an emphasis on concurrency. And we can always sort of slide around the different topics and change them to make it appropriate for that company. At the end of the day, their people are not taking this course just for the general edification, although that’s nice. They’re taking this course because it will help the company to be more efficient and more effective. So giving them a generic course is just not going to be as useful as giving something that’s customized for their needs.
Steven Tedjamulia (10:03.385) That’s a fantastic part of things. Explain to us a little bit about a typical engagement so that engineering managers know as they’re going into, you know, needing training around Python. How, when should they consider you? What’s a typical engagement look like? And then is there post-training afterwards? Give us a little overview of your offering.
Reuven (10:29.838) Sure. So when should they be considering me? I think always. Like this should be the only thought they ever have while they’re awake or while they’re asleep. No, no, no. So basically, if they see that they are going to be using Python, and that could be in, right, because there are all sorts of different constellations of this. It could be that they have experienced developers who know other languages but are going to be needed to use Python now. It could be that they have people who already know Python and just need to know it better or know some libraries better. And it could be that they have people who have no coding background, but their jobs will be done much better if they know Python. So in all these cases, the first thing we need to do is establish who is this group that’s gonna be taking the class? What are the goals? What do they wanna learn? And as soon as you have an inkling of that, it’s worth reaching out because we can start to plan and think about what from my off-the-shelf courses will be appropriate and what from the custom stuff that you want. do I need to then develop and work on? And then we can say, okay, well, how long does this course need to be? What are the goals? What do you want people to learn? What is their schedule? So I have a whole bunch of clients where they love it. And this is especially true, obviously, when we’re doing in-person frontal training, where it’s gonna be several days in a row, right? Eight hour days together and training. But sometimes, and this is, again, really only possible if we’re doing it online, sometimes people have actual work to do, like I’m working with a trading company now. They cannot take off several days in a row. So we’re gonna be doing it before hours at 7 a.m. their time, for an hour and a half before the markets open, for an hour and a half each time over a course of a bunch of different weeks. This would not be possible if training were a one size fit all sort of thing. So the sooner you sort of have an inkling that, yeah, my people would really benefit and my company would benefit from people knowing something with Python. And by the way, knowing Python, that’s like one aspect of it. It’s a language, but what are you gonna do with it? And if you’re doing data stuff, that you’re gonna need something different than if you’re building servers, than if you’re doing well at web applications, right? So talking about this and talking with someone who’s done this for a while can help you to understand your different options and the different constraints as well.
Steven Tedjamulia (12:39.693) No, that’s excellent, providing a view. Can you go into the breadth of what you already have available that engineering managers take advantage of?
Reuven (12:52.014) Sure, so the most common courses, the most common basis for courses that I offer are Intro Python, and that’s not really an introduction for people new to programming. It’s an introduction to Python for experienced developers. I really need to rename it one of these days so people won’t think, oh, this is an intro. It’s an intro course that goes full speed. Then I have Advanced Python, which is basically for people who have at least a year of experience with Python. I have some one and two day courses on things like design patterns and object oriented programming, testing with PyTest. And then I have courses in pandas and numpy for data analysis. I have an intro to machine learning as well using scikit-learn. And then I have some of my favorite courses are what I call my practice workshops. This I mentioned a little bit earlier. So my Python practice workshop is, you know, four to eight different exercises. And I tailor them to the level of the group where we come and we do them. But I also have a pandas practice workshop where we talk about data analysis. And it’s just a day of throwing lots of problems at people. And after they solve the problem, after everyone gets a chance to solve the problem and talk about it, I then show my answer and I step people through the answer and the process. Because in so many ways, the important thing is not to get the answer. The important thing is to have the process for getting to that answer and to internalize that. So I try to model that. And of course, during these practice workshops, if people have questions, I can talk about those. If people don’t understand something, I can talk about those as well. I also have what I call micro courses. I have about 50 of these different topics that are 90 minutes long. I only do them online. And the idea is like a quick in and out on a particular topic. And that just, you know, where you need to spot sort of a bandaid on your knowledge as it were. I’m sure I’ve got to come up with a better metaphor for that. But the idea is we don’t need a full course, but people are interested in topic X. And it could be something as simple as strings. It could be something like inheritance in Python. It could be something more complex like async IO. And I’m always updating what I’m doing, always trying to sort of learn new topics and incorporate them into my training, both the larger courses and also the smaller ones.
Steven Tedjamulia (14:59.109) No, I appreciate for sharing that. Where can they go to find more information on these courses and stay up to date with things you’re doing?
Reuven (15:08.898) So my main website is at learner.co.il. That’s L-E-R-N-E-R.co.il. That’s like my main website. I produce three newsletters a week. So people who are interested in Python in general can get my better developers newsletter. That’s my biggest one by far. I have about 30,000 subscribers and there are talk about different aspects of Python. I have a newsletter with pandas problems based on current events. That’s called Bamboo Weekly. And then I have a third one, which is just for trainers, for people like me who do corporate training, because I do a lot of thinking about training and learning and teaching, and this is like a business, but also the pedagogical aspects of it. And that’s at trainerweekly.com. And if people don’t remember all of these or can’t find them, they’ll be in the show notes, I assume, but always feel free to reach out to me. I’m on social media. I’m pretty active there. I have a YouTube channel you can catch up, you can even see what I look like, see what’s going on there, and I’m constantly posting new videos about Python and pandas and the like too. What can I say? I enjoy helping people improve their skills. And so I try to do it in a variety of media.
Steven Tedjamulia (16:14.993) No, thanks for sharing that. Also for those thinking about taking the training but trying to justify the investment, how do you help a manager justify the ROI that he will do for this investment to his executives? What are some suggestions you’ve seen in the past?
Reuven (16:32.97) So at the end of the day, it comes down to a pretty simple calculation, truth be told. Let’s assume that I’m going to make your engineers 10% or 20% more effective thanks to the training. And that’s not a crazy number to throw out if people are coming from another language and using Python. But even if they’re already using Python, using it poorly, if they are searching on Google and searching on Stack Overflow to answer every question. and then they’re spending a day or two fidgeting with the code that they found and downloaded. It’s sort of like going to a foreign country and using a phrase book, as opposed to going to a foreign country and knowing the language, right? Like it’s just like a world of difference in terms of the effectivity. And so if I can improve their effectivity, effectiveness by 10 or 20%, think of that multiplied by a class of 20 people, how much money you will be saving in a year in your company from their salaries, because they’ll be doing so much more. And the training is a pittance compared to that. So just from a financial perspective, it’s really not an expense nearly so much as an investment, investment in the people and investment in the company.
Steven Tedjamulia (17:40.789) Oh, that’s excellent guidance to them, Ruben. I appreciate that. To wrap up, could you share any upcoming projects or initiatives you’re working on that’s gonna get the audience excited?
Reuven (17:51.89) So my second book with Manning, Panda’s Workout, is hopefully really soon going to come out. Right now it’s available in pre-release form at manning.com. And I’m glad that they have not yet sent out a HIIT squad to attack me for not getting it done yet. But that is a book of Panda’s exercises. It’s 200 exercises using real-world data in Panda’s. And the idea is that if you step through every exercise in the book, you will have a really nice, deep knowledge and understanding of pandas. It’s similar to my previous book with them, a Python workout, which is also 200 exercises in Python. And as you can tell, like I’m a big fan of exercises of practice to improve your fluency. So Panda’s workout is coming out soon, hopefully in print, already online with a pre-release. And that combined with Bamboo Weekly, combined with my mailing list, combined with teaching, I’ve heard it’s also a good idea to eat and sleep sometimes. So I’m gonna try working on that. and see my family too.
Steven Tedjamulia (18:53.369) No, we’re very excited for that release. Thanks for sharing that, Reuben. And thank you for joining us today, sharing your wealth of knowledge on development training. It’s a pleasure having you here at the Engineering Manager
Podcast. Reuven (19:07.734) My pleasure, thanks for having me on.
Steven Tedjamulia (19:11.801) Oh, thank you, and there you have it. Another insightful episode of the Engineering Manager podcast. Don’t forget to subscribe. This episode will be posted on YouTube and also on the LinkedIn Engineering Manager community. You’ll catch our next episode in More Valuable Insights. I guess tomorrow’s our next podcast. Until you keep learning, until then, keep learning more with your engineering teams. Thank you, everyone.