Resume GitHub Threads LinkedIn

Marc Love

Software Engineering | Applied ML | Product | Technical Leadership

Managing Engineers Through Seniority

I was having a conversation with a colleague recently. Their report sought guidance on securing promotion to senior, and they were struggling to provide that guidance in a way that felt satisfying to the report.

What can be particularly challenging about leveling conversations is that people, especially engineers, want concrete steps to reach their destination. “I’m at point A; I want to be at point B; tell me the steps I need to take to get there.” And to some extent, this is possible. Many of the skills I would expect to see out of a Senior iOS engineer, for example, would include setting up a new iOS project in Xcode, knowing how to profile app performance, being able to drive architecture conversations with the team, being able to set up a CI and release process, etc. A naïve form of guidance could then be to put these concrete, quantifiable skills into a checklist and say, “You need to be able to do 80% of the skills on this list to progress to Senior.” This checklist could be a satisfying rubric for people who like quantifiable & deterministic goals, measurements, and results.

The problem is that our jobs are about more than a checklist of measurable skills. This only becomes more true as we climb the seniority ladder. The skills we need become less deterministic, less measurable, more nuanced, more interpersonal, and more rooted in subjective judgment based on experience.

In engineering, seniority means we begin pivoting our skills from exercising our technical skills directly on a codebase towards exercising our experience and judgment to lead teams, mentor and coach team members, sponsor others to help them grow, guide technical planning and decision-making, and communicate effectively with stakeholders. These skills are much more challenging to measure in a completely objective, quantifiable way. For example, I can give you a list of activities that will help you exercise and develop your skills in communicating effectively with stakeholders — run this activity, meet with them on a regular cadence, etc. — but just because you’ve completed that activity doesn’t mean you’ve learned the skill and are generally good at communicating with stakeholders.

Even more frustrating can be trying to figure out how you’ll know when you’re good at it. No unit test will turn green to tell you that you’ve figured it out. There’s no boolean outcome that says, “Yes, I’ve mastered that skill.” These skills involve other people and circumstances we have little control over. Those people could be easy or near impossible to work with; the circumstances could be highly challenging or relatively easy. Their happiness or the outcome of the work is not a reliable indicator on its own of our progress either. It would be unfair to evaluate someone’s skill based solely on the happiness of particular stakeholders or the outcome of the team’s work since no one is given a team with identical team members and circumstances.

But also, these skills are not about making everybody happy or manipulating people to do what we want like we would manipulate a codebase. Instead, it is to effectively navigate the interpersonal, organizational, and technical challenges we face, make well-informed tradeoffs, and get to a desired outcome, which itself can be poorly defined.

This opens the door to subjectivity, which can be dangerous when evaluating a report’s progress. As a manager, it allows your unconscious bias, favoritism, etc., to seep into your evaluation. Even if you don’t believe you’re subject to those forces (which I guarantee all of us are, whether we realize it or not), it creates room for your reports to perceive bias and unfairness.

For engineers especially, transitioning from a rubric of well-defined technical skills to a rubric filled with more subjective, non-technical skills can be incredibly frustrating. That frustration can further amplify any perceived biases because it already feels unfair to go from objective to subjective evaluation.

As managers, how do we reconcile our desire to provide a fair and unbiased evaluation of all of our reports with the reality that evaluating skills at more senior levels involves a lot of subjectivity? Additionally, how do we do this in a way that provides clear guidance to our reports and makes them feel like they received a fair and equitable evaluation?

Well, it’s very challenging. 😆

The best way to achieve this starts with your frequent and consistent 1:1s with your reports (you are having frequent and consistent 1:1s with your reports, right?). Project outcomes, peer reviews, and informal conversations with your reports’ team members will provide signals that help you understand how your reports are perceived and the health of the teams they’re working on. Still, these are imperfect proxies for the things you actually care about:

  1. How is your report performing professionally? Are they meeting the expectations of their position?
  2. How are they doing personally? Are there personal factors affecting their work that they want to share with you that will give you a more complete picture?
  3. How are they progressing in expanding and refining their skillset? Do they need a stretch goal to give their growth a nudge?
  4. Are they satisfied with their work and role? Do you need to help them find a new direction? Or can you help them step on the gas now that they’ve found something that invigorates them?

To know the constantly-evolving answer to those questions, you need to have a perpetual conversation with your reports through your 1:1s. Those conversations should be informed by the imperfect proxy signals listed above but not driven by them. Meaning you shouldn’t go into a 1:1 saying, “So and so said you dropped the ball on x.” Instead, when they bring up the incident, you already have additional information to inform how you respond. That additional information can help you help them navigate the challenge and grow from the experience. And if they don’t bring up the incident, you can ask the right open-ended questions that prompt them to share.

You get a real sense of their progress in these harder-to-define and measure skills during these conversations. You’re less focused on outcomes and more focused on the journey. And when undesirable outcomes occur, they aren’t a surprise to you because the challenges that led to the undesirable outcome have been a part of your regular conversations, and you’ve been helping them navigate those challenges with mentoring and coaching. Regardless of positive or negative outcomes, you will know how well they navigated the situation, whether they leveraged their existing skillset, and whether they expanded their skills by challenging themselves. This ongoing and regular conversation makes your feedback more granular, helpful, and accurate. It improves the contextualization of your feedback and makes it more proximate to the skills we’re trying to cultivate.

It’s worth noting that this does not make these skills any less subjective or fuzzy, but it does mean your reports are more confident in whether they’re on the right track in their growth. If feedback is unclear or unfair, your reports can express that, and you can address it together ASAP. If they need to course correct, they get that feedback quickly and can respond ASAP. We’re minimizing divergence of understanding and reducing the chance of miscommunication.

The alternative is fraught with misunderstanding and unfairness, or at the very least, the perception of it. Months of your report feeling like they’ve made the expected progress, only to be told at the end that they have not. The more subjective the skill evaluation, the more likely this unexpected negative feedback will feel unfair or biased.

This style of managing might sound like it’s full of hand-holding, but I’ve found the opposite. As people become more experienced and senior, these skills usually develop naturally, even if it sometimes feels bumpy. Experience drives confidence when facing less deterministic challenges. Your conversations will shift from tactical and “how-to” to more conversational, strategic, and “what do you think?” Your role as manager will evolve from mentorship into coaching. Ultimately, you are helping them develop the intuition and judgment that you are exercising in your conversations together.