Ask any up and coming developer what they would like to do in the next year or so and you'll invariably hear,
I'd like to become a Development Team Leader
Hopefully most will have actually considered the change of role and be looking for new challenges and ways to contribute more to their chosen profession. However, for some this is an automatic response to a question that is particularly difficult to answer in an industry with no clear career path. For others it's simply a way to move up the pay scale.
Before you start talking to your manager or applying for your next job it's worth considering what you're getting yourself into. Depending on where you work there will be different definitions of a Development Team Leader (DTL). To put this post in perspective this is my interpretation,
A Development Team Leader is someone who owns the technical delivery of a solution. They need to understand the business drivers behind the project and be able to lead a team of Developers to realise these drivers in working software.They are (IMHO) the central player in a project team and need to maintain excellent communication with all members of the team from Client to Developers and everyone in between.
I tend to distinguish between what I call a Senior Developer (SD) and a DTL. A SD is someone who still does the tasks of a developer but does them really well and has lots of experience. They don't tend to have the added responsibilities of a DTL. DTL's often (but not necessarily) have a SD background.
Assuming you're a developer this is what I reckon your job entails.
Let's face it the life of your average developer is focused around cutting code. Sure you might have daily Scrums or other team meetings to attend but your main focus is writing software. And you love it!
When you become a DTL you work balance is up for a bit of a change.
Other than the coding slice don't place to much attention on the relative weights of the pie slices - suffice to say you won't be zoning out for 8 hours a day to your favourite tunes - you're the one that gets interrupted, you're the one putting out the fires and making sure the wheels are oiled. Your head is on the line if the solution doesn't meet expectations or is delivered late. You have some responsibilities and influence now.
- Coding - don't worry, you still get to practice your craft but just not as much as you used to. There are now lots of other things that you need to be involved in too.
- Documentation - even with the increasing popularity of Agile methodologies and a move away from excessive documentation there are still times when (technical) documentation is necessary - and guess what? You will be first in line to do it.
- Meetings - if you thought you were in lots of meetings as a developer then you ain't seen nothing yet. Depending on the size of the project you are involved in you will be the main participant in a wide variety of meetings. Whether it's a meeting with the client, the delivery team, the PM, you are the one with the most knowledge of both the requirements and the implementation of the solution.
- Communications - beyond official meetings you will also be heavily involved with communicating to others via emails, issue tracking software, the phone and face to face catch ups on progress. It's a bit of a cliche but good communication skills really are the key to succeeding in many professions - and for any leadership role it's essential.
- Delegation - because of your other duties it's an essential part of your role to be able to delegate work to others. Someone once told me that the job of the DTL is to make themselves redundant - an apparent contradiction to your pivotal role on the project but one that sums up the responsibility you have to ensure the project moves forward even when you can't personally be there to solve an issue. The more you delegate responsibility to others in your team the more involved and productive they become. Don't try and do everything yourself.
- Mentoring - part of reason for delegating tasks to others is to provide them with opportunities for personal growth and development. Mentoring carries this idea further and is a key part of your role. No-one is an island and you must be prepared to share your knowledge with others. As an aside you should also be prepared to learn from your team - DTL's who think they know it all are usually wrong and always disruptive to the morale and effectiveness of the team.
The point I'm trying to make is that if you love sitting in front of a computer coding up a storm with your headphones on then becoming a DTL may not be where you want to go. However, if you're someone who loves being involved in the entire SDLC, has strong communication skills and enjoys the responsibility of owning the delivery of a solution then sign up now.
UPDATE: Follow-up posts,
How To Become a Development Team Leader
What Sort of Team Leader Are You?