"I am stuck in a rut, how do I get out of it?"

"How can I get my boss to give me more responsibility?"

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

Working at Amazon for over 11 years, I have always been fascinated by leadership principles (LPs). They are a great framework to think about the world. What didn't occur to me until a few years ago is how LPs truly work together and form a flywheel. There is a natural synergy among them.

Flywheels are common mental models in Amazon's culture, starting with Jeff Bezos' original 2001 flywheel for the store. While my use of the term Flywheel may spark some debate with purists, I use it because the flywheel has significant relevance for my analogy. With their weight, they are hard to push out of inertia, but once they start moving, they gradually build momentum, eventually allowing them to turn back and generate even more momentum through a self-reinforcing loop. Advance your career a bit with each turn of the wheel. This works from entry-level engineers to standout engineers.

My initial advice to advisors like this:

(1)

Start by delivering results. That's the number 1 thing you must do in any job. Do what you are asked, by the day you are asked to do it. Do it consistently. Show others they can rely on you. Keep track of profile issues.

(2)

That earns trust with those around you (managers, peers, subordinates). That trust is currency. Think of it like a bank where with each result delivery , you are depositing some money into your account. #1 Data source unique into #2.

(3)

Finally, you will have a significant amount of money in that account. You can spend it! Trust means those around you will support you as you take bolder steps. This is the time to exercise ownership and big thinking to address a problem or opportunity bigger than what you are doing in #1. This is where your mind starts thinking long-term and bigger. To quote a friend: Think like an owner of a larger space, not just a bit of yours.

(4)

Innovate and simplify is often presented as the next step in the work process. In #3 you have identified what, now it's time to figure out how to solve it. This may require finesse and breaking down a complex situation and distilling it into smaller, achievable steps.

(5)

The next step is bias for action. I often see people come up with great Viking ideas and talk about them, but never actually do anything. Surely that leads to disappointment (Why can't others see how good this idea is? You have to have the courage to make something happen. Sometimes it just takes blood, sweat, and tears.

(6)

The next step is an If-Then-Else statement above anything else.

  • If: You are very right, any problem or opportunity you identified in #3 and any solution you thought of in #4 are the right things.
  • Then: ultimately you will deliver results (much larger) than the last time you were doing this step of the flywheel. This gives you momentum and currency and earns trust (more) (than before).
  • Else: Maybe the problem or opportunity you identified in #3 is not right or the solution you proposed in #4 is not right. LP is very right is very much, not always right. Previously, Amazon had an important LP called Very Vericalial, which made this clear better. It was brought into the success of Earn Earn, which is meaningful because it is one of the ways you earn trust, but personally I remember it as a first-class citizen. If at any point in the flywheel, you realize what you are doing will not yield the right result, 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 learn the lesson and iterate with modifications. Whether by being honest and self-important will earn trust with those around you, even in failure.

This is the time you give me a suspicious look and ask, Wait, where is the customer obsession here? - Because customer obsession is Amazon's leadership principle #1.

For me, this particular LP is present everywhere so initially I didn't call it out. But there is a special place for it. When the flywheel is spinning and you have built up some kind of balance in your entrusted bank account, customer obsession becomes an accelerator in the next spins. It enhances your big thinking and ownership.

The beauty of the flywheel is as long as it keeps spinning, it keeps building momentum and spinning faster.

I have been talking about the flywheel in abstract terms until now. Let me give you a specific example of some spins of the flywheel in my life.

My Flywheel Spin #1

My first cycle about the flywheel at Amazon didn't really start with delivering results. It started with a negative balance in my Earn Trust account!

Back in 2012, I was responsible for stopping an outage that took down critical parts of Amazon.com on CyberMonday, the busiest shopping day of the year. I was supposed to load test my products but I didn't, and it failed due to a scaling issue. (Story here)

Not only did I not deliver results, I lost trust from those around me. It went beyond my account and I found myself with a negative balance.

My Flywheel Spin #2

I knew what I had to do. I focused on delivering results to bring that bank account back to a positive balance. I conducted load tests to ensure the highest readiness for 2013. I was fortunate to discover two issues that could cause serious operational issues for the entire Amazon store and I was able to fix them before they impacted customers (Story here).

That brought results (I was able to prevent a store outage), which earned trust. Over the course of 12 months, I turned a negative bank account into a positive bank account. I felt now I was in a position to withdraw some cash and take the next step.

I thought: If I could show success for 1 team, could I show success for 5? That's big thinking because I expanded a concept from 1 to 5. and that's ownership because I thought like an owner of my entire directorate, not just my team. I went to the bank, withdrew all my money, and in a 1:1 with my director, I laid out a thick bill in front of him and said, I want to spend the next six months working on whatever 5 teams are most concerned about for you and help them load test.

Next is innovate and simplify and dive deep. I had to dive deep because each team has a unique architecture, hence, unique failure points and potential bottlenecks. Each team has slightly different needs, so I had to innovate ways for the infrastructure to handle more varied use cases. For example, my initial product focused heavily on a very large load (about 100 transactions per second but petabyte of data). Other teams have tens of thousands of transactions per second with smaller loads. Those are completely different cases. With each new team, my framework became more flexible.

The bias for action here wrote code to make all of this happen in a tight timeframe. I wrote about 20k lines of code in this spin of the flywheel.

Luckily, I was able to help these teams find and prevent operational issues. One service noticed they had exceeded the highest threshold they could release hundreds of thousands of dollars of hardware they were holding. That brought more results, ready for the next spin of the flywheel!

My Flywheel Spin #3

At this point, I delivered results for 1 team, then delivered results for 5. I had a good amount of cash in my bank account. It was time to think bigger: could it be useful for hundreds of teams? It was time to withdraw my money once again and take the next spin of the flywheel.

I went to my director again with a stack of hard-earned cash. I want to open this up for use across Amazon. Oh, and I want this to be my full-time job!

He agreed and off I went into another round of innovate and simplify: now that the infra is across all of Amazon, I need to figure out how customers can get on top of it with their largest loads, so I used three Esoteric, the most nuanced features of Java (Story here). I wrote another 30k lines of code in this spin.

Bit by bit, I watched the adoption numbers rise. Ten teams, a hundred teams, 200 hundred teams. My gamble paid off and I brought more results than the previous spin of the flywheel.

My Flywheel Spin #4

At this point, I delivered results for a few hundred teams. It was time to think bigger, as a true owner of Amazon.

So far, most of the work was me full-time, borrowing cycles from engineers around me and executing a community allocation approach to develop software. I need to be more serious about it. I switched to Amazon's development tools, owning all the infrastructure and tools Amazonians use to build, test, and deploy code internally. I brought my tool, and I funded it with personnel. What started as a weekend and night project turned into a real team.

When Infra became truly across Amazon, I went into another round of innovate and simplify. For example, I had to figure out how to generate load in millions of transactions per second from thousands of machines (Story here). And, you guessed it, wrote another 30k lines of code or longer.

Bit by bit, my team and I developed the product and it became the infrastructure Amazon uses (today!) to load and test their service performance (Story here).

My Flywheel Spin #5

I was promoted to Senior Engineer after Flywheel Spin #2, and then Principal Engineer in Flywheel Spin #4. I built a successful tool across Amazon, continuously delivering business value and a great team of engineers around it. Once again I had some cash in my bank account.

It was time to think bigger. I managed to create infrastructure for Amazonians to load test their services. Can I think bigger about the larger space? We need to expand to different types of tests. So, I used the cash in my trusted bank account to take another spin on the flywheel.

I developed my first large Infra project across Amazon, The Load Test Infra, bottom-up, as an organic development effort, and eventually leadership had to fund it because it was too valuable to fail. I wanted to develop my second large Infra project top-down: Start by articulating the vision, sell it to my leadership, secure funding, hire people, and then build everything.

I had a rough start to my spin, leading to the day I * almost * Rage-Quarit Amazon (Story here), but ultimately I managed to succeed and bootstrap a team to build infrastructure across Amazon for testing functionality, load testing, and Canary testing.

The story has a happy ending. I left Amazon in 2020, went to Google for four years, and returned to Amazon. It's heartwarming to see how much the infrastructure has achieved in those four years I was gone, and it has gone from a whitepaper I wrote to something used by tens of thousands of engineers at Amazon to do their job every day.

In conclusion

Now it's your turn. How many spins have you had in life? What results do you need to get the next spin of the wheel? If you have some money in your Earn Trust account, how can you think big to figure out how to spend that money? Good luck in your career development!

Users who liked