github twitter linkedin email
Optimizing Impact and the Realities of Principal Engineering
Nov 12, 2023
7 minutes read

Optimizing Impact and the Realities of Principal Engineering

The problem with being a Principal Engineer is the number of opportunities. There are so many teams that need help, so which door do you go through? You have to say no or you’re going to fail. Pick the things you’re not going to do.

We often talk about the fear of missing out - but as a PE, you are doomed to the certainty of missing out. If you don’t do that doc review or dive in to help that team, it is obvious what you’re missing out on. But if you don’t do the job you want to do, the thing that makes you happy, that big needle-moving thing that you need to sit in silence to do for a week, it won’t be the best thing for yourself or for your company. It would just be a local optimization rather than a global one.

Perhaps the single most important difference between a senior IC and a Principal IC is how they optimize impact rather than output. Your success as an engineer is not judged solely on your personal output but on the impact on the overall business.

Writing more code or releasing more features alone doesn’t make you a better senior engineer. It’s about your ability to deliver a meaningful business impact through your execution. This is the change in mindset that will set you on your way to the next level.

As a principal engineer, your success is no longer judged upon your output, but your impact on the output of those you work with. You’re not tied to specific delivery teams and are often working with multiple teams at once.

  1. Optimize & defend your time
  2. Sort priorities by risk and impact
  3. Get good at doing multiple things at once
  4. Identify and use all the tools in your toolbelt
  5. Form Great Habits
  6. Go at Marathon Pace, not a Sprint Pace

Learn how to optimize your time. At one point, I recorded every 30 mins of every day I had for months because I could not figure out where all the time was going. Categorize them and figure out how you can reclaim time. Balance periods that bring joy and take energy. Keep in mind you can’t always do things that are fun; sometimes you have to grind to get it done and do the things that suck. That’s leading by example.

In your list of a million things to do, sort by risk and impact. Always go after the most impactful or riskiest item. Sometimes this could be a deployment; other days it could be writing a feature, fixing a bug, etc.

Most engineers forget about all the tools in their toolbelt. Managers, PMs, TAMs, support engineers, other teams, and so on are all tools in your toolbelt. You can almost always find creative ways to tackle problems rather than doing it all alone as an engineer. These tools help you scale and multiply your impact.

Lastly, form great habits that work for you to help in consistency. When I was at Microsoft, I had a mentor that was a PE who is now a director at Facebook, and he was obsessed with the food he ate every day. I never understood this guy’s obsession with salmon, but about 5 years later, I finally got it. For example, diet and exercise reduce inflammation in your body and help you deal with stress better. Avoiding alcohol decreases cortisol and lets you think more clearly and be more efficient. I’m not saying to go vegan or change things drastically, but rather be mindful of those aspects of your life that have a knock-on effect. Our bodies are designed to make poor choices under stress. For example, we are programmed to eat high-calorie foods under stress because our bodies think we are running from a lion and may not get food again for a few days otherwise.

Software Engineering is a marathon, not a sprint. So enjoy your time and go at the pace that you think is sustainable. If you don’t make it sustainable and you force a promotion by working insane hours, you will just burn out anyway and be back to where you started.

Realities of PEs and Advice to Future PEs

Easy to feel completely alone

It’s easy to feel completely alone in your journey. Sometimes you’ll be in spots where you’ll be the only person who has the vision and has faith that you’ll get it done. You cannot lose faith in yourself or the mission because the moment you do everyone around you will lose faith. Many times I’ve felt like I was carrying a torch in darkness, but eventually other lights in the night showed up with time.

Sometimes, there will be nobody there to help you. You will become the person everyone else looks up to, and you have to learn how to push yourself Every senior that was promoted to staff/principal that I’ve talked to has some story of suffering and tremendous personal life growth. Be fearless.

Impossible to make everyone happy

It’s impossible to make everyone happy, and you’ll spend way more time than you expected apologizing. This is a natural result of you sorting by impact and risk out of all the doors you walk through.

Ruthlessly defend your time

You must ruthlessly defend your time and use mechanisms like Office Hours or put commanders in place to scale. Otherwise, you won’t be happy and do the things you want to do too.

Easy to feel the world is falling apart (avoid constant threat detection via detachment).

It’s easy to feel the world is falling apart, not because it is, but because you have more visibility to it than anyone else. You’re the first line of defense for the team and will naturally filter everything to them in defense of the community. You need to learn how to avoid constant threat detection and feeling like the world is on fire just because you’re constantly exposed to more stuff. This gets worse over time, not better, as you get exposed to more. Think of these moments like you have an airplane radar while you’re flying, you don’t want to hear beeps from all the bugs outside, only the big planes that are nearby.

Accept & embrace failure

Accept and embrace failure. We promote too early by design, and almost everyone fails. Almost everyone will have an interesting story about how they grew a ton. Ask them about it.

Cynicism & Empathy

It’s easy to become a cynic. it’s a really hard job with a lot of repetition. In a lot of 1:1s when you’re mentoring people, you will explain things 50 times to 50 different people. I started to write down a lot of my generic advice on blogs and used them as “additional info” after talks a lot of the time. But it’s all about perspective. And to them it may be the first time they’ve ever heard it. People may not remember your advice but they’ll remember how you made them feel. People won’t listen to your advice if you’re a jerk.

People may not remember your advice, but they’ll remember how it made them feel.

Imposter Syndrome

Trust and respect the process once you are promoted. You are great.

Seek out Patterns

Seek out patterns across your team, then the organization, across AWS, and across the world. Each level of thought takes you further.

Be yourself

Lastly, what I figured out the most is that you just need to be yourself. Past accomplishments and being you are what got you here so far. Once you become a PE, keep doing what you did because that’s why you’re a PE.

Posts in this Series

This post is the third post in the series, be sure to check out the full series:

  1. Introduction to Principal and Staff Engineering
  2. Self Discovery and Career Growth to Principal Engineering
  3. Optimizing Impact and the Realities of Principal Engineering




Back to posts