In all these years developing software I have played different roles but the one that I have enjoyed the most was as a technical leader.
To me to lead people doesn’t consist in aligning them in one direction and supporting them to achieve our objectives, it is much more. In my opinion the ultimate goal consists in making yourself redundant.
Some time ago I had the chance to build a team to develop a new product. I had to take some people from inside the company, people I didn’t know, people without any experience in our technology and practices we were going to use. At the beginning I had to take a more dictatorial role, something like this:
“If we have data, let’s look at data. If all we have are opinions, let’s go with mine.” ― Jim Barksdale
Gradually the team was gaining confidence and experience and I could move to a way of more compliant leadership with the agile practices. Giving them more freedom to make their own team decisions and to take more responsibility. But the interesting part on this story was that some members of this team didn’t stop there, they turn themselves into technical leaders like myself. All the credit was theirs, the only thing I did was not to prevent it.
This is the kind of technical leadership I believe and what I meant, one where every member of the team (or some of them, that is fine too) is itself a technical leader. I love building this kind of teams and to be part of them.