Is Tech Lead the WORST Job For Most Programmers?

Video Statistics and Information

Video
Captions Word Cloud
Reddit Comments
Captions
Under Pressure management will often promote people strong individual contributors to Tech lead positions just out of fear of losing them when they're really not a good fit at all for being a tech lead they won't really explain to the person okay do you understand that if you get this promotion you're going to be doing less coding you're going to be needing to lead people and learn about leadership you're going to need to take responsibility for your team members and defend them do you really want to do that because that's what this takes to be successful at this job and dirty little secret I'll tell you is over the 25 years I've been in this industry I've worked with a lot of managers who don't even realize that's [Music] important just the name Tech lead has this kind of prestigious ring to it if you've ever been on a project with a tech lead you might think that's the job to go for but I've been on over 40 software projects over my career and about 5 years in I became a tech lead and so I've been doing this for about 20 years leading software projects and you might be surprised to know that it's actually the worst job for most programmers so what does a good Tech lead actually do well a lot of people think a variety of things but let me just debunk some things first of all many people think a good Tech lead is the smartest person on the team they need to know the most things about the technology they know deep absolutely every detail about whatever you know coding or QA or devops types of processes they're leading as as the tech lead but I've learned in many years of doing this that if you're actually a really good Tech lead you can't know the depth of everything on the project depending on the side size of project so if you're on a project and and you're thinking about becoming a tech lead it might actually take a little bit of stress off you to know you don't actually have to be the smartest person on the team to be a really good candidate for one the second thing I often hear is that the person has to write the best code I mean this is specifically to if you're the tech lead on a Programming type of a position or something like that but often I've found the best tech leads will defer certain aspects of what's being built to their team members that they know actually better than them at various aspects of coding you don't actually have to be the best developer on the project now management and the company may have some different views of this but I'm going to talk to you a little bit today about how if you base whether you want to pursue a tech lead role or not based on what companies tell you versus what you actually need to do to be effective in the job that's a dangerous thing to do and that's why I'm making this video today to try to help you out the other thing many people think a tech lead has to do is have the final say on all the technology decisions now on the surface this is actually true uh on most projects I've been on there may be some disagreement amongst the team members on what direction to go and ultimately if there's a tie or nobody wants to come to consensus the tech lead often does have to basically make a final decision but I'm going to talk about in a moment here why if you look at that as that's a normal part of the job and that it's basically your right to make all the final technology decisions you'll probably piss off your team and be a really ineffective Tech lead also many people think that the tech lead makes the most money on the team and on some projects that's true but on a significant project or effort there are often Specialists on the team who know particular aspects of security some integration technology and some of those team members who aren't leading the project or the tech lead can actually be being paid more than the tech lead and finally the last thing that I unfortunately see a lot of people believe about being a tech lead is that the way that they motivate people is by keeping them up to their high standards I'm going to talk later in the video about some of the toxic tech leads I've run into over my career who lead this way but yes it's important if you're going to be the lead on a project to probably have pretty St strong skills and pretty strong ability to get done what you're leading but just being good at it is not actually motivating to people there's a lot of other things that you need to do to motivate them to get better at their work and some of the worst tech leads I've ever worked with have very little concern for helping their team members they just think automatically because of the fact that they're maybe more experienced or just because they have the title that everybody else is going to automatically just live up to their standards and improve their [Music] skills so what should a tech lead really do well the number one thing I think that's really important if you're going to consider becoming a tech lead or you're looking at your existing team Tech lead and trying to figure out are they really suited for this role is they should be helping people get better if you're leading a project and you have three other developers on your team even a small-sized project if you as the tech lead or again your cooworker who's the tech lead only care about how good the tech lead is and not about the rest of the team members only 1/4th of that total Workforce you and the other three people are really operating at a high level of Effectiveness and if you actually are helping all your team members get better at their ability to do again whatever it is you're leading them on QA ux you know development devops product management whatever it is you're improving everybody's ability to contribute and that's actually a much more significant impact on the overall project so a really good Tech lead understands that they make a bigger impact on the success of the project by leveling up everybody than just being really good themselves the second thing a really good Tech lead needs to do is defend their team when they make mistakes if you're on a project with a tech lead and somebody makes a mistake yes ultimately it's important to know what the root cause is but I've worked with some tech leads before that are just very quick to blame their team members and really if you want to be a good Tech lead or you you're on a project again you're looking at your Tech lead and wondering how good of a job are they doing are they really cut out for this they should be one of the first people on the team to be coming to your defense when you make a mistake to management or scrum Masters or vendors or really anybody who they have other relationships with that they might have commitments with now ultimately as a tech lead yes you do have to be able to communicate that maybe it was somebody's mistake that they made but the words that you use you can you can just basically blame some and just yeah it was their fault or you can say you know I know they were working really hard on this this is actually a really complicated part of the architecture or a feature we're building and it was a pretty honest mistake I could see almost anybody make this you know you can basically couch the way that you're describing the the mistake that was made in a way that still shows confidence in your team members conversely the other thing that's really important about being an effective Tech lead is you need to be able to congratulate people publicly when they do a good job if you get promoted or you are in a tech lead position it's very tempting to in scrum meetings standup meetings executive meetings you know just amongst your team show off all the stuff you're getting done and get a lot of Kudos and I know when you're an individual contributor and you're not in a leadership position there's a temptation to focus on that because you know when we accomplish things it's a meritocracy right when you work in a company you want them to see the good work that you're doing but if you're shifting into a tech lead position you're leading people you need to be able to actually compliment your team members and publicly let people know you know this person's doing a really good job or we have this big issue with this project this this problem you know that we were debugging for let's say weeks and you know John or Mary or whoever finally got us through this [Applause] issue the other thing that's super important to do if you're considering becoming a tech lead or you're looking at your Tech lead and wondering if they're doing a good job is being really good at communicating with the team to get buyin for technology decisions this is the opposite of tech leads I've seen that are very ineffective they will often go off on their own and do a bunch of research and try to pick the right you know npm package or system to integrate with or some devops technology and they'll just bring it to the team and here you go here's the best technology and while I think researching on your own is super valuable obviously we can't always have every member of the team you know researching every technology the approach that you use when you bring that new technology to your team if you say it in a way where you're letting people know hey I found this really cool thing let's get together let's look at it I really want your feedback what are some of the concerns you have what are some of the problems you see with this being a really good Tech lead and inspiring people you know if you show them that that's the way that you bring new technology and new patterns and new libraries into the team you're modeling for everybody else on your team what you ultimately want them to do you don't want them to just go off pick a technology start using it in the project and nobody knows about it or had any say in it and the last thing that a really great Tech lead will often do is they will help their team through tough situations some of the worst tech leads I've worked with uh when the going gets tough they just kind of shut down and leave everybody defend to themselves and that's not leadership I'm sorry it's not you may have worked with many tech leads over your project or you're one yourself and you think that's the way to lead people uh especially if you get into a much larger company or you just get into a higher level role at a company you can't do that you know now does this mean that when a mistake is made you need to work overtime and you know fix every problem that your team made no of course not but it does mean when things get difficult having a pretty significant portion of time available as part of your schedule of the work that you're on the hook for to encourage your team members meet with them sit with them pair with them you know if you're using slack DM them and talk to them personally and find out you know how are they feeling what's bothering them are they concerned you know it's the same thing that you'd hope your management would be asking you about the overall product if you're having concerns and you're and you're a tech lead you know you want to show the same concern for your team members when you find the projects in a tight spot because if people feel like nobody's supporting them one of the first things they'll do is they will shut down and then you're depending on you know again four other developers 10 other developers however many people you're leading to be making progress on their features and if there's already time crunch or people are already flipping out you're only making things worse if you don't help them herey are you getting to the that point in your career where you're starting to wonder did I choose the right job should I be doing something maybe a little bit different maybe you're considering becoming an entrepreneur or getting into consulting or just shifting into like a leadership role or maybe working in slightly different technology well I've collected a lot of really great information about the top 25 job roles that most people work in Tech and I've got access for you for free via a link in the description it's called techr pedia and it's basically a curated set of information that I've gathered to try to help you figure out if you're still in the right job role or maybe you need to make a little bit of a change I've collected information like how much you make in areas across the world what's the typical career progression like what kind of education or training might you need and I've also got links to books resources and key people that already have that job that you could learn from so if you want click the link in the description and check it out so let me talk real quick with you about something a lot of people don't talk about that I think's really important about the tech lead role and how it sometimes goes wrong and that's how do bad tech leads get promoted if you've been on a project with a bad Tech lead I'm sure you've often wondered how does this person even get into this role in the first place they're just horrible well let me tell you the story of how I've seen this happened many times on projects and this is something you can look out for yourself if there's something somebody on a project and they're a really strong individual contributor let's say they're hot shot coder or just amazing at devops or ux or you know again any software development discipline when they're on the project they've demonstrated that they're good and they're probably in their you know review with their manager however often it is per year and they're trying to show the accomplishments they've made to try to get a promotion or try to make more money and at some point you reach a certain level as a programmer or an individual contri contributor where a natural potential direction to go is to get promoted to a tech lead and a lot of people want that title but they don't really know what the job means again that's why I made this video and if a company really values that person enough let's say it's somebody who knows the code better than everybody else on the project if they feel like that person's a Flight Risk meaning they're going to quit and leave the company if they don't get this promotion under pressure manag will often promote people strong individual contributors to Tech lead positions just out of fear of losing them when they're really not a good fit at all for being a tech lead they won't really explain to the person okay do you understand that if you get this promotion you're going to be doing less coding you're going to be needing to lead people and learn about leadership you're going to need to take responsibility for your team members and defend them do you really want to do that because that's what this takes to be successful at this job and dirty little secret I'll tell you is over the 25 years I've been in this industry I've worked with a lot of managers who don't even realize that's important as part of being a tech lead they think being a strong Tech lead is just again the the best developer on the team which kind of blows my mind because if they're in middle management I'm sure they've realized I'd hope that just leadership skills are important but if you ever see this happen just remember you know if you see someone in a lead position and you're wondering how did they get there sometimes the way they got there was not because they actually wanted to lead they actually even understood what leadership meant it's simply because they had some leverage over the company and they pushed them to give them the promotion and now they're in this role I would just recommend to you don't ever do that please uh not only will you piss off your team but you'll be really ineffective and people will hate working under you so if you're thinking about being a tech lead do some of the things I'm just about to tell you which is going to help you actually be an effective Tech lead uh if if you're considering moving into [Music] it so if you just heard everything I said and you're not running for the hills and you're like that sounds like a great job I want to be a tech lead actually the way you're describing it Jamie that makes a lot of sense I want to do it you know what do you need to do today to put yourself in a good position to become a tech lead well here's a couple quick tips the first thing you can do is practice defending your teammates even if you are you know parallel with a bunch of other developers and you've got a tech lead when one of your other team members makes a mistake or they need help or they get behind and you're in a scrum meeting or you're just talking on slack or you're just you know together in some sort of work session or your pair programming try s you know defending that person and saying good things about the good work they're doing to help kind of soften the blow of some struggles they might be have having if you do this management will notice the tech lead will notice and sometimes the tech lead will start to question wait a minute why aren't I doing that if they're not doing it already now again your demonstration can't force other people to change but I know when I was earlier in my career and you've heard about this on other videos earlier in the channel I was a very dysfunctional and poor leader the first 10 years of my career in software I Was An Architect too early and it went to my head but I didn't do that and so you know often I would not get support from people uh you may actually be really surprised how it changes the attitude of the tech lead the team everybody towards you personally when they see okay this person's not just greedy out for themselves only cares about their own results they actually care about the team and hello leadership that's what it's all about if you only care about yourself and your own progress you're the worst person to ever be a tech lead and and that was much of what if I'm perfectly honest with you as embarrassing as it is to say how I looked at leading people when I started out I made a lot of stupid mistakes you can also practice publicly congratulating your teammates whether you got to post something in slack to remind people about something that somebody just did where they broke through an issue that people were stuck on if somebody's had to work overtime and we all hate overtime and I wish it was never needed but sometimes it is you know congratulate that person thank that person now I've talked about in other videos and I think you know I'm not a fan of firefighting meaning like there's problems on the project and people just work all kinds of overtime and then they're congratulated all the time because that tends to build a culture of people being rewarded for an unhealthy work life balance and hello H this channel is called healthy software developer you know that I'm I'm trying to help you not do that but still if people go above and beyond if they have to sacrifice personal time if they have to go through a really difficult challenge you know if they have to kind of swallow their pride and approach something a different way that they really wanted to do a different way letting other people know that you see that and you appreciate that it's just going to build strength on the team and they're going to look at you as a leader whether you have the role yet the actual tit of tech lead or not another thing you can do that I see very few tech leads do at least in the tech lead role but some of them do is read books on leadership there are tons of really simple great books on leadership out there they're too num numerous to name you know from confronting people in difficult conversations to you know making sure people have authentic relationships you know dealing with dysfunctional relationships uh getting rid of politics you know all the things that that we run into that often make it hard for just people to work together and to and to lead people there's so many books at this point um in in in fact in some ways I'd say if you're going to follow this tip I'm giving you just be careful don't read too many books pick like maybe one maybe two read them and then read them over and over again and pick a few aspects of the book and put them into practice you know I think there's a big problem online today where everybody uses learning kind of as procrastination you know they're they're learning they understanding the concept but they don't actually put it into practice so you got to be a little bit careful not to go too far down the road but you know reading some books on leadership and then practicing applying those is is an awesome thing to get you ready for being a great Tech lead or if you're one already just help you be more effective another thing you really should do if you're Tech lead is pair with your teammates sit with your teammates if it's over Zoom you know pair Zoom program with your teammates one of the big dysfunction on software development projects to this day is people get together for a meeting talk about what they're going to do and then they go separately code and they kind of asynchronously communicate via slack and the problem with that is if you're trying trying to lead people they're not necessarily going to reach out to you unless they feel really comfortable so you have to go to them so any time you can spend with your teammates actually working side by side with them again if in person's better of course but you know if it has to be remote you can still totally do it you just got to make sure it happens you know you're going to find out things about that person you don't know you're going to strengthen the relationship and they're going to actually see you as a leader again you don't even have to be a tech lead to do this this has this is just something that you choose to do on your own because you want to learn how to do it so that you can effectively be a tech lead if you're given the option to get that kind of a promotion or that kind of title at some point and the last thing that I'd really encourage you to do if you're considering being a tech lead is learn more about the business of the company you're working for if you're a tech lead one of the things you're going to probably experience if you're like me is you get pulled into a lot more meetings you get asked a lot more questions about the product that you're working on If You're Going to Be an Effective Tech lead you're going to be talking more with management you're going to be talking more with business people hopefully you even get a chance to talk to customers so even though you're deep in the technology and you're the tech lead anything you can do to really understand how does the business make its money you know what kind of people go out there and sell the product how do they Market it you know what are their costs everything around the business structure it's Market you know you don't have to be an expert obviously you're the tech lead you're not the product owner necessarily or you know business development for the company but it's going to really help you when you have discussions with people that are a little less technical you're going to be able to speak in their language you're going to be able to translate from this geeky technology thing that you're working on and your team's working on to exactly a super common easy to understand business term that the person you're talking to knows are you a tech lead out there already do you agree with what I'm sharing today if not do you have a tech lead on your project do you think they're doing a good job at some of these things do you think they even know that these are important or not leave me some comments until next time thanks [Music] [Music] [Applause] [Music] [Music] h [Music] [Music] n
Info
Channel: Healthy Software Developer
Views: 175,777
Rating: undefined out of 5
Keywords: techlead, tech lead, tech, lead, technical lead, technical leadership, software development lead, software engineering lead, software development leader, software engineering leader, software development leadership, software engineering leadership, leadership, software development, software engineering, software developer, software engineer, tech lead role, technical leadership role, lead software developer, lead software engineer, lead developer, lead engineer
Id: 0EvRSD1-jII
Channel Id: undefined
Length: 24min 29sec (1469 seconds)
Published: Mon Oct 16 2023
Related Videos
Note
Please note that this website is currently a work in progress! Lots of interesting data and statistics to come.