So you’re the guardian of the quality and technique of the code, and nobody doubts that you know the Design Patterns of the GoF by heart. But your role as Lead Developer does not stop at designing and writing code.
You lead and represent a technical team. Your work also requires you to develop other less technical but equally important skills, such as interpersonal skills and the ability to embrace your responsibilities and stay organized.
No panic, though: you can always learn and improve on these non-technical or “soft” skills. We lead the way for you to excel in your role as Lead Developer!
Embrace being a role model
Take a pen and write “I’m a model” on 3 or more post-its and stick one on each of your monitors. No, sorry to disappoint, you’re not a fashion model, but you are a role model in the eyes of your team of developers. They not only pay attention to everything you do but also how you do it.
And since each of your actions will have an impact on the confidence and attitude of your team, you should try to foster an environment where people pull together; don’t hesitate to encourage new ideas and regularly highlight each person’s success.
Being a role model also requires some humility on your part, since you may need to provide assistance with tedious tasks, such as installing a new workstation, explaining the deployment process, reviewing code or even showing people how to debug…
Improve your communication skills
Boris Gervaise, Technical Leader at Supralog says that as a Lead Developer, you need to be able to “make your words easy to understand and explain what will be done, why, and the related costs.” So, it is essential to work on how you communicate, adapting your language and the level of detail provided in line with who you’re talking to.
Your listener may either prefer to hear a direct, short and concise explanation or the logical reasoning that led you to choose your solution. To help you, you could use frameworks like True Colors or MBTI, or otherwise you can just trust your instinct! This way you will give better feedback to developers and explain more effectively the ins and outs of technical projects with other company departments, letting you marry up the technical requirements needed from the business side, and the business needs required of the technical team.
Being a good communicator also requires you to work on your listening skills and ability to understand others. Not only do you have to focus on the points being put forward, but also the attitude and mood of your interlocutor. It’s more crucial than ever to take other people’s opinions onboard and be keen to ask them questions to understand their motivations and way of thinking. For Jerome Nadaud CTO at Living Actor and former Deputy COO at SensioLabs, it is essential for Lead Developers to “improve their interpersonal skills and charisma”, adding that “understanding the client’s needs to reach the right solution” is one of the key skills needed to become an excellent Lead Developer.
Organize your work
If you were previously a developer, you have to bear in mind that your day-to-day tasks may change radically and become more wide-ranging. As Lead Developer, you’ll be more autonomous in your work, you’ll be asked to help others more often, as well as to review or attend meetings; you may also have to monitor multiple projects at the same time.
So, it’s key to be well-organized! You can train yourself on time management and task prioritization, and of course, don’t hesitate to delegate if necessary.
Some existing tools include the Eisenhower Method, a to-do list and an agenda, calendar reminders, a Kanban table on post-its or Trello, as well as time measurement for each task… Take the time to experiment with these different methods to find out which one suits you!
Boost your team’s skills
One of your main goals as a Lead Developer is to boost the skills of each team member. This starts right from recruitment and continues with the process of integrating new developers. Your human resources will appreciate your support in their decisions when assessing the technical skills and potential development of a new applicant. Once the developer has been hired, you need to set up a suitable technical training course.
Don’t underestimate the need to coach a junior team member, both during and after their training, although Boris Gervaise recommends “being sparing with your advice so as to let the developer solve part of the problem, as this will enable them to progress.”
Supporting the team to boost their skills also involves creating a stimulating work environment. Feel free to schedule time dedicated to discovering new technologies or tools. Holding workshops or mini-talks in a place other than the usual place of work will allow team members to take a day to develop different technical skills from those used in their everyday work.
“Helping people and making them grow is the best aspect of the job”, concludes the Technical Leader. Leaving aside this aspect of the role of Lead Developer, there is the risk of getting “locked into a role where developers come to us only when they hit a hurdle.”
Help the team work better
According to Boris Gervaise, a Lead Developer striving for excellence should “be an engine to improve the product and boost team productivity.” To do this, you need to use your knowledge of environments, tools and development methods to be proactive.
Are you short on inspiration? Here are a few ideas:
- Set out some best practices for development such as for the coding itself, comments or documentation
- Reduce the time needed for production launch by improving process
- Formalize procedures to minimize the risk of error: check for bugs and feature requests, continuous integration, automated testing and so on
- Let the business departments know if you find that the specifications provided to the team are of poor quality
Think of the team as a harmonious system. Many points can be improved across the entire development flow, from customer need through to delivery. If a development passes testing on a developer’s computer, but flags up errors on staging servers, then there is room for improvement.
Act on technical decisions
As Lead Developer, you must be the technical person of reference for the team, this means “defending the technical aspects, standing strong in your decisions and determining if there are any differences of opinion between developers”, explains Jérôme Nadaud. This is not always an easy task since this responsibility sometimes leads to a developer’s solution being rejected or to a technical debate between team members.
What’s more, people will definitely consult you on problems which you do not yet have the technical knowledge to resolve. Boris Gervaise sums it up by saying “you are the person people come knocking to for a solution to situations that have never been encountered before.” Solving these problems requires you to be very independent and to know where to get information. So, it’s a good idea to regularly include technological monitoring as part of your work.
Steps you can take after reading this article
- Take five to think of a team exercise that will create a more stimulating environment (talks, lunches, projects…). Send it to your team before the end of the week!
- Think about the personality and expectations of your teammates and write down the steps you could take to improve your communication with each of them.
- Does your role have a strong management element? Get hold of the book The Manager’s Path: A Guide for Tech Leaders Navigating Growth and Change by Camille Fournier: there’s some bedtime reading for you to start on tonight!
This article is part of Behind the Code, the media for developers, by developers. Discover more articles and videos by visiting Behind the Code!
Want to contribute? Get published!
Follow us on Twitter to stay tuned!
Illustration by Brice Marchal