August 22, 2015

A year ago today, I got an offer to leave Amazon.com for a new job at Tableau Software. I’m enjoying my time at Tableau and I’ve also been thinking and reading about Amazon. This was going to be a “things Amazon taught me” article, but it’s more like a “things I’ve learned from working” article.

Amazon’s been in The New York Times recently about its annual employee review process which makes heavy use of peer feedback. In my experiences with those reviews, bad news traveled faster than good news and one critical anecdote could undermine a year of productive effort. A single instant message could show up on an annual review. To be seen as excellent, I needed to be excellent all the time.

This concept isn’t limited to software developers. Imagine a customer service representative who gives great service 95% of the time but who gets snippy or sarcastic 5% of the time. Out of 20 customers, the one who gets bad service will remember their experience more vividly than the other 19 do. If that one customer complains or takes his business elsewhere, that’s a pretty big impact in this era when a single incident can go viral in minutes.

Nor is the concept of being excellent all the time limited to Amazon as an employer. Although Tableau’s review process differs from Amazon’s, my new company still uses peer feedback. So did CombineNet, my first employer, when I worked there from 2003 to 2006. In most lines of work, being excellent in the way you deal with other people is essential to success. I’ve read and thought a lot about this, but during stressful times I’ve made mistakes that have strained my relationships with coworkers and that have limited my ability to advance in my job. Being excellent only some of the time leads to uncertainty and to a lack of trust: colleagues will wonder, “Which person are we getting today?” about a person who falters even a minority of the time. Being excellent doesn’t require knowing the answer to every question, but I’ve learned the hard way how crucial it is to handle every question in a constructive and engaged way. Shutting colleagues out and trying to go it alone, being willing to martyr oneself for the sake of a project, won’t lead to good feelings from one’s teammates. The other extreme, being excessively dependent and constantly soliciting approval or validation, will also not endear someone to his or her team. To be excellent is to demonstrate that when a person is given a task, that person will ensure that it is done even when starting from a place of uncertainty.

Being excellent in interpersonal relationships only goes so far. In engineering roles, it’s delivery that matters: do things get built quickly and correctly? I’ve seen a similar concern recently in baseball news: Nick Swisher, known for his ebullient personality, wore out his welcome with the Cleveland Indians after he stopped hitting as well as he was expected to. No amount of interpersonal ability can cover for a lack of production. I see this in job interviews I’ve given: a loquacious candidate can’t talk around a lack of technical skill, but a technically strong candidate might be forgiven for a minor behavioral faux pas. (Of course, that candidate would still have to be coached on soft skills after they were hired.) In 2013, I did my best to build a new team’s development processes when I started to work on a Kindle book store for Amazon’s Fire Phone, but my failure to quickly become an effective Android developer led me to leave the team just a couple of months later. That momentary lack of production became a millstone during my entire last year at Amazon and led indirectly to my search for a new employer.

Being technically excellent means being willing to develop new skills and being open-minded about changes to process, project, and schedule. An excellent software developer will not reject a programming language or an operating system dogmatically. Managers should trust their people to adapt, learn, and deliver. If that trust is lost, it can take years to restore. Being excellent means being realistic: what can a person create without burning out in the process? It also means working with other people to get the most out of a team. Few top performers have ever met a big technical goal on a one-person team.

Every organization believes it has the best people. Being excellent validates a person and their whole company. When a person can no longer be excellent all the time in an organization, it’s time for a change. I’m proud of the change I’ve made in my life. I also believe that at every company, there are high-quality people doing their best and being rewarded for it. Finding the right fit makes everyone better off.