For a lot of developers the team leader position is a coveted one, it is as if when you become team leader the business is acknowledging you and your skills, but unfortunately for a lot of developers that reach this position it is not always what it seems.
From my experience the team leader role will usually fall into one of the 3 following categories:
- Team leader as Development manager
- “Normal” Team leader
- Team leader as technical lead/architect
Lets take a quick look at what each of the categories entails.
Types of team leader
Team Leader as Development Manager
This type of role is often sold as the next type, “Normal” Team Leader, but due to organisational pressures (expectations?) you will find no time available to do any coding, instead you will be pulled into endless meetings, have to deal with process, policy, HR, etc.
If you decide you want to take a more managerial career path this role will suit you down to the ground, with communication often being the main skill you will need as you will most likely be expected to act as translator to the business in relation to software development and how it benefits/impacts the business.
On the other hand for those developers that love to code this is the worst type of role they could end up in and will quickly destroy their morale and crush their soul.
“Normal” Team Leader
The “normal” team leader is where you are told that the role is 50-50 with half your time being spent doing managerial tasks and the other half coding.
This is often seen as a good compromise by developers as they go into the role expecting to be able to keep hands on coding but accepting the need to perform management related work as a necessary evil.
Frequently though this role turns out to be a little unbalanced in relation to the amount of “management” that is needed and it may become 70-30 or even 80-20 in relation to managerial work vs coding.
Team leader as technical lead/architect
The nirvana of developer jobs, all of the prestige, all the authority but no management related work.
This type of role with near 100% coding (not 100% as we all end up in meeting of one sort or another) is, in my experience, very rare.
A technical lead role is often an additional responsibility that is given to a senior developer in relation to a project, not a promotion with appropriate salary and benefits. An architect role usually needs the person to be spending a lot of their time talking to people either in a technical or business capacity which will reduce the amount of time they can code (but I firmly believe that architects should code with the team).
What’s my experience?
In my career I have experienced both the “Normal” team leader role and the Team leader as Development manager and it was my experience with the latter role that prompted me to take a step back from the managerial career path. I found that to keep my enthusiasm and morale I had to do a lot more coding in my own time which was to me a clear indicator of what I actually enjoyed doing.
Do you recognise your role?
Have I captured your role in the 3 types above or do you have a completely different role? If you have a different type please leave a comment with the details.
So, what type of team leader are you?