How Google is Different from Other Companies

3574266616_5264b3ea42

I started my career at Google right out of school and stayed for 3 years. In this post, I’ll go into detail about how Google is different from other companies.

Perks

Let’s get this out of the way immediately. The perks at Google are better than anywhere else I’ve worked. The healthcare package was incredible. It included dental and vision, as well as all the usual stuff from your health provider. As a single guy, I paid nothing for health insurance, and the coverage was phenomenal. People with families took slight deductions from their paychecks, but I believe they were a lot less than other places.

The food was high quality, and I always felt like I was reverting in maturity. I never had to cook meals, and I would eat breakfast at work.

Breakfast wasn’t just granola or oatmeal – we’re talking a full hot breakfast every single day, with breakfast potatoes and fresh fruit. It was amazing.

Depending on your office, you might get 2 or 3 meals a day. I was in Seattle for 2 years, which is fairly large, so they served breakfast, lunch, and dinner. In contrast, Boulder only served breakfast and lunch, although that office is much larger now, so I believe that has changed.

The perks go on. Everyone got free massage credits, and the company paid for gym memberships, if you didn’t have an onsite gym. Fully paid ski trips happened every year.

The sick policy was wonderful, you just didn’t come in when you weren’t feeling well. You didn’t have to take any days of vacation to make up for sick days.

Working remotely was no problem every once and awhile, but it would have been weird to begin working remotely all the time, without management approval.

I loved their 401K policy. At the time, the company would match you at around 50% of the IRS limit. In 2015, that would mean $9,000 you get for free, assuming you max out your 401K. That was dramatically better than anywhere else I’ve worked.

All in all, I think all these perks were worth between 5 and 15K per year, depending on which ones you took advantage of. The 401K was probably worth the most monetarily. 

Work

Two things separate Google from other companies:

Scale

Google deals with more data than any other company on the planet. When I was an intern in 2008, I was doing MapReduces over 1 Petabyte tables.
 
1 Petabyte in 2008, back when that amount of storage required a datacenter!
 
They have an army of machines, which you can use to do whatever you want, assuming the jobs have low priority.
 
Google has resources you could only dream about at other companies.

Technologies

Google rolls their own for everything. Some examples:
  • Instead of AWS, you configure jobs on Borg.
  • Instead of MySQL or Mongo, you use BigTable.
  • Instead of Jetty or Tomcat, you use the Google Application Framework.
  • Instead of Spring, you use Guice.
  • Instead of JQuery, you use Google Closure.
This can be problematic when you leave because almost all the tools you know are specific to Google. No one else is using them.
 
Fortunately tools are easy to learn.

Once you’ve learned all the custom technologies, Google is full of generic web programmers. Some examples of stuff I worked on:
  • Building automation frameworks for Webmaster Tools.
  • Building internal web tools to pull data from Google+.
  • Building backlinks features for Webmaster Tools.
  • Chrome Extensions to help automate Chrome testing.
Of course the opportunity exists to build cool stuff. You could be a platforms engineer, optimizing Google’s data centers. Or you could spend your days messing with Android or self driving cars.
 
But more likely, you’ll add the 1000th tiny feature in Gmail, or you’ll build tools the outside world never sees. That’s how big companies are. They have a lot of little tasks that need to be done every day to keep things running.
 
But I think all the cool technology and frameworks more than make up for that. If you get bored with your day job, take a break and spin up a MapReduce to analyze some data.

People

My experience at Google taught me to be a much better software engineer. When I started, I had brutal code reviews from tons of different folks. Even to this day, the people at Google were some of the smartest I’ve worked with. My mentor was a PhD from Berkeley who consistently scored higher than 300 in Scrabble (among other things). I worked with another guy who was a brilliant music composer.
 
At other companies, working with other internal teams can be hit or miss. Relying on a piece of internal infrastructure might kill your project because it’s flaky, or it’s not supported, or there is no documentation.
 
This wasn’t true at Google. The internal infrastructure was rock solid. Everyone used BigTable for their database, Protocol Buffers for data interchange, Borg for machine infrastructure. Everything just worked, most of the time. Because Google was my first real job out of school, I had no idea that wasn’t true at most other places.
 
If I can think of one word to describe the people at Google, “competent” comes to mind.
 
The hiring process is a pain in the ass, and it rejects a lot of perfectly good people, but for the most part, it works. Every now and then you still get low performers, but they’re fewer and further between than at other companies.

Pay

I’ve talked about this before, but Google pays at the top of the scale. My 2nd year there, we enjoyed a company wide 10% pay raise because of competition with Facebook.
 
I believe this was not common, but I enjoyed bonuses equal to 20-40% of my base pay on several occasions.
 
If you do well, you can expect yearly stock grants.
 

Work / Life Balance

I don’t believe there’s anywhere where you have a better work life balance than at a big tech company. You work 40 hours a week (if that), you get pampered non-stop, and you make great pay. Your hours are flexible, the dress code is relaxed, and dealing with contractors coming to your house (or whatever) is no big deal.

I’ve read elsewhere about the long working hours at Google, but that wasn’t my experience. I liked to work long, but I was usually the only one in the office late at night.

I saw many people doing perfectly well on 40 hours per week. Those 40 hours usually included tons of time for lunch and breakfast, not to mention naps, massages, etc.

When you account for the hours worked, the pay per hour might be the most of any profession, on average. 

So Why Did I Leave

Everything I’ve said here has been positive, so why did I leave?

I enjoyed my experience at Google, and I learned a lot. But the company didn’t satisfy the need I had to be somebody. I also thought I could spend more of my time working on interesting stuff if I started a company.

It turns out the 2nd was completely wrong. When you start a company you spend all of your time doing sales, planning out features, fixing bugs, and thinking about marketing. You wind up doing less coding than you did before. If you want pure computer science work, then I highly recommend a place like Google.

They will make you a better coder, and they will pay you well. 

photo credit: Lars Rasmussen, Google Wave via photopin (license)