Interview with Gmail Creator Paul Buchheit

Table of Contents


  1. 个人优势和定位
  2. 是否选择创业
  3. 职业规划和发展
  4. 如何做更有影响力的事情
  5. 以及现实世界的问题

1 Did you feel like you were a good programmer when you got to college?

I felt like I was relatively good. I knew I wasn't good at building large scale things—but my code did the job. When I got to college, there was an ACM programming competition which I thought would be fun to take part in. I ended up coming in second place, so then I thought, “yeah I'm probably OK.”

2 Why did you decide to take the Google offer?

Also, it was exciting, and I thought they were doing cool stuff. I didn't believe in the business or think the company would be a huge success, though. I thought they were going to be roadkill and would get squashed by one of the big internet companies. By then, Yahoo was already a behemoth, and Alta Vista had so much money. I didn't understand how this little startup would be able to compete. But I decided I didn't care. I wanted to go work on Linux stuff and figured I'd at least meet some smart people there, and maybe they'd later start a company that would actually be successful.

3 How did they decide what you got to work on at Google?

I generally had product tendencies and was always hacking things on the side and adding features to things. I actually built the first version of the “did you mean?” feature after looking through our search query logs and discovering that I'm not the only person who can't spell. The quality team was working on these obscure things to improve search quality by .1% and I'm thinking, “at least 20% of our queries are misspelled. If we fix the spelling, I can improve 20% of the queries!” So I hacked that together. I would hack a lot of things together like that.

4 How did you manage your personal career progression at Google?

I've never really been into the whole “career” thing. It just feels horribly big-company. I was always very allergic to things that I perceived as big company. I just didn't want to be tucked away in a corner working on something irrelevant. I interned at Microsoft after my freshman year of college. On my last day, one of the smartest engineers in my group gave me this piece of advice, “Make sure they don't stick you off in a corner working on something unimportant.” I've always remembered it as good advice. My ambition at Google was just to launch a cool product or create something important.

5 Why did you decide to leave Google?

But when I went in the next day, the energy drained out of me. I suddenly felt like I used to feel working at Intel. Partially I think Google had grown so much in my absence, but it was also partly a “boiling the frog” effect: before I spent time away, I hadn't noticed things slowly changing, but when I got back I realized, “Oh wow, here I am in a meeting with a bunch of people I don't know who are telling me to do stuff that I don't care about.” I knew immediately that if I stayed at Google, and wanted to be successful and influential, I would have to become more of a big company person. I knew that I had the capacity to do that, but I didn't want to. I wanted to do something else, so I left.

6 What skills and knowledge does it take to be a good engineer?

Computer science is almost unlike any other engineering discipline because we routinely work at many different layers of abstraction. Someone who is only able to operate at one level is not going to be effective because often any given problem will be at a different level of abstraction from the last. Great engineers understand computers all the way from the silicon up through the different layers and protocols and systems.

7 Who are some of the best engineers you've worked with? What made them great?

Craig Silverstein was another, he was the very first Google employee. He is someone who types and programs faster than I can perceive what he's doing. Sometimes I like to watch other engineers work so I can learn how they do things. But with Craig he moved too fast for that. The screen would flicker and code would just appear. He'd constantly be flipping buffers in Emacs or whatever. He types so fast. I've never seen anyone else that fast.

8 Do you think every good engineer currently working at Google, Facebook, or Apple should quit to join a startup? Who should and who shouldn't?


If you're happy working where you are, and you don't have any ambition to do anything else, you're probably going to get paid less and work more if you leave. If getting paid less and working more is unappealing to you, then I would recommend staying where you are! I feel the need to preface that any generalization about joining startups is basically wrong because startups have tremendously high variance. Most startups are s**t. There's a few of them that are really exceptional, and if you land at an exceptional one, you can do really well. If you randomly pick something, you'll probably have a bad time.

9 If the hours and the pay are worse, what are the benefits of working at a startup?

A big company, like Google is today, has all these really smart people who are already experienced and know what they're doing. So, if you join Google, you're going to be working at your “correct” level. At a startup, though, they probably don't have the resources they need, so you can be operating way beyond your level. That's what I think is really great about startups.

Gmail is an example of this. I was 24 years old at the time, and I'd never completed a project of that scale or built anything like that before. Google today would never give that project to a relatively inexperienced 24 year old. But at a startup you can end up getting a project that a more mature company would give to a more experienced engineer.

10 Today, the big technology companies are paying engineers a lot more money than Intel was when you left for Google. How should that fact affect an engineer's decision to join a startup?

Yeah, that's hard. I think you have to view it as an investment. You're essentially investing in yourself. You have to believe that at the startup, you're going to learn and develop faster. If you don't think it will provide that, maybe you shouldn't take the job. If you go someplace with a lot of really smart people who are moving really fast, you can grow and develop as an engineer, or whatever you want to be, much faster than you would at a big company.

11 If you're thinking about joining a startup, how do you tell if the founders are like Larry and Sergey or if they're an Elizabeth Holmes?

Right, that's the worst combination: smart and full of s**t. I think you have to interview them a little bit. Ask hard questions and see if they give direct, insightful answers, or if they're evasive and dismissive. It also helps if there is a product you can try. I would avoid startups that have a ton of hype and no product.

12 Why isn't everyone happy all the time?

Oh God. I'm not sure. I think maybe we've strayed too far from our evolutionary roots. We've created a world where it's hard for people to be happy. Plus, there's a whole industry evolved to make us unhappy—it's profitable for us to be unhappy because then we'll go buy “solutions” for our unhappiness.