Skip to main content

leadership, maturity and authority

A recent question was asked in Readify's internal Yammer along the lines of how technically strong does a team leader need to be to lead a technical team.

The conversation eventually diverted into a range of exclamations by very smart Readifarians on what leadership is in different scenarios.

Below is my opinion

To me, a leader in general is optimised by his/her ability to serve others. A servant-leader is essentially one who is able to jump into the heat of battle first and leave last, ensure that his/her family eats and are satisfied before eating or simply ensuring every other team member is able to work on the task at-hand prior to starting their own task.

Back to the original Yammer question. I gave my opinion that a technical leader isn't necessarily someone who is the strongest technically in a team, but they can't be the weakest as well, somewhere above the middle is sufficient. The brief summary of my opinion doesn't actually reveal the more complicated answer in my mind.

If you've read this far - thank you.

Firstly, what is 'technical ability'? Is it the ability to learn new languages? learn new frameworks? understand the framework currently in use? All the previous skills are skills that are desired inside a team. But what is more essential to a team (or tech) lead is technical maturity. This entails being able to foresee un-maintainable slices in an application, have visibility across a wide cross-section of the application and manage technical debt. This to me, is what is required from a technical lead.

However, this is also what is required by a developer on a day-to-day basis. A good developer shouldn't be someone who focuses on their own work item disregarding the rest of the application.

Now, from a non-technical perspective what non-technical attributes must a tech lead have? In an agile environment the lead must have the ability to communicate, have a holistic perspective on the sprint (not just focus on their own PBI) and drive work items to 'Done'. So, how is this different than what other team members must have, in short it doesn't. All team members must have these abilities.

So if the team lead and developers all have the same skills and behaviors. Is it even worth having a tech lead at all? In a situation where you have developers that do have technical maturity and that do have the soft skills necessary for a leader, you will naturally have disagreements. This is where the lead comes into play. The word authority has become a dirty word in today's world, we don't value it like humanity has in the past. But in a team of strong individuals the final decision has to fall on some authority. This is not to say that the lead must make all the decisions. Quite the contrary the team should always strive to reach decision by consensus. But when consensus is not reached (or is taking too long). This is where the lead jumps in. It shouldn't happen a lot, but is often necessary due to time constraints.

A final point I would like to make is the ability for a leader to make others feel safe. We often think our team leads (or leaders in general) are invincible. That they can do anything - I have had the opportunity in the last few years to work with such individuals. However, it is always a good idea to simply ask them "How're you going". You would find that they are in fact managing a lot of tasks simultaneously. The offer of service directly to your leader makes THEM feel safe. This is in fact a sure sign of strong leadership. The servant leadership I wrote about earlier.


Popular posts from this blog

from zero to production in eighty days

When I mean zero, I literally mean zero. A brand new project, a PO that's new to IT, no existing processes in place and a small team of four including myself and the PO.

The departmental organisation we were working for doesn't have any developers, scrum masters, product owners working for them. Everything they did was either done by another department or outsourced completely.

This is a story how we went from zero to production in eighty days.

My first time speaking at a conference

Since time immemorial we humans have valued the art of public speaking. Today, I want to share with you my experiences in speaking at conferences for the first time. Recently, I spoke at both DDD Melbourne and DDD Perth. Both of which were positive experiences that I learnt a lot in.

Have You Ever Produced Negative Value in a System!?

As developers we encourage our product owners to order the priority of their backlog in order of value. However, every time a new feature is implemented by a development team, there is a certain degree of risk associated with the introduction of that new code. Namely, risk of breaking another part of the product and maintenance cost. When a development team pulls in a new feature to implement there is a certain acceptance of this risk. In many cases, the risks that arise due to additional code complexity doesn't justify the value added by the new feature itself, so the development team can start implementing it.

Are there scenarios where the value added to a software product can be negative though?