Tech lead was always my career goal...my reasoning was that I wanted to make more of a difference than I could as an individual developer. Meaning is something that is crucial to me...as someone who battles with extreme depression throughout the majority of his life, I am almost 100% certain I would have taken my own life by now if I didn't have software development as a challenge and a way to connect with people. On top of that, it paid enough that I could afford top-notch treatment for my condition and let me live a mostly productive life despite my mental disabilities.
I suppose I wanted to become a team lead to pass on the torch and help others become passionate about technology. I've tried to find meaning in my life in a lot of ways, many of them radical - like dropping out of college to become an EMT (didn't work out so well, major respect to everyone out there doing that job) but everything always draws me back to technology.
Next week I become a team lead at one of my previous employers. I have no idea what it's going to look like...from my understanding so far, a lot of the previous team either left or was promoted elsewhere and my boss trusts me enough to build a good team. I'm honored and terrified at the same time. I have a lot of learning to do, but I have had so many terrible supervisors and toxic management in the past that I have a pretty solid idea of what NOT to do, and I am hoping to grow from there.
Your book is on my reading list for this week, thank you!
Scott, this is an amazing story. Thanks so much for sharing. Please do reach out to me 1:1 to see if I can be of any help while you do this. Trying to build a whole tech lead community to back you up.
Your story reminds me of mine a bit, and I'm sure many others. Later this week I'm going to post something about how big a transition the tech lead step is, but I'm with you.
Writing software, as an individual contributor, is, all by itself, a great opportunity. But at some point lot of us want to reach further. Being a tech lead is usually the first onramp.
When I first reached for it, I was pretty mediocre because of many factors, confusing motivations being one of them. My work these days is to try to make it better.
Seriously reach out to me 1:1. Hopefully I can help!!!
When I was a tech lead I loved it. One important point about being a tech lead, you have to be a jack of all trades which requires alot of experience and knowledge. You being a good developer who knows a language really well will not do it. You have to be able to talk with all the other tech teams. You have to be able to see and understand the big picture.
It's a crazy role, huh, Kyle? Having been a manager putting people in tech lead roles as well as being a tech lead myself many times, it's a very fluid role.
Tell us more about what you loved about it? For me, my first experiences were, well, different.... Can't say I loved it!
Later, when I got to see incredible tech leads in action, I learned what worked...
I just loved being the guy in charge and responsible of putting the lego pieces together. I was a tech. lead for a city government. Every project was a big systems integration project. System A had to talk to System B, System B had to send data to System C in a weird format so that it could process it, so on and so on. A lot of responsibility is on you to make sure everything goes well.
Agreed. So how did you do it? Just stay really close to the team (I call it a tracking and adjusting behavior)? Or did you spend a lot of time upfront to define the vision (another one of the behaviors I outline in the book)? Both? Neither?
Staying really close to the teams.
Nice article, on point!
On my actual company, I'm the Back-End Team Leader and I've been the Tech Lead in a few projects. Some days I miss being just a developer, but other days I really like being the Team Leader / Tech Lead, specially when this happens: "Some days you are going to be blown away by how creative, forward thinking, and generally awesome your team is."
Thanks Luis!!! Glad you liked that point. Felt like I was putting myself out there a bit because I haven't heard other people say that too often.
Right now, I get to write a lot of code again, and in some ways it brings a different kind of satisfaction for me. You write the code, the tests turn green, and it feels like you actually did something.
On the other hand, the short term feedback loop isn't really there with people. Sometimes you have a hard conversation, and you get through it, but you don't see the results in terms of the project, the team, or the product for a while. It's so much more ambiguous than a green check mark on a unit test, which is kind of why I wrote the post.
I've been in a managerial position. It's endlessly torturous and comes with a set of problems that cannot be solved in the same manner you would a technical problem. Why on earth would someone want to take on solving human problems AND technical challenges is unimaginable to me. I became a software engineer precisely to be an individual contributor, there is no way I'm giving up the primary benefit to make a little more money, it sounds like an entirely selfless position.
Haha thanks Eugene 🤣 - I probably had similar experiences to you in the beginning too - that's why early in my career I bounced between tech lead and individual contributor (IC) roles quite a bit. Eventually I got to be "ok" in the role.
It wasn't until later, when I was managing other tech leads that I had the opportunity to learn to do it better.
Learning from them and reflecting on my own experiences, my hypothesis is that it's very possible to do both and do it successfully. But that doesn't mean EVERYONE SHOULD by any means!!
Thanks for sharing that point of view though. Absolutely valid and I'm glad you found a role you're happy with!!
I love being a tech lead. With any leadership position it comes with its ups and downs, but being able to help grow your team is an unbelievably rewarding experience.
You don't need to have a "lead" title in order to help people grow, however. In fact, there are plenty of leads out there that don't do that. Leading is about influencing people, and influence does not come with a title.
I will say that being given a position of authority in a company definitely helps, but it's not the end-all-be-all. That being said, I 100% agree with you Michael on the motivation factors for becoming a tech lead. Do it for the people, not for you.
💯 Allen!! So. Many. Great. Points!
Glad you're finding it rewarding. For me, I found it really hard when I started. I was a terribly mediocre tech lead until I started to figure out that the people piece of it was truly its own discipline to figure out (sounds absurd to say that, in retrospect!).
Also, totally agree that you don't need a formal tech "lead" title. Think you would agree that I feel like most tech leads are informally in the role or only in the role for a fleeting project.
Thanks again Allen!
I'm about to change jobs to become a tech lead for the first time in a couple of weeks, so it was interesting to read your timely article on this.
Fortunately my motivations are mostly in the second lot. I'm particularly excited about some new "not just technical challenges". Hopefully it goes well.
Your book looks helpful! Thanks.
Thanks Douglas! Relieved to hear that you identify with what I think are the right motivations. I think they'll pull you through the rough patches.
Please feel free to reach out to me if you hit a hard patch!
I briefly mentioned in the post that this is a bigger transition in our individual careers that people talk about so want to be able to help you out if you need it!!!
Great article Michael, some great food for thought for anybody looking to move into a tech lead role. Even for those in one now. Evaluating the "why" of wanting something I think is hugely important and something I've wrestled with throughout my time as a software developer.
The why question is a theme that comes up for a lot of the stuff I talk about, but sometimes we risk turning into a Whyer (not a whiner or a winer, but a whyer).
I think once you've settle the why question, then it's time to EXECUTE!
Of course, once you start executing, makes sense to keep recalibrating to make you what you're getting in your execution continues to align with your WHY but then KEEP EXECUTING!
Thanks again for the thoughtful comment Jason!
I'm a chemical engineering student but I'm really curious in studying technology. Maybe it's one of my goals. I'm chemical engineering student so that I have really limited knowledge about codes. What can you suggest to start to study about programming? My main desire is to program machines.
Thanks for the reply! Shoot... if you're still a student, I'd say spend some time to explore lots of different technologies, languages, applications. Programming is a huge world and there's something interesting about almost every aspect of it. Find the one you like most!! Good luck :-)
I can't really say I was seeking or wanting to be a tech lead but it is happening. I'm leading the software testing side and historically every thing was run loan wolf.
I agree with all your points. And it just occurred to me just how important it is I use a platform like this to create exposure to my thoughts outside the office.
For me I wasn't necessarily aiming to became tech lead from the beginning, but it happened because of staying at the same company for a very, very long time, and their development team and IT department is a very small team. Other developers came and went. I have always been very determined to continually grow as a developer. But when you stay at the same place long enough, you keep learning more and more about the big picture of the company, and it is only natural to develop a greater and greater interest in the way you would like to see things change. So my managers kept giving me more and more responsibility, until all the other developers ended up quiting in a single month. Then I started recommending people to hire, so the company hired them and told me it was my team. Since then it has been a crazy ride get them trained, and figure out how to pick up the pieces the other developers left. So much technical debt had built up over the years that all we have time for is just to clean it up. It turned out one of our apps was not even getting its' repository committed to regularly, and they did a full release to the Play Store without even leaving a commit of that code! We have been working like crazy just to get it into a releasable and relatively unbuggy state, but we are finally almost ready for a release. I know it will be the best release the app has had in a long time, with a ton of bug fixes, speed improvements, and under the hood refactorings.
This is an awesome article there are times that I want to become a tech lead in the future if I were to consider in jumping towards it.
Awesome Max. Being a tech lead is awesome. In most cases you get to stay an individual contributor if you don't want to go the full people manager route; or, if you do, it sets you up nicely for it.
That said, someone in your organization may informally "tap" you to be a tech lead. It might feel kind of easy, informal, and you might miss that it's actually a big moment in your career. I'll be posting some more about that transition soon.
Good luck to you buddy!
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.