This post was originally posted on my blog
I've been out sick most of this week due to an annoyingly persistent headcold. When I was a kid and I got sick enough to stay home from school, I'd lay in bed until I was feeling a bit better, and then I'd watch cartoons on TV for the rest of the day.
As an adult, the cartoons have been replaced with TED Talks. I love TED Talks because they contain such a wealth of experiences and insights from a wonderfully diverse group of individuals. One talk that stood out to me was Dan Pink: The puzzle of motivation.
In this talk, Dan explains how external motivators such as promotions, bonuses and awards, commonly used by businesses to motivate employees, actually decrease performance if the work being done requires creativity. This resonated with me because I mentor many developers, and a common, ongoing topic of conversation is how to get promoted to the next level.
I always agree to help guide developers in the direction of getting promoted, however I first give them the following disclaimer: In my entire career, I have never made getting promoted or receiving good ratings the primary focus of my work. In fact, the few times I've felt myself starting to worry about how my actions might be perceived by others in the context of annual reviews or ratings, I've felt a drop in performance and general job satisfaction.
This may sound a little cheesy, but I honestly get a lot of personal satisfaction from knowing that customers are using my software and are having a good experience. The beauty of this is that it results in a strong alignment between my personal motivations and Amazon's core principles. I honestly want to deliver quality software that meets the customer's needs as quickly as possible, because I find that satisfying in and of itself. Promotions, good ratings and bonuses are a happy side effect of genuinely wanting to do "the right thing."
So my "big secret" to getting promoted or rated well is to stop worrying about it so much. This also leads to a generally happier work experience, because I'm not basing my personal feelings of self worth on something that may or may not come, and if it does, only comes once or twice a year. Instead, I get some level of satisfaction from every change I push to production, especially when operating in a full Continuous Deployment environment.
Ok, for you skeptics out there, I will admit that as I've gotten higher and higher in level, I have had to start thinking about promotions a bit more. Currently, my next promotion would be to Principal Engineer (which is a mind-blowing thought!), and I do have to take a bit more of a strategic approach to it. I make sure I'm picking up opportunities that align with getting to the next level, however again, the key point to stress is that promotion is never my primary focus. I don't just volunteer for any opportunity if it fits the profile of a Principal Engineer. It has to make sense, given my skill set and what I'm personally passionate about.
For example, a few years ago, I took ownership over a process for my org that helps more teams get to full continuous deployment. Since it spans the org, it definitely "looks good" in terms of showing my ability to operate at a level larger than an individual team, which is a requirement for Principal Engineer. I was conscious of this fact, however I volunteered for the role primarily because (1) I'm very passionate about full CD and (2) I saw some ways that I could really improve on the process from the previous year. If those two components hadn't been there, I would not have volunteered, no matter how good it would look for my career.
It's not that I don't care about my career. But I care much more about feeling passionate and motivated about the work I'm doing every day. I care much more about the developers I mentor, about forming strong teams and delivering great software. High ratings and promotions should be considered natural side effects, not the core goal.