Congratulations, you just got promoted to Lead Engineer. You’ve been working with your team for 2 or 3 years and your talents have been recognized by company leadership, or perhaps you made the jump to a new gig for the career advancement. Either way, you’ve got a whole new job to do that is likely ambiguously defined, that requires skills different from those you’ve been flexing for the past several years, and has a different set of measures of success and productivity than you used to have. Sadly, there is likely nobody around to guide and mentor you through this change, you’re on your own and expected to organically step into the job. Now what?
Your value proposition is fundamentally changing from that of an individual contributor to a leader of individual contributors.
Transitioning into the role of a Lead Engineer and ultimately becoming successful at it requires you to reshape your definition of how to contribute, and to understand the intrinsic importance and value of those contributions. Your value proposition is fundamentally changing from that of an individual contributor to a leader of individual contributors. Slinging code is a feel-good exercise because it yields tangible results, you can see it compile, deploy, and run. Depending on the team size and organizational environment you are working in, you might still get to sling code, but this is no longer your primary function or measure of value. From this day forward, your role is focused on the success of the team and the product as a whole, not your individual contributions. So, how do you do that?
Ask the right questions rather than solving the problems in front of you.
One of the challenges with this role is that it is often ambiguously defined, and there is, in my experience, little to no consistency across organizations in the definition or expectations of a Lead Engineer. So one of the first things you need to do in this role is figure out what exactly is actually needed of a Lead Engineer in the specific environment you are in. One way to do that is to ask the right questions rather than solving the problems in front of you.
Another principal that will serve you well here is the idea of Servant Leadership. Figure out what the team needs and make sure they get it. What the needs are depends largely on the environment, the skills and maturity of the engineering team, the maturity of organizations which engineering interacts with, maturity of both internal and cross-functional processes, and of course, anything that is explicitly expected of you by your manager and job description. The best way to figure out what this mix is, is to observe and listen.
Good leaders ask for help when they need it.
There is another factor that will determine this mix as well- you. The skills and activities that you feel comfortable with are going to be the ones you naturally gravitate to doing. Be careful here, as these might not be where you need to add the most value. You’ll need to get out of your comfort zone and tackle those things which are needed that maybe you haven’t really had to do before, or are unsure how to approach. With that in mind, here’s something to remember: good leaders ask for help when they need it. Use your network, and the resources within your team. Ask people that you respect and trust for advice.
As a (new) lead engineer, you’ll need to be part:
- project manager
- engineering mentor
- team champion
- setter of standards and quality
- implementer of process
- willing to grow and onboard new skills
- liaison / builder of trust
- deeply technical
- problem solver / fixer
- and sometimes hands on engineer
If you’ve read this far and are now thinking to yourself, Frank, you’ve confused a lead engineer with an engineering manager, know that these historically separate roles have evolved and blurred. In modern development methodologies, the classic engineering manager of yore does not have the same role (or power over engineers) it once held, and the well formed lead engineer has evolved in kind.
And that is most likely an incomplete list at best. It may look daunting, being a great and solid lead engineer is not easy, or for the feint of heart. But, it is a highly rewarding role that can provide career satisfaction for years and prepare you for larger and more senior roles. Go into this role knowing that you will grow as a result, that your team will change and grow under your leadership, and that you can make a difference to leave things better than you found them- and embrace this as a personal mission.
Here’s a short recipe for becoming a great lead engineer:
- Ask questions to make sure you are solving the right problems.
- Be a servant leader.
- Do the job with integrity.
- Speak truth to power (even when it hurts).
- Get help when you need it.
- Strive to make things better than what you walked into.
A final thought, one that was shared with me by a mentor many, many years ago. When the administrative and political work of leadership feels like it’s wearing on you, take a day, and do some engineering. Sit down with your team and do some hands-on problem solving. Not only will this refresh you, it will help keep your engineering chops up to par and the relationship with your team tight. Then go back to tackling the job of being the best leader of engineers you can.