Technical Lead != Team Lead
During my career, I’ve worked with, for, and as a Technical Lead, Technical Authority, Technical Architect, Team Lead, and a Agile Team Lead. With my developer hat firmly on, I would suggest the above comprise two distinct roles:
- Technical Lead. Assumes main responsibility for the technical architecture vision, and steering technical work in that direction over time.
- Team Lead. Assumes main responsibility for timely software delivery and the personal/professional development of team members.
In my experience, when medium- or large-sized software organizations combine the above roles it is normally a result of management laziness or a misunderstanding of team dynamics. Unless the Whole Team in question is a well-oiled, self-organizing machine or a Great Agile Developer is in the room, it is difficult for a single person to excel when such different, occasionally conflicting challenges await.
For example, at employer ABC the Technical Leads were in charge of the technical architecture as well as the nitty-gritty of story implementation. The technical roadmap was well-defined, but with no separate concept of a Team Lead role the Technical Leads were over-worked and over-stressed. Stories frequently failed to reach Done by the end of an iteration, and non-technical issues such as helping new team members were simply ignored. Both of these issues are directly related to team gumption and as a result team members were frequently gloomy.
However, at employer XYZ I was one of a number of Team Leads working underneath a Head Architect (pardon?) that looked after the organization-wide architecture. The XYZ Team Leads prevented the sort of issues experienced by ABC, but I and many other team members chafed at the lack of technical input available. It is a hard balance to get right.
I believe that regardless of nomenclature, the key responsibility shared by Technical Leads and Team Lead is coaching. Whether you are in charge of software, people, or both, you have an immutable responsibility to help the team members around improve themselves and each other.
(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)






Comments
Oded Nissan replied on Mon, 2013/03/18 - 7:24am
none
Yuanjing Liang replied on Mon, 2013/03/18 - 10:22am
Haha,i am looking for SEO technical for my website www.bagsshoeswallets.com
Frank Kelly replied on Mon, 2013/03/25 - 9:46am
I agree the Technical Lead and Team Lead are different hats you have to wear. It's not easy but I'd like to think I have been able to do so successfully for a number of years. I've seen other folks do it too - but I agree it's a lot of work.
What ends up happening is I spend < 50% of my time coding, sometimes a whole sprint goes by without writing 50 lines of code, because we're focused on testing and a new deployment process. Or alternatively while the devs are knee deep in code I'll be scouting out ahead ironing our requirements and architecture as much as I can. Thankfully a sprint or two come along and I can jam some code out the door.
I agree that coaching is part of the job however I think as a Team Lead / Technical Lead your key responsibility is SHIPPING the product and get it into the hands of your users. That's what revs my engine :-)