How I Started Programming

I started programming in the late 1990’s, when I was working at Back then, the members of Amazon’s customer service department had to write their own code to get whatever information they needed to do their jobs. When customers called or emailed to ask where their book was, we ran home-grown Perl scripts called customerstat and orderstat to pull information from an Oracle database and display it in a Unix terminal.

Jeff Bezos, circa 1997

I didn’t write any of that code, but I used to browse through it as I taught myself C and Perl. Once I started learning to code, I couldn’t stop. I used to stay up past midnight and then get up again at 5 AM to work on Perl projects, configure Linux systems and learn how databases and web servers worked.

I wanted to join the team that wrote Amazon’s customer service tools. Up until the week I applied, the CS dev team would hire anyone within customer service who proved they were competent. But the week I applied, they changed their policy, requiring all candidates to have a computer science degree. That meant they wouldn’t even consider my application.

Around the same time, Amazon held an all-hands meeting at the Moore Theatre on Second Avenue in Seattle. (Yes, the entire staff could fit in one theater back then.) Jeff Bezos talked about the current state of the company and where Amazon was headed. While he spoke, employees wrote questions on slips of paper and put them into a hat that was passed from seat to seat.

When Bezos finished speaking, a woman handed him the hat. He started pulling out questions, reading them aloud and answering them.

At the time, Amazon had very high standards for its customer service reps. I think more than half of the people in the department had masters degrees. The philosophy in Customer Service was to hire smart people, train them thoroughly, give them full access to all the tools they needed to do their job, and then give them full power to make decisions.

Some of the Customer Service managers called this “the Israeli Army” philosophy, referring to the Israeli Army’s practice of training all of its soldiers as officers, so they could make important decisions in situations where they were unable to communicate with their commanding officers.

This practice of hiring really smart people, training them well, and trusting them resulted in a very effective department that consistently performed at a high level.

Still, some of these really smart people were not happy in customer service.

One of the questions Jeff Bezos pulled out of the hat and read aloud was this:

I have a bachelors degree and a masters degree, and I all I do is answer phone calls from people who want to know where there books are. I didn’t spend all those years in school for this. Why can’t you offer me something better?

Bezos responded with this:

We only hire smart people here. The fact that you’re here at all means you are very intelligent and very capable. You can probably succeed at anything you put your mind to. If you don’t like it here, if you don’t see the path you want to take, you should leave. Life is too short to waste time doing things that make you unhappy.

And that was it. A completely honest answer. And a very impressive one for a CEO to give in front of all the employees of his start-up. Smart, hard-working people are hard to find, and Amazon was doing all it could to find as many of them as possible. Yet here was the CEO telling his smart people they should leave if they thought they could do better elsewhere.

I was not one of those disgruntled customer service reps. I liked my job, I liked the culture and energy of the company, and I really like the people I worked with.

But Bezos’ words flipped a switch in my mind. I had become fascinated with programming–“bit by the bug,” as my roommate put it–and I would gravitate to it whether it was my job or not. If I couldn’t work in the customer service apps group, I could go look somewhere else. In the late 1990’s, as the dot-com bubble was inflating, anyone with basic programming skills could get a job in web development. So I left Amazon and started down this road.