Paul Buchheit - Creator of Gmail, Adsense and FriendFeed
We are addicted to Gmail. We eat, drink & sleep Gmail. So we began our hunt for the engineer who created it. We found out that the creator of Gmail is also the creator of Adsense - Internet's #1 website monetization program. We seached more and found out that the creator of Gmail & Adsense is also the man who gave Google its world famous tagline "Don't Be Evil". We digged deeper and found out that the man behind Gmail, Adsense, 'Don't Be Evil' is also the man behind FriendFeed! We requested him for a Small Talk and he agreed. We jumped with joy.
We are extremely proud and happy to have the engineer who changed the world forever - Mr. Paul Buchheit. Check out our Small Talk with Mr. Paul Buchheit:-
CE: Sir, your innovations in email & online advertising have changed the world. How do you feel when you see millions of people using your creations?
Mr. Buchheit: It's a lot of fun. For me, work is much more enjoyable if I know that it matters to other people and that it's somehow improving their life. This is also one of the reasons that I like the "launch fast and iterate" approach to development that has become popular on the web -- it enables me to get my work out to the world in a matter of hours and very quickly get feedback.
CE: In 1996, you had a random project of your own called "Gmail". Could you tell us about it?
Mr. Buchheit: I never finished the project so I never completely settled on a name. My college (CWRU) had a campus wide high speed network, and it quickly became obvious to me that all of my information should be "online" so that it could be accessed from anywhere, not trapped on a single computer. Email includes some of the most interesting and timely information, so I thought it would be nice to have a web-based email client. That way I would be able to access my email from any computer that was connected to the web.
CE: Why did you decide to join Google in 1999?
Mr. Buchheit: At the time, I was working at Intel, which is very much a big company, and I'm not really a "big company" person, and also I was interested in startups. I looked around for interesting startups in the area, and happened to apply to Google. I was skeptical of their business (there were many competitors who were much larger than Google and had more resources and users), but the people seemed smart, so I thought that it would be a good learning experience if nothing else.
CE: How was Gmail born at Google? Is it true that you built first version of Gmail in just one day?
Mr. Buchheit: Google's "mission" is to organize and make useful all of the world's information, and they recognized that much of the useful information is inside of email, so they asked me to build something that would improve email. I started out by taking the code from the Google Groups Usenet search (which was my previous project) and loading it up with all of my own email. That was version zero, and it only took a few hours to build. From that point, I simply continued iteratively adding features and refining the product.
CE: When others were at 2 MB/Mailbox, you started with 1024 MB/Mailbox! That was way ahead of the race. What was the biggest challenge in building email system that would provide large storage space to its users?
Mr. Buchheit: It has to be kept fast, efficient, and manageable. We used Gmail internally and all had a lot of email, so we never even considered designs that wouldn't allow for a lot of mail. The fact that we were making it free meant that we also needed to keep costs low, so that eliminated the possibility of using expensive storage systems. We also wanted to have many millions of users, so that meant that the system was going to have to be very highly automated -- we can't afford to have an army of sysadmins managing the systems, so the systems have to manage themselves to a large extent.
CE: What are your tips to software engineers on building highly scalable software?
Mr. Buchheit: Keep it simple. A lot of times people think that hard problems demand complex solutions, but we've found that the opposite is often the case, because complex things quickly become unmanageable and incomprehensible. If the system is simple, then it's generally easier to understand and easier to scale. It's also important to know where all of the time is going -- if something is slow, you should know why. Fortunately, this is easy -- just add timers to your code and log everything that takes more than a few milliseconds.
CE: You built the prototype of adsense that changed the fate of online advertising. How was adsense born?
Mr. Buchheit: We needed a way for Gmail to make money. The idea of targeting ads to content instead of keywords had been around for quite a while, but was believed to be impractical. We decided to do a little experiment to test anyway. I wrote more about this story here: https://paulbuchheit.blogspot.com/2009/01/communicating-with-code.html
CE: You came up with the famous punchline "Don't be evil" for Google. What is your tip for creating punchlines?
Mr. Buchheit: It was at a meeting on "corporate values". I don't really have any great tips though. I just wanted something that was different and memorable and that would make people a little uncomfortable.
CE: What is your vision for FriendFeed? What can we expect in 2009?
Mr. Buchheit: We're building a tool to make sharing and discussing things with friends very easy and enjoyable. Our development model and product planning is very iterative, so what we do will depend a lot on user feedback and simply watching which things work well and which don't.
CE: Sir, we are thankful to you for sparing time for us. What is your message to the CEans?
Mr. Buchheit: Build more stuff. I think empirical and experimental methods tend to work the best because the world is simply too complex to predict what will happen in advance. Therefore, we should make an effort to find easy and low cost methods of testing new ideas.
CrazyEngineers is thankful to Mr. Paul Buchheit for sparing his time for the Small Talk. Visit Paul Buchheit's Blog.