Career Growth explained as an Amazon Leadership Principle Flywheel

Published on May 16, 2024

My mental model for mentoring others

“I’m stuck in a rut, how do I get out of that?”

“How can I get my boss to give me more scope/responsibility?”

When I mentor engineers, I am often asked a variation of these questions.

Working at Amazon for over 11 years, I’ve always been fascinated by the Leadership Principles (“LPs”). They are a great framework for thinking about the world. What didn’t occur to me until a few years back is how LPs actually work together and form a flywheel. There’s a naturally occurring synergy among them.

Flywheels are common mental models within the Amazon culture, starting with Jeff Bezos’ original 2001 flywheel for the Store. Although my use of the term “flywheel” may spark some debate with flywheel purists, I use it because flywheels have a critical property for my analogy. Given their weight, they are difficult to push from a standstill, but once they start moving, they gradually build momentum, which eventually enables them to turn by themselves and create even more momentum through a self-reinforcing loop. Grow your career a bit with every turn of the wheel. This works from entry level engineer to distinguished engineer.

So when I start sketching my basic advice to my mentees, it goes like this:

(1)

Start by Delivering Results. That’s the #1 thing you must do in any job. Do what you are asked, by the date that you’re asked to do it by. Do it consistently. Show others they can depend on you. Track record matters.

(2)

That Earns Trust with people around you (manager, skip, peers). That trust is currency. Think of it like a bank where with every “Deliver Results” you’re depositing some money into your “Earn Trust” account. #1 nicely feeds into #2.

(3)

Eventually, you’ll have a significant amount of money in that account. You can spend it! Credibility means people around you support you when you take bolder steps. This is the time where you exercise Ownership and Think Big to think about tackling a problem or opportunity bigger than what you were doing in #1. This is where your mind starts thinking in longer-term and/or bigger scope. To quote a friend: “Think like an Owner of the Bigger space, not just your little bit.”

(4)

Invent and Simplify often comes into place as the next step in the workflow. In #3 you identified something, now it’s the time for you to figure out a way to solve it. This may require ingenuity and disambiguating a complex situation and distilling it into smaller, achievable steps.

(5)

The next step is Bias for Action. I often see people coming up with “big ideas” and always talking about them, but not actually doing anything. Inevitably that leads to frustration (“why can’t others see how good this idea is?”). You have to have the fortitude to make something happen. Sometimes that just takes blood sweat and tears.

(6)

The next step is more of an “IF” statement than anything else. If you Are Right a Lot, whatever problem or opportunity you identified in #3 and whatever solution you conceived in #4 were the right things to do.

Then you’ll end up Delivering (Much Bigger) Results than you were doing last time you were at this step of the flywheel. This gives you momentum and currency and Earns (More) Trust (Than Before).

What if you were NOT Right? Maybe the problem or opportunity you identified in #3 was not right or maybe the solution you came up with in #4 was not right.

My little flywheel has special dotted lines for this. After all, the LP is “Is Right a Lot”, not “Is Right Always.” Back in the days, Amazon used to have a LP called “Vocally Self Critical” that articulated this better. It got rolled into “Earn Trust,” which makes sense because one of the ways in which you Earn Trust from others is by being Vocally Self Critical, but I personally miss having it as a first-class citizen in LPs.

If at any point in the flywheel you realize what you’re doing isn’t going to Deliver the Right Results, you can be honest and self-critical and pull the plug on it. Or, it may be the case you don’t need to kill it, but take your lessons learned and iterate with modifications. Either way being honest and Vocally Self Critical will Earn Trust with others around you, even in failure.

This is the final flywheel!

The beauty of the flywheel is that for as long as it keeps spinning, it continues to build momentum and turn faster.

I’ve spoken about the flywheel in abstract terms so far. Let me give you a concrete example on some of the spins of the flywheel in my own life.

My Flywheel Spin #1

My first spin of the flywheel at Amazon did not actually start with Deliver Results. It started with a negative balance in my Earn Trust account!

Back in 2012, I was responsible for an outage that brought down critical parts of amazon.com during Cybermonday, the busiest shopping day of the year. I should have load tested my product but I didn’t, and it failed due to a scaling issue. (story here)

The multimillion dollar failure that changed my professional life (for the better) [2011]

Not only had I not Delivered Results, I had lost trust from people around me. That overdrew my account and I found myself in the red, with a negative balance.

My Flywheel Spin #2

I knew what I had to do. I focused on Delivering Results to get that bank account back to a positive balance. I conducted extensive load tests to ensure peak readiness for 2013. I was lucky enough in that I uncovered two problems that would have caused severe operational issues to the entire Amazon store and I was able to get them fixed before they affected customers (story here).

How I tripled load in Production for testing purposes at Amazon...

That Delivered Results (I was able to demonstrably prevent a severe outage), which Earned Trust. In the course of 12 months, I had managed to turn a negative bank account into a positive bank account. I felt I was now in a position to withdraw some cash and take the next step.

I thought: “I was able to show success for 1 team, can I show success for 5?”. It was Think Big because I was extending a concept from 1 to 5. And it was Ownership because I was thinking as an Owner of my Director’s entire org, not just my team. I went to the bank, withdrew all my money, and in the next 1:1 with my Director, I put the thick stack of bills in front of him and said, “I’d like to spend the next six months working with whatever 5 teams worry you the most and help them load test too.”

Next was Invent and Simplify and Dive Deep. I had to Dive Deep because every single team had unique architecture, therefore unique failing points and potential bottlenecks. Every team had slightly different needs, so I had to invent ways for the infrastructure to handle more use cases. For example my original product had focused heavily on a fixed number of very large payloads (about 100 transactions per second but petabytes of data). Other teams had spikes of tens of thousands of transactions per second with tiny payloads. Those are entirely different cases. With every new team, my framework became more versatile.

The Bias for Action here was furiously writing the code to make all these things happen in a tight timeframe. I wrote about 20k lines of code in this iteration of the flywheel.

Luckily again, I was able to help these teams find and prevent operational issues. One of the services found that they were way over-scaled for peak so they were able to release hundreds of thousands of dollars of hardware they were holding. That Delivered More Results… ready for the next spin of the flywheel!

My Flywheel Spin #3

At this point, I had Delivered Results for 1 team, then proved I could Deliver Results for 5. I had a good amount of cash in my bank account. It was time for me to Think Bigger: could it be useful to N teams? It was time to withdraw my money again and take the next spin of the flywheel.

I went to my Director once again with a stack of my hard earned Trust cash. “I want to open this up for Amazon-wide usage. Oh, and I want this to be my full day-job!”, I said.

He agreed and off I went on another round of Invent and Simplify: now that the infra was amazon-wide, I needed to figure out how customers could onboard onto it with the least amount of toil on their part, so I ended up using three esoteric, obscure features of Java to bootstrap custom code in an elegant way (story here). I wrote another 30k lines of code in this spin.

Classloaders to the Rescue!

Little by little, I watched the adoption numbers grow. Ten teams, a hundred teams, 200 hundred teams. My gamble had paid off and I had Delivered More Results than in the previous spin of the flywheel.

My Flywheel Spin #4

At this point, I had Delivered Results for a couple of hundred teams at Amazon. I had another good pile of money in my Trust account. It was time for me to Think Bigger, as a true Owner of Amazon.

Up to now, the work had largely been me full time, borrowing cycles from engineers around me and taking a community-contribution approach to growing the software. I needed to be more serious about it. I moved over to Amazon’s Developer Tools, the organization that owns all the infrastructure and tooling that amazonians use for building, testing and deploying code internally. I brought my tool with me, and I managed to get it funded with real headcount. Now what had initially been a weekends-and-night pet project had turned into an actual team.

As the infra became truly Amazon-wide, I went on another round of Invent and Simplify. For example, if this thing was to become amazon-wide, I had to figure out how to generate loads in the millions of transactions per seconds from thousands of machines (story here). And, you guessed it, wrote another 30k lines of code or so.

How I scaled Amazon’s Load Generator to run on 1000s of machines

Little by little, my team and I grew the product and it became the infrastructure that Amazon uses (still today!) to load and performance test their services (story here).

A tale of Elephants

My Flywheel Spin #5

At this point life was good. I had been promoted to Senior Engineer after Flywheel Spin#2, and then to Principal Engineer somewhere in Flywheel Spin#4. I had built a successful Amazon-wide tool that consistently delivered business value, and a great team of awesome engineers around it. Once again I had a bit of cash in my bank account.

It was time to Think Bigger. I had managed to create infrastructure for amazonians to Load Test their services. Could I think more broadly about the Test space at large, beyond Load Testing? We needed to evolve in terms of the infra we had for Functional Integration Testing, and Canaries. So I used the money in my Trust bank account to take one more spin on the flywheel.

I had grown my first big amazon-wide infra project, the load test infra, bottom-up, as a grass-root effort that grew organically, and eventually leadership had to fund it because it was too useful to fail. I wanted to grown my second big amazon-wide infra project top-down: start by articulating a vision, sell it to my leadership, securing funding, hire people, and then going and building the thing.

I had a rough start to my spin, leading to The Day I *Almost* Rage-Quit Amazon (story here), but I did eventually manage to succeed and bootstrap a team to build Amazon-wide infrastructure for Functional Testing, Load Testing and Canary Testing.

The day I *almost* rage-quit Amazon

The story has a happy ending. I left Amazon in 2020, went to Google for four years, and just came back to Amazon. It was lovely to see how much maturity the infrastructure had achieved in those four years I was gone, and how it had gone from a whitepaper I had written to a thing used by tens of thousands of engineers at Amazon to do their job every day.

Carlos Arguelles on LinkedIn: Everything has a story. About 6 years ago, I wrote a whitepaper with some... | 40 comments

In Conclusion

Now, your turn. How many spins of the flywheel have you had in your life? What Results do you have to Deliver to get the next spin going? If you have some money in your Earn Trust account, how can you Think Big to find ways to spend that cash? Good luck in your career growth!

This is the final flywheel!