Being a Tech Lead involves a paradigm shift from being a senior developer, exchanging your passion for code for a managerial position. This shift is not just a matter of having time to write code in any case – it requires a change in mental approach. What facets of, and behaviors within, the role should a Tech Leader prioritise? What is the right balance between hard and soft skills? And what best practices for maintaining a good balance should be embraced?
This Codemotion-format meetup is hosted by Andrea Maietta with four participants: Mariano Cunietti, Mattia Tommasone, Alessandro “Cirpo” Cinelli, and Najla Said. The audience was asked to give their own answers to the questions asked of the panel using the online platform Menti.com.
Let’s meet our tech leads, some of whom did not reach their current role from inside the ICT world.
Meet the meetup speakers
Mariano Cunietti, Director of Cloud Operations at Irideos, studied literature and classical music before being enchanted by the Linux community.
Najla Said is an IBM Cloud Data Science Team Manager. She started her career as an astrophysicist, but later embraced the chance to work at IBM before emerging as a team lead.
Alessandro “Cirpo” Cinelli is currently DX (Developer Experience) Engineering Manager at Dazn in London.
Mattia Tommasone is Development Team Lead at the Brandon Group and is passionate about music and soccer.
Their host, Andrea Maietta, is a passionate advocate of agile methods. He helps companies to identify opportunities, analyse business cases, and develop innovative processes to build value accordingly. Always excited to learn and share, in his spare time he is a frequent speaker at conferences and is involved in training, communication, and organization. He is an editor of the ‘Made for Makers’ series, and also writes books for makers.The full event was recorded and can be accessed through this link.
Is any leader good enough in technology, or do we need a true tech leader?
Around two thirds of the audience answered ‘Yes’, and one third ‘No’, while all four experts answered in the affirmative, but not always directly. Let’s see how they explained their point of view.
“A tech leader is a technological person, even if not a technical one in the strictest meaning”, says Mariano Cunietti. “He may not the best developer in the pack, but he is a master of the process patterns that act within the surrounding context”.
“Authoritativeness and not authority” is what really qualifies a leader. Leadership is not a top-down dictatorship, but a bottom-up process that mostly occurs inside the team itself.
“A leader solves conflict-generating problems”: managing people is a task best left to managers. Developers, often young, normally follow the hype, and the CTO is in charge of strategic goal definition, but “the tech leader is a tactical person: his focus is the solution and he bears responsibility for the overall quality of the product inside the company“.
Mattia Tommasone’s perspective is slightly different, more focused on tech. According to him, “the tech leader must be the reference technical person in at least one subject”. A tech lead should be deeply aware of the skills of his or her teammates, and therefore able to choose the best person for any task, which may not necessarily be the best performer in a technical sense.
“You can’t answer this question in a binary way!”, booms Alessandro “Cirpo” Cinelli. Not all teams are created equal, not all of them have all roles covered. Furthermore, “you can have teams with no leaders and teams with more than one leader”. It is neither required nor necessary that a team leader is also the best performing developer.
Najla Said is more or less on the same wavelength: “Manager and tech leader can be different people“, but both of them need direct knowledge of software development. The manager must be a technical person, although not necessarily the best in a particular skill set if the team is technical: “you can’t manage people if you don’t understand their job dynamics”.
So the answer is definitely YES: if you want to lead, you had better be able to code.
What are the main requirements of a tech leader?
“Inspiring team members to grow”, and “writing high-quality code” are the first two answers from both the experts and the audience. The meetup’s audience also gave several other suggestions a positive response, but our experts have very clear advice to offer.
“True leaders give birth to more leaders”, summarises Cunietti. The Irideos cloud manager adds that you have to maintain a broad overview, so you have to read, participate, and especially, listen. Najla agrees that listening to team members and conversing with all of them is very important – something her own managerial style is based on.
According to Cirpo, the most important thing is “to be the first to work on big problems”. If possible, “write logs and reports” to help the team, as this will help internal communications in many different ways.
Some more suggestions were included, and many of them got a good number of votes from the audience, so they are worth mentioning. Protecting the team members from both external interference and internal pressure might look more like a managerial task than a tech lead task; the same idea, viewed from the technological side instead of the human, is being the interface between technology and business. Managing the release time of software modules efficiently, and choosing the software stack most appropriate for the given project also attracted audience support.
The tasks that took third and eighth (last shown) places respectively in the voting look more interesting than others. Generating an environment capable of keeping good developers inside the company – and possibly attracting others – only took eighth place, but this may be because it depends on the company name as well as the tech lead.
Taking responsibility for everything that emerges from the team – not only the lead’s direct responsibilities but also the general output of the whole team – ranked third, close behind the first two tasks. Inspiration, quality, and responsibility look like a very strong triad when measuring success as a tech leader.
One of the worst paths a leader can take jumps out in a different question. Tech leads can be guilty of this too: blocking team members. Some leaders don’t help team members to improve themselves; some work hard to prevent any chance of being replaced by someone in their workgroup. It happens: if you find yourself in this situation, run away – fast!.
How can a tech lead find the time to keep their technical skills up to date?
A technical lead should never stop coding. They can choose to continue at a different level, but stopping completely is unwise. The workday may be full already, but time needs to be found for this activity.
Many tricks are proposed by both the speakers and the audience. The top three results from the on-line consultation are: delegating, finding the time, and saying “no”.
One way to find time is “planning non-existent meetings“, laughs Cirpo, adding that “many people overlap meetings” already, so you have to drop some of them.
Another good approach is to sort out unresolved problems from the trash bin. These can be huge problems – solving them “shows the team that you are still a very good developer”, says Mariano Cunietti. Alternatively, take on small tasks as Najla Said does, to strengthen your self-confidence in your new role. “You have to choose some battles you want to win”, says Tommasone, detailing his strategy in selecting which pieces of software need to be written yourself – both for your self-esteem, and for your role in the team.
What are the signs that you could be, or already are, a tech leader?
“You feel you’re in the right place as the tech lead when you start loving the final product more than the beauty of your code”, explains Alessandro Cinelli. How you reach this state is not really important: people will follow you if you have this attitude, and pay attention to every detail.
This is not an automatic progression, but more of a state of grace. Going from senior developer to tech lead is not an obligation: as with any promotion, you may be inadequate at a specific task. Feeling inadequate is a strange condition that can occur to anybody, in any position.
There is some fun mirror bias in this: while a manager thinks a developer is a nerd because he only thinks in terms of code, a developer thinks the manager is lame because he knows nothing about coding.
“A basic metric is your impact on the project, as the lead multiplies this effect”, adds Mattia Tommasone.
Apart from prioritising the best interests of the product, and avoiding the negative impact of biases, there are many hard skills required of a tech lead today, so there is still much room for soft skills to improve the team. Things are changing now: with the help of a tech guide, this change will be easier.