Being an Engineering Manager or a Tech Lead is a strange place to be in. We’re basically trying to smooth out all the roughness against anyone else like CEO, Design, Business, and Users. But most importantly our job is to set up the engineering team for success. I think we all have met some engineering managers who don't think about their way of management at all and much less in a way that is cohesive and conducive towards the growth of their engineers. So let's talk about how management can set up their engineers for success.
Build Trust!
The most important thing you can build as a manager is trust. Almost every decision I make is focused on building trust through the company and with the guys I’m working with. When I’m running a Team it's my job that everyone on the team is bought in and gets what's going on. Everyone needs to feel trusted in the work they’re doing and contributing to.
Reservation of implementation
If anyone on the Team has a strong opinion on how something should be built, this is something we should discuss as a Team. Here it does not matter if you’re a lead developer or a newly hired internal if someone has a strong belief in something that should be done in a different way and they can back it up. Everyone should listen and learn from it. This could go many different ways, they can be right and we all learn from it. They can be wrong and we teach them. Or (and this is underrated) we can know that they’re wrong and fight hard to convince them and…
Let your engineers fail
This is the best thing especially if you know that they’re going to fail and know the consequences of that failure aren’t very big. For example, if you know that some adopted tech from an engineer won't work out early, you can say that but they might not listen. If they don't… let them do it. It shows that you trust them and honestly they might be right and you get to adopt the better solution. Either way, they will build trust and knowledge in that time. So the next time they’re pushing for some new tech or make a recommendation for something to be different, they have that much more experience making decisions around what they push for.
Obviously, I’m not talking here about a guy repeatedly breaking stuff, that's a different conversation.
Freedom to the engineers
Most engineers are not given enough leash, especially when the manager has a technical background. I’m often surprised by how tuned in and dedicated the engineers are which I work with. As managers, we should exactly identify these people and help to build into the people that care more about them, look at these things in their free time, and bring their knowledge to work. These are some of the most valuable ways to grow as an engineer but more importantly, it gives us one of the most valuable resources a Team can have…
Energy
Energy is the single most important thing I’ve seen for every company to thrive. Codebases don't live or die on the Technology choices. They don't live or die on how good the engineers you hire are. It simply boils down to who makes sure that shit moves and whether they have the energy to push through the pain each project goes through.
Sadly it's easy for managers to simply throw all of this away. By just saying no to this energized person because it does not imitate line up with business goals.
There is no business goal, that is not accelerated by a Team that's energized by the work they’re doing. Even if the thing “brings their energy” is going in a different direction from where you want to be. That energy means that you get there, where you want to be way fucking faster. Honestly, I’m thankful that a lot of companies don't get this since this is the only reason why startups can exist in the first place. It's our job as managers to find this person, bringing this energy, and give them everything they need to maintain it and share that with the team. I think everyone should be ready to take some big risks by getting into some fights with the executives in order to keep this energy at all costs.
Wrap up
Even tho I'm still young and a lot of the engineers I work with are more experienced than myself it's important to recognize that. I know that and embrace that to self-improve and keep the grind up. Because feeling dumb for too long actually loses that energy. So keep asking “dumb” questions and maybe force them on any onboarding and be ready to break the onboarding time by a big margin.
I would be really happy to talk more about management and how to improve on being one myself. So if you feel like sharing your know-how and experience either in the comments or directly via Linkedin I’m more than grateful to read them or have a chat.
Top comments (1)
"think everyone should be ready to take some big risks by getting into some fights with the executives in order to keep this energy at all costs."
This one hit home for me. I've gone toe-to-toe some execs more than once in my career, and in the end I failed 100% of the time. Looking back, I know that I was right, but I simply did not have the power to make a difference. All my pushing back just made things worse.
I'm not sure I know the answer to this one, but it is extremely critical to being an effective operator in any company.
Perhaps charm and persuasion are the better tools