What does a lead engineer do?
As told through an ego-centric analogy
When people ask me what my job entails, I have a hard time synthesizing what I do on a daily basis into a cohesive answer. I’ll use an analogy to help me explain the role: a lead engineer is a lot like being Captain Kirk of the U.S.S. Enterprise. I know that sounds self-serving, but hear me out. Kirk isn’t the smartest person on his team (e.g. Spock). He’s also not the most experienced. Sulu, Scotty, and Bones are all more specialized in certain domains than he is. It works the same way for the team I lead. I’m not the team’s Backbone.js expert or go-to for complex MySQL queries, but it’s not my job or Captain Kirk’s to be the best at everything. It’s my job to tackle challenges by thoughtfully leading collaborative efforts based on everyone’s strengths.
I was never a Star Trek fan until J.J. Abrams rebooted their film franchise with Star Trek (2009) and Star Trek Into Darkness (2013). For both movies, one common theme is that Kirk is leading the way on all the dirty work. He doesn’t sit in his comfy Captain chair, he’s always the first person to volunteer for all the hands-on missions. This is analogous to being lead on an engineering team. Learning how to delegate will keep your workload manageable, but getting your hands dirty and leading by example is essential. That means running point on big projects, midnight deploys, spearheading technical debt efforts, following best practices, digging into the nastiest bugs, etc. As a result of this, a majority of my time is spent doing engineering work and not typing emails or sitting in meetings. Leads are pigs, not chickens.
While most of the leads I know are technically ‘managers’, it’s not in the traditional “We need to talk about your TPS reports” kind-of-way. Great engineers don’t need to be micro managed. It’s the lead’s job to tweak the engineering processes and get obstacles out of the way so engineers can work as efficiently as possible. Interns, entry-level, and junior-level engineers do require more attention and it’s your job to make sure they have a healthy balance of guidance and freedom to develop professionally. This will vary depending on the size of the engineering team, but we err on the side of letting less experienced engineers swim in the deep end over having their hands held for every commit.
Lastly, to touch more on ‘collaborative efforts’, it’s important to remember you’re a captain, not an admiral (CTO or VP Eng.). It’s really easy to be selfish by focusing solely on your team’s projects, goals, deadlines, etc, but it’s your job to coordinate with other captains and be cognizant of their projects and challenges so you’re able to help out when needed. It might be hard to loan the Spock of your team to another starship, but it’s for the greater good of the fleet that every team has the bandwidth and expertise they need to accomplish what’s on their plate. To quote Spock:
“The needs of the many outweigh the needs of the few.”