Engineering leadership is risky. All paths to seniority lead away from code. The best way to get into Engineering Leadership, as a People Manager or as Staff+ Engineer, is in a Psychologically Safe environment. With a manager, you can safely try paths with.
I managed and grew many Engineers into leaders in Startups and Big Tech. Tech Leads, Team Lead, Staff+ “Architects,” Managers of Managers, etc. I’ve also reported up to EVPs, CTOs, and CEOs. Eleven hard truths about engineering leadership 👇
1/ Engineering leadership is risky. All paths to seniority lead away from code. The best way to get into Engineering Leadership, as a People Manager or as Staff+ Engineer, is in a Psychologically Safe environment. With a manager, you can safely try paths with.
2/ The best engineering managers have been engineers before. Many Devs struggle reporting to non-technical managers. It’s why all Engineering Managers in Tech-Driven companies are tested for technical competencies in interviews, with some exceptions for executives.
3/ Why MBAs shouldn’t manage engineers: It’s hard to understand the ambiguity and difficulty of the role if one’s never done it. Timelines alone will drive one insane. This is true of many technical disciplines but incredibly true for software engineering.
4/ What can non-technical leaders do if they are managing engineers? Put competent technical people between them and the teams ASAP. If this will take time, then short term, promote and assign tech leads to be your right hand, then listen to them.
5/ Engineering Managers sometimes have an empathy problem. Just because they’ve done the engineering job before doesn’t qualify them to manage people’s careers. So just like non-technical MBAs shouldn’t manage engineers, people who lack empathy shouldn’t manage engineers
6/ Don’t do the job of an Engineering Manager and a senior IC at the same time! It is a bad idea to do both jobs for too long. Long term, it will stunt your growth. You won’t become great at either. And it is a disservice to your team, your product, and business partners
7/ My friend @VicVijayakumar says: “Your engineers are people, not resources. Have empathy.” No amount of Management training can teach you to care about people. You have to find it in yourself. If you can’t, you should go back to an IC. We have two paths for a reason
8/ New teams as an Engineering Manager: – Aim to get the team to critical mass as soon as possible. Ideally, enough people, so no one is on call more than a week per two months. – When a team hits critical mass, you need to groom a Tech Lead or think about hiring one.
9/ Big Tech does a good job organizing teams. The two-pizza team is the best. You have many things to build and invent. You should not innovate on organizational structures. Take the model and use it. My friend @thiagoghisi says, “A lousy setup will cost you a lot.”
10/ As a leader, delegation will need to become one of your most vital skills. You need to understand who can do what and who is ready to handle more. Need to push people but not drown them. Over time if you can delegate everything, you will become ready for more scope.
11/ Growth and Juniors are the lifeblood of your teams. If you don’t keep a steady pipeline of junior hiring, no one gets to mentor and become a senior. If you want to build durable teams, plant many trees and help them grow. Don’t buy them fully grown if you can help it.
If you think someone may find this thread helpful, consider retweeting the first Tweet.