You have a bunch of developers? You need a team lead. Where do you get one? It’s not like you ask a young person what he or she wants to become and the person says I want to become a team lead!
. Never heard about that scenario. So where do you get your new team lead from? Normally a lead gets hired from within the team itself. I’ve seen this: A developer, mainly a good one, maybe a senior, gets bored with his/her work. So the dev anounces his/her leave of the company. Someone cries out loud No. You can’t! We need you. You’re a valuably asset to our company. We’ll find someting else for you. … What about becoming a team lead? We could split this or that team and you’ll become the lead. Is that something for you?
Of course it is! Developers are people. People like to be petted, like to have fame – and money. So the dev agrees on becoming a team lead. It’s new, so it’s exactly what a dev wants: fresh input, a new toy. The first time gets a little bit bumpy. The dev has to learn a new task, has to find the meaning of this new job. But the company will help out. Here a little workshop about leadership, there a mentoring with an experienced lead. Voilá, the new leader is born.
Except for — we’ve just promoted a good developer to become a team lead. Emphasis on the good developer. That’s why the company got nervous and wanted to keep the dev in the first place. But every good developer is still a developer. So our freshly promoted team lead realizes after a few month, that „leading“ isn’t what he/she wants. Dealing with people, their needs, mentoring them, helping them, doing 1on1s, doing annual performance reviews, getting your hands on information and filtering them, and all the organizing … oh, the organizing. All of a sudden the dev realizes that he/she doesn’t want to be a leader anymore. He or she really just wants to develop, dive deep into code, find solutions for pesky tasks and complicated issues. But admitting that the leader job isn’t the right thing? That would be a loss of face. So he/she stays in this position and makes a bad job.
This is a recurring pattern. I’ve seens this many times. So the company will end up with unmotivated, bad team leads that really just want to develop code instead of leading people. And at some point they start to code again. Which is bad in two ways: 1.) He/she is not doing his/her job! 2.) The company sees a leader who is also coding. So the whole leadership job doesn’t seem to be too difficult, isn’t it? In the end we see that the lead does have a lot of time for leading and coding as well. Hurray!
Wrong. Leading a team is a fulltime job. It’s not something you’re doing „on the side“ – even if it seems like that’s what the (bad) leaders are doing. This view on the role of a team lead results in job ads where it says „We’re looking for a team lead – followed by a list of dutys – that also is doing about 80% of his/her time coding stuff.“ That degrades the job as a team lead to something you’re doing „by the way“. And that’s wrong. These companies are looking for just another developer who can do „leading stuff“ as well. But not too much please. — In my opinion they don’t get what a team lead’s job really means. Or they really don’t want too much leadership.
When I became a team lead, my boss – who has been a good developer, but a shitty people’s person – was of that kind of „leader“ who actually wanted to code. And he wanted me to do the same. But only because he did a bad job didn’t mean I had to do the same. Well … in his little world I should have. But I refused.
I only once heard about a boss, where he told a developer who wanted to leave, but then she got offered a job as a team leader, that she now has a new job — and it’s not coding anymore. Her boss addeded: When you feel the urge to code, you will realize that you’re ‚behind‘ your team. So you will start to ask questions – and that’s the moment when you become an impediment.
If only more bosses and more companies would realize this …
So hiring from within the company is a tricky business on the one hand. On the other hand it’s often not clear what a team lead is doing, so companies are looking for a „wonder boy/girl“ that can do everything at once: leading and coding. It is advantageous to know the matter of coding, but it’s not like the lead has do be 100% in the loop and has to know the latest hot shit. That’s the job of the developer.