Engineering teams have a lot of responsibility on their shoulders: developing a top-notch product in accordance with the company’s roadmap and strategy. To be able to achieve this goal, development teams need a strong and competent manager. One who is skilled in both code and technology, as well as management and interpersonal skills.
As the VP Engineering at Cycode and as an engineering team lead before that, I’ve seen the impact good management has. A manager can make or break a team. For a startup company, this could have significant consequences for the business. Based on my experience, here are six tips for engineering leaders, to help you build a powerful team that you also enjoy working with. I hope you find these tips as helpful as they have proven themselves to be to me.
1. Involve Engineers in Decision-Making
Developers, and people in general, want their ideas to be considered when decisions are being made, and they want to know that their work matters. Engineering managers should therefore make sure to listen to all developer viewpoints and take them into account on a daily basis and in crossroads moments.
Involve developers in sprint and feature planning meetings as well as retrospectives. Let them be part of the decision-making processes and ask them how they would solve different problems. Avoid situations where a developer’s first encounter with the product plan is when everything is already decided upon. If engineers feel their job is only to carry out decisions, they will be less enthusiastic about building the product, which will result in impaired product quality, and maybe even them leaving the company.
By investing a few weekly hours a week of development time in planning and high-level decision-making you will make a world of difference in employee loyalty, and also get insightful and new ideas for product development.
2. Foster a Culture Based on People and Trust
Your developers are first and foremost people. So get to know them: their family, their hobbies, where they live, what they need. Make this a two-way street and share from your own personal life as well. This creates a sense of community, as opposed to “just” a workplace.
Encourage your team to be friends outside of work hours. Help organize entertaining activities like playing video games or getting a bite to eat. Make sure to find activities that can appeal to everyone’s schedules and various needs, as a means to encourage diversity.
A people-based culture builds trust. Therefore, when unexpected events that require a change of workstyle occur, the team will continue to stay stable. For example when COVID-19 hit and required us to change our work habits, some of our team members weren’t sure how to accommodate work with their children being at home. By showing them that we trusted them and understood their needs, we helped reduce stress levels, instead of igniting them. They were more relaxed, their families were more relaxed, and this helped create a more relaxed and productive team and work environment.
3. Encourage Improving and Evolving Technological and Personal Skills
Help your team constantly grow by encouraging them to evolve their skill set and learn new technologies, methodologies and practices. Encourage them to continuously research and learn, even if the topic is beyond the scope of their Jira ticket. Overtime, you will see how the team starts improving itself, will become more independent and will cooperate to deliver better.
4. Connect Developers to the Company Mission
Developers are motivated when they understand the big picture and the larger processes that are unfolding. Make sure to constantly communicate these, instead of focusing solely on specific tasks during dailies or weeklies. Include information about customers, top priorities for the CEO, any shifts in focus and direction, successes and also failures. This will encourage the team to work from internal motivation, and not just to satisfy their manager or complete their checklist.
5. Plan for the Team’s Future
Recruit, manage and make decisions for today, next week, next month and next year. This includes both on a team level and on an infrastructure level. For your team, identify the developers who can help you grow and succeed in the future and mentor them into managerial or leadership positions. Root out any problems between team members who are not getting along before they sprout into a problem that’s too big to solve amicably.
6. Recruit to Fill in Gaps
Look to recruit developers who can help fill in the missing gaps of your team and organization. These are the people who will help you manage and work. You might be in need of team managers, engineers with a certain technological skill set or people with soft skills that will help bring the team together in a more cohesive way. Involve the team in each recruitment process, as they will also be working with the new employee.
Personally, when recruiting, I prioritize motivation and potential over experience. I’m willing to help build a person with courses and mentors, as long as they show personal potential and willingness to grow. From my experience, this is usually a stronger indicator of success. So choose the people who are willing to go on an adventure with you.
Conclusion
Management is a skill of its own. Just like we expect our developers to continuously learn new technologies, managers also need to constantly improve their leading skills as well. By doing so, we will help build a stronger development team, who will help us achieve our goal of building a quality product that delights customers. These tips are based on my own experience, and I’d love to hear from you and what you thought. So drop me a line.