My tech lead is an idiot
His code is terrible, and he’s intuitions are usually super wrong.
And to top it off, he is not very productive — our junior engineers are lapping him on tickets closed.
Yet this guy outranks most our team by two levels. But my manager is not very technical, so he can’t detect his BS (and he is somewhat of an idiot himself).
But this guy is very gregarious and extroverted — the business folks like him.
I am super annoyed because I have to fix this guys bugs, and ACTUALLY do the technical leading myself — yet I get no credit. I’m ready to quit this job or make some kind of lateral move to another team. What should I do?
43 comments
[ 3.7 ms ] story [ 102 ms ] threadInteresting but how does promoting such employee limit the damage (instead of causing more damage to the team)?
Tech leads have responsibilities that junior engineers don't have, such as architectural design, code review, mentoring junior developers, meeting with management and other groups, etc. Thus, they might spend less time on programming than junior developers and close fewer tickets. They might also be working on more complex tickets that take longer to close. (Of course, your lead might still be a lousy developer, but counting closed tickets is not a good measure of his productivity.)
> I am super annoyed because I have to fix this guys bugs, and ACTUALLY do the technical leading myself — yet I get no credit. I’m ready to quit this job or make some kind of lateral move to another team. What should I do?
Look for a new job, either on another team or at a different company. When asked why you're looking for a new job, definitely don't say your tech lead is an idiot. Talk about how you're looking for an opportunity grow your career and take on more responsibility.
I’m curious to know why you recommend this. The poster should perhaps not use those same words, but isn’t it worthwhile giving honest feedback?
Any good interviewer will figure this out if it's mentioned.
Then they will know the poster doesn't know as much as they think they do about the job of a tech lead, and that they jump to damning conclusions from dubious judgement. This correlates with "this person may be challenging to work with", which matters a lot.
They might still get the job, but it's not an advantage.
Instead, why not start a constructive discussion with the interviewer about how they found the way work was done disappointing at the last job and would like to know how things are performed in the new one, or if going for a lead job, how they envisage going about the lead role.
I've avoided saying anything about whether the OP is right about whether their tech lead is an idiot.
The only conclusion about the OP I see is "The poster thinks the tech lead is in idiot partly based on the fact the tech lead doesn't close as many tickets as juniors."
I think that's a simple implication from the OP writing "he is not very productive — our junior engineers are lapping him on tickets closed".
All the rest of my comment is about how an interviewer might likely think if that were said in the manner discussed; it's not about the OP.
1. That the OP doesn't know as much as they think they do about the job of a tech lead. 2. That the OP is jumping to damning conclusions from dubious judgement. 3. That #1 and #2 correlates with being "challenging to work with."
#1-3 are about how the interviewer will likely think if the discussed remark is said in an interview; they are not my conclusions about the OP.
It would have been more accurate if I'd stated that was a risk being taken by the OP in the interview rather than a certainty. Though I expect that would have made the point less clear to most readers.
#3 correlates with #2 (not #1), and this relation is not specific to the OP.
#2 may not be true of the OP, but an interviewer who thinks it based on things said in the interview, is likely to think #3 follows.
This is a risk the OP is advised not to take if they are trying to make a favourable impression.
You can still be honest without getting personal: say that you felt your work wasn't recognized or growth opportunities were lacking, etc. Those could be red flags too, but they at least give the interviewer some signal on your personality/expectations without conflating overtly negative interpersonal issues which really can only make you look bad.
This is not something athletes have to deal with, they can focus on improving personal performance and trust that it'll lead to an objective result (winning a race or game).
could it be that your tech lead is stepping up to fix the mistakes of your manager? sounds to me like that guy might be the buffer of the team. the person that catches the shit the business folks fling at the team to allow the rest of the team to get some work done. Of course this impacts his "real" position as a tech lead.
its natural that the second in command (sounds like thats you) steps up to fill the resulting void and take over tasks. maybe you should talk to your techlead. ask (not accuse) him whats up with your observations. communication is key in those situations.
This is true regardless of if your tech lead is an idiot or a genius although you should include that as one of the criteria by which you evaluate other offers.
You should also calm down about this and not take it personally. You're using your skills and talents to put food on the table. Your tech lead is using his. His manager is using his. They're not out to personally screw you. You do get credit. It's called money and it arrives in your bank account every two weeks or so. If you don't think the credit is proportional to what you bring to the table see the start of this comment.
In my more sober moments I like to consider the smallness of the entire enterprise of my employer. Yes, everyone around me sucks but what other than my sanity is being hurt by the stupidity of it all? Nothing, really.
If that doesn't work (it doesn't for me), think: "I'm being paid to smile and nod when fed horseshit."
Your options are to play it (to varying degrees) or to move to a place where there's less of it. But make no mistake, there's always some of it; the person who talks to a lot of people and make connections and is likeable will have an advantage (maybe rightfully so).
You don't need to be extroverted to play the game, just takes practice like everything else.
I wouldn’t follow a non-technical manager if I have a choice. I tried it once, it’s a shitty experience. It’s hard to build trust between us. He simply didn’t trust/understand what I said. There were always a pair of eyes watching me. The conversation and management overhead is very high.
I probably wouldn’t hire them if I were the boss. They don’t add value to the project much.
Second, you have my sympathy. I was in a team where I was doing a lot of the technical work and leadership. The TL didn't come up with designs, didn't mentor anyone, and talked behind other engineer's backs. I have no problem with the fact that he didn't write much code, but it was very frustrating that he couldn't explain to me why he disagreed with my designs. In one instance, I had met with the TL multiple times to make sure he and I were on the same page, held several team-wide design reviews in the previous month where the TL attended, and got approval from all the other engineers on the team to begin my work. My manager's feedback to me was, 1) it was my responsibility to make the TL understand and 2) I needed to work on "buying consensus" with the team. To say the least, I started looking for a job with better career opportunities.
I wasn't the only person who felt the way I did; the person who took my place after I left the team felt the same way. I later found out that the TL got promoted (for what, I have no idea, but it's probably because he played the politics well).
This stuff happens.
You can't do much about fixing your team situation, but you can certainly look to move to another team where there are better opportunities to grow and be noticed. Also, take some time to observe how he plays politics. Some of it you might agree with (and it may be useful to you in the future), and some of it you might not agree with. My TL was very good at praising people he perceived as higher ranking than him, and he would somehow talk to them in such a way that they would basically spell out designs for him, so he was "never wrong" about how he did things. You'll find that the higher you go up, it's not just about your technical abilities anymore, but how you convince people about the right decisions to make.
sounds like he is quite brilliant after all
I'm not saying your lead isn't an idiot. I just wanted to give another viewpoint on why "tickets closed" is a terrible metric to apply to a tech lead. If you're fixing tons of bugs and closing lots of tickets you're probably not tech leading as much as you think you are.
Being tech lead isn't about being a productive coder or being the _best_ coder. It's not even about knowing more about coding than the others on your team. It's about eliminating the technical roadblocks for your team by answering questions helpfully and making good decisions about the direction to move the codebase, and having meetings and discussions about the future of the codebase. All of that takes a ton of time.
I’d ask you the same question: do you feel you’re overall benefiting from the job you’re in? If not, and you’re able to, it might be good to look for other work. You might find satisfaction, and someone else might be a better fit for working with this lead of yours.
One thing I’m aware of is that while I don’t always agree with my current lead, I know that he’s shielding me from incompetence from other areas of the team (and there are plenty of incompetent people on any org!) to help me be productive. Consider if that’s true for you too; if not than I think it’ll be easier to leave than you might be considering.
What are you doing there? Go work somewhere else and quit this unprofessional attitude.
Try not to get discouraged when the same thing happens 6 months into your new job; just repeat the process above and hope that you're wiser / luckier with your selection this time around.