I quit Amazon after I cracked the code for promotions. It took me 14 years to become a principal engineer — here's how.
- Steve Huynh transitioned from creative writing to programming, landing a contract role at Amazon.
- He faced an eight-year struggle to get promoted from senior to principal engineer.
This as-told-to essay is based on a conversation with Steve Huynh, a 42-year-old from Seattle, Washington. It has been edited for length and clarity.
A friend used his connection to land me an interview for a contract role at Amazon after I expressed interest in transitioning from creative writing to programming. I got the job in 2006 and made it my mission to create such an undeniable presence at the company that my transition into full-time employment would be guaranteed. And I did just that.
After multiple swift promotions that led me to become a senior software engineer by 2012, I found myself in a career rut. It took me eight painful years to finally get promoted. Along the way, I struggled and even considered quitting.
In 2020, my fiercely systematic approach to getting a promotion worked and I achieved my goal of becoming a principal engineer. In my 18 years at Amazon, I successfully went from making $35 an hour as a contractor to making $270,000 as a principal engineer. Then, I finally quit.
I graduated with a degree in creative writing and transitioned into tech
In my last semester as a creative writing undergrad at the University of Washington, I asked my writing workshop professor what the job landscape for writers looked like. He told me there's no job called writer, there's only a job called waiter. I took his comment to heart and pivoted my job search to programming.
Both of my parents are engineers and I'd been programming since I was little, plus I double minored in math and applied math, so I felt like I was three-quarters of the way to being a software engineer. I ended up falling in love with it.
A friend helped me land a contract role at Amazon
Shortly after I graduated, I was grabbing drinks with a buddy from high school who was working at Amazon. He knew of a job opening at Amazon for a support engineer role and guaranteed me he could snag me an interview. The job was a contract role, and my responsibility would be to identify and resolve computer issues. It felt software engineer-adjacent, so I took him up on the opportunity and got the job at $35 per hour.
I quickly got into the rhythm of the day-to-day job and didn't find my responsibilities challenging. For half the day I found myself with no other work to complete, so I utilized my free time to learn new programming skills and create a presence at the company.
I went above and beyond at Amazon to get promoted from contract to full-time
Amazon is a pretty transparent place so I took advantage of its internal Wikipedia to download as much information as possible about its coding systems. I let my curiosity drive me down a rabbit hole and soaked up as much information from internal sources as I could.
I also made a concerted effort to insert myself into the software development department and create an undeniable presence at the company. For example, if a customer came to me with a website issue due to a software bug, my job as a support person would be to file a bug report. Instead, I'd file the bug report and immediately locate the impacted piece of code and file a fix for it. Software engineers had to review my changes, but I forged a trusting relationship with them by effectively contributing to their jobs. I slowly networked my way into monthly software engineer meetings and steadily expanded my frontier of exposure within the group.
After 5 years my salary grew by over $25,000
In late 2007, I felt ready for a new role and decided to interview for a lateral move within the company. I was only supposed to reach out to one department for job opportunities at a time, but I contacted and secured interviews with three departments.
To prepare for the interviews, I pooled colleagues for questions they remembered being asked during their interviews and created a comprehensive database. Then I asked my new software engineer friends to give me mock interviews. I ended up getting job offers from all three departments I interviewed for.
I accepted a job in payments as a software development engineer for $75,000 where my role was to perform high-scale backend transaction processing. The job was boring from the outside, but we were playing with some pretty big numbers which kept it interesting. I stayed in that role for nearly five years before being promoted to senior development engineer in 2012 with a base salary of $107,000.
I sacrificed my chances of promotion to work on a product I loved
Four years after I became a senior engineer, I felt ready to be promoted to principal, but I was denied. Luckily, I'd just gotten moved to a team developing Amazon Tickets, a Ticketmaster alternative, and I loved it. The project shifted me out of a promotion mindset. I was so enraptured with the project.
But in March 2018, two years into development, Amazon Tickets was unexpectedly shuttered. At that point, I was so done. I started feeling disengaged at work and seriously considered quitting. It was the lowest of lows for me.
I quickly got reorged to the Prime Video live events team and started reporting to a new manager. I had the opportunity to lead the live services engineering teams on broadcasts for events like Thursday Night Football. I found it hugely exciting. Plus, I hit it off right away with my new manager and we became a powerhouse duo. He even helped me write and submit my promotion document, though I got denied that first time around.
In 2019, I cracked the code to my Amazon promotion then I quit
Amazon has an incredibly granular list of criteria that need to be met before you can be considered for promotion, so I worked with my manager to identify the gaps in my performance, and I got feedback that helped me get systematic about my approach moving forward.
I created a project for each gap that, if completed, could serve as evidence of my ability. I worked backward to create a strict timeline to finish my projects between July 2019 and November 2019, when the promotion document was due.
I was denied again, but my list of missing criteria had shrunk significantly. I created projects for those final skills and submitted another promotion document a few months later and was approved to become a principal engineer at a salary of $160,000. But, just as I was promoted, the pandemic shut down all our sports leagues, and for the first time in a while, I had time.
I started watching a lot of YouTube videos and decided to use my extra time to throw my hat in the ring and start my own tech channel.
I already owned a lot of photography equipment so it wasn't too much of a stretch for me. By 2024, my salary at Amazon had grown to $270,000, but I was making nearly as much from YouTube. I realized I'd regret not taking a chance on myself and going all in on YouTube. In March of this year, I officially quit Amazon.
I'm happy with my decision but I miss writing code
Creating content is incredibly satisfying, but I'd be lying if I said I didn't miss working on projects that affected hundreds of millions of people. I miss writing code. I miss being a stone's throw away from brilliant people. Sometimes, I even miss the corporate jargon.
I spent 50% of my waking life at Amazon and feel like it'll always be a part of me. Maybe one day I'll go back, but for now, I'm happy with the path I've chosen.
If you work in Big Tech and would like to share your salary progression and career journey, please email Tess Martinelli at tmartinelli@businessinsider.com.