Leading by example, applied to Engineering teams
I recently read a nice article from former Navy Seal Brent Gleeson about Ways to lead by example. It really inspired me to apply these key principles to the management of software development teams. I was surprised by how the structures of teamwork applied so neatly to the world of Software development. Here are the 7 tips on how to inspire your team and be a great Engineering manager.
Get your hands dirty. A good leader must understand the struggles of the development craft and have intimate knowledge of the company’s services and systems. Without proper experience, it becomes very difficult to make informed decisions. Personally, I’ve tried picking a few technical tasks within the teams that I manage to make sure that I stay relevant. I’m also forcing myself to learn about areas I’m less familiar with so that I can navigate our projects with ease.
Watch what you say. Making irresponsible promises, complaining or fooling around may pass when you have no one depending on you, but that changes drastically after you are given direct reports. You may hurt morale, undermine leadership or worse: cause an employee to leave. Whenever I have to talk I try to remember these three rules on what I’m about to say:
- Is it true
- Is it kind
- Is it necessary
Respect the chain of command. Like the original article says, nothing creates confusion like breaking the rules of hierarchy. As a leader, you set the tone for how you want your team to act with others. If you go around people or processes to achieve your goals, don’t get surprised if one day your team goes around you in the same way.
Listen to the team. A lot of software development managers come from a technical background as devs. For most of us, it’s fostered a bad habit to want to fix anything remotely out of place, thinking it’ll make the team better. Take some time to listen to your devs, their blockers and their ideas instead of projecting your own concerns. They currently live in the code and know it best.
Take responsibility. When incidents happen, or when someone drops the ball, we all collectively feel the blow, but leaders should feel the most responsible for the mistakes as they should’ve better prepared their teams. Whether by encouraging more rigorous deployment practices, testing standards or even by improving task estimation. Use these opportunities to strengthen your team instead of throwing one of your own under the bus.
Let the team do their thing. We hire professionals, we spend many hours grilling them in interviews to make sure that they are not only capable, but that we would actually trust them with our project. Maybe it’s time we act like that means something.
Don’t hesitate to remove yourself from meetings, trust your devs to do the right thing in your absence. You’ll have more time to focus on other problems.
Take care of yourself. I can’t stress that one enough. Leaders don’t just inspire by their work ethics and technical skills, they also inspire on a personal level. If the only image of you that your team sees is someone who lives for the job and works overtime, they will feel the need to behave in the same way.
If instead you control your work hours and share some of your personal hobbies, you will inspire them to do the same. A happy and rested team will always perform better, and churn less!