The role of the Technical Lead / Lead Developer and other musings

The role of the Technical Lead / Lead Developer and other musings

What is the true role of the technical lead / lead developer in a software project team?

A particularly insightful reply to a post on the importance of the tech lead in a development team

From: GirishThe team should be able to function without having one dominant person dictating the tech stack, functions and processes. That is not the ideal of a Tech lead and I agree that thought leadership should be encouraged within the team.

For me, the Tech Lead is the bridge between the wider goals of the business and the respective technical team delivering part of that vision. He/She connects the team to the bigger wheel and ensures the work they do contribute to delivering the strategic technical vision of the wider organisation. Very often, this is hard for an entire team to understand and deliver on whilst being focused on the details of making a near-perfect product.

At times, this may be possible without the need for a Tech Lead, such as in small companies working on a single product. Other times, you do need a Tech Lead in my opinion – not to be the team’s dictator but to make them understand why a particular methodology may not be helpful to the organisation’s technical vision in the long term so as to stand out from their competition in the market, for example.

For now I can’t see how that is *just* a shared skill-set. It is in the interest of most large organisations to make it a well defined role, for everyone loves to have one person accountable so as discuss things with.

Also, this role is mandated ownership of delivering technical direction so as to achieve the organisation’s objectives and would be expected to be aware of the historical decisions in direction and also justify the new methodologies taken.

He/She should be also be adept at matching individual development goals with organisational goals so as to scale both the team and the organisation well and be the proper spokesperson for the team to the board execs. A mere mediator also will not suffice here.

More criteria of the tech lead:

  • The tech lead needs to be of a high level of technical proficiency, the higher the better. Technical people operate to some degree as a meritocracy, respect is awarded as it is deserved usually according to ones technical proficiency. No-one will will be taken seriously as a tech lead unless they have the requisite chops to earn the respect of their peers.
  • The tech lead needs to have a flexible, empathetic personality.
  • They need to be soft and nurturing – at times
  • stern and resolute at other times.
  • The tech lead needs to be inspiring and hard working.
  • A good communicator to all levels of business.
  • A tech lead can be a critical success factor within a development team!

The people in your team are VERY VERY SMART

So you need to treat them like very very smart people.
So how do very smart team members like to be treated?
For one, they need autonomy, don’t micro manage smart people.
Never ever talk down to them, despite the org chart they are your peers and you are lucky to work with them.
Don’t try and coerce them. If they make a mistake they tend to beat themselves up. Rather offer to help them, or provide the resources they need to help them get the job they are working on over the line.

Over time you will develop a mutual respect and friendship and you will all delight in making cool things!

About The Lean Startup – by Eric Ries

The Lean Startup by Eric Ries describes a method whereby the risk of a project is mitigated through the early delivery of a product to market to guage the markets response.

If the market responds favorably to a product you keep refining and improving it in iterations, delivering it to market at every step.

If the market responds unfavorably to the product you have met a decision point whereby you need to re-evaluate and change direction. This is refered to as a pivot.

The Lean Startup mitigates the risk of overcapitalising a losing product. By testing the market at each critical juncture you almost ensure that at the end of the project you have delivered something that the market values.

My PM Strategy

  • Give clear job / task priorities so the team knows what to work on and when
  • Vet requirements to ensure they are clearly stated and unabiguous
  • Define jobs, tasks, subtasks, milestones in such a way that makes everything a series of quick wins building towards a big win.
  • Reduce excessive noise (eg outside requests) / that make demands on the devs time
  • Provide assistance wherever it is needed whether that be assistance in nutting out a coding problem, obtaining resources, doing some research…
  • Report to higher management, giving clear rationale as to why things have been done in a particular way. Always defending the dev team if needed.