I have a few friends who periodically ask me, “Why don’t you work at Google?” To non-developers, Google seems like a programmer’s paradise – smart people, free food, scooters! and interesting projects to work on. Google does indeed have all of these things.
It’s not enough.
On Being Smart
Google likes to hire engineers based on how smart they are. Their interviews are full of interesting algorithmic questions and puzzles. If you’re into that stuff, it’s actually kind of fun. They and Microsoft in particular are famous for interviewing this way, but smaller companies do it too. I get several recruiter emails each week for startups where I could work with “a really smart team!!! engineers with ivy league degrees!!!”
I’ve always been “smart” (instead of athletic or popular), and I grew up reassured by adults that in their world, “smart” was the crucial component of success. Imagine my shock when I discovered that it was not, in fact, sufficient.
It isn’t sufficient for software development, either.
What’s Missing Here?
My first job out of college was at Microsoft. The people I worked with were, individually, very, very bright. As a team, though, we could never get traction. The effect was subtle. At the time, it felt like we were making progress. We had a lot of really detailed discussions about different implementation options, and everyone had interesting input. We wrote a good bit of code.
But we never actually finished anything, and eventually, it turned incredibly frustrating. I had been programming for maybe four years total at that point, and never at a real company before, but I already knew I hated writing software no one used.
For a long time after I left that team, I couldn’t put my finger on what went wrong. Clearly, we were all smart. Somehow as a group, though, we were dumb.
“Gets Shit Done”
There were a lot of factors in my frustrating experience – Microsoft’s waterfall process, the ongoing antitrust litigation, and political machinations around the project, just for starters. But I think the same group of engineers in a perfect modern environment would still flounder. There were too many people on the team who, individually, couldn’t finish anything. There was always a good reason why – some new requirement that necessitated a rewrite, or some piece that turned out to be more complex than anyone thought.
As a junior member of the team, I took these explanations at face value. With the benefit of ten more years of experience, though, I know that while it’s important to write quality software, it’s equally important to just fucking finish it.
There are a lot of smart engineers who understand this, and, sadly, a lot of smart engineers who don’t. Microsoft’s hiring process didn’t distinguish, and neither does Google’s. If I were to take a job there, I might be on a team where everyone is smart and can get shit done. There are certainly plenty of those at Google, as their products attest. But I might be on my Microsoft team again, only this time with free food and scooters.
That’s about as appealing as another winter in Redmond.
This is one reason I like both the startup world as well as writing greenfield apps as a freelance web developer. There isn’t any bureaucratic layers for my incompetence to hide behind. Either I deliver or no money comes in. It’s invigorating. I love it.
Though my coding experience is weak, I see this happening in other areas of tech-companies, as well. The company I spent the longest with was terribly unable to produce, despite an incredibly talented work pool (in tech, creatives, and sales). How much would you attribute to management technique vs. personal style of workers? I’d be interested in seeing an article that answers the other half of the question–how places, in your experience, really “get things done.”
GSD! – aNFP.
[…] sort of person who gets stuff done, much like Sarah Mei articulates the answer in her post, "Why I don’t work at Google." I like groups of smart people, but smart people like the GNU Mailman team who were working […]
Full disclosure? (Never been interviewed at Google, interviewed and not offered a position, interviewed and declined?)
Working at Google is great for the resume, and I would consider working there if asked despite all the negatives, but there are certainly some real bad ones. And you’re right, I think Google is focused on raw intelligence to the exclusion of other great qualities (UI skill, thinking outside of the box, etc). I think this job posting actually captures the attitude of the Google taskmasters pretty niftily.
Why I’m not an Astronaut,
Coz someone might wire an O2 canister incorrectly and explode my shit half way to the moon!
Its not because I have not the raw intelligence, nor determination, honest.
Dave
Your situation is the classic case of someone having issues with “Step 8”. Step 8 is the last step in a sales person’s process. It’s the make it or break moment. Sometimes, you have to “Step 8” your prospect. In short, it means, TAKE CONTROL.
It sounds like you were unable to Step 8 the situation and the people you were working with, and instead, stood by while they continued to lose traction and let projets slip away. Your frustration has as much to do with the management team as it does with your inability to speak up and say something – regardless of your position within the company.
I can understand your dilemma and not wanting to roll the dice to see if you’ll get a good team to work on at Google or end up in the Google purgatory where teams of people come up with very cool things, but they never see the light of day since Google owns the rights to everything.
I would say someone with your personality traits are better off running your own company.
Full disclosure – I did interview at Google a few years ago, at the San Francisco office. We didn’t get to the offer stage. At the time they were looking for people to work in that office on internal web apps, and I just couldn’t get excited about it.
My recruiter and I talked about having me interview with some groups down in Mountain View that were doing more interesting things, but that’s a 2-hour commute each way for me. So I had to pass. I was really disappointed at the time. I enjoyed the interview process and thought the people I met were quite bright, but it just wasn’t the right type of work for me.
The good news is that I absolutely love my current job. Having a job that fits me so well has helped me articulate why some of the previous ones did not.
I’ve been interviewed a couple of times by Google, but only got to the second or third phone interview each time.
I agree with the ability to get shit done being greater than how “smart” you are. I’d argue that it requires more smarts to finish a job on or ahead of schedule given resource and time constraints than to re-invent the wheel.
That’s not to say that Google don’t deliver — I’m stoked to be using their App Engine for example. But, because they keep hiring so many smart people, they’re bound to also hire ones that can also get shit done, and it’s like the anaology of throwing a crapload of monkeys in a room with typewriters and them cranking out Shakespeare. Eventually.
I’m proud to say that while I don’t remember syntax or definitions that well, I’m a good problem-solver and I have experience with getting shit done. Whether someone is “smart” is neither here nor there, it’s what they can do.
You shouldn’t generalize your experience to a company, like Google and Microsoft. Why? because in my opinion, you were just unlucky with the opportunities in those companies. I’ve worked at Google for couple years, and it was the most amazing learning experience. My team at Google released every month or two. Now, I’m working at Microsoft (why did I switch from Google to Microsoft? That’s a whole different story). Microsoft teams can be very agile depends where you end up. Not as agile as you would release a feature in 2 weeks, but we release many features in a package every 2-3 months. That’s pretty agile for a company that is big as Microsoft, where you work with many different teams. What I’m trying to say is that you should not point your finger at those companies, but you should point your finger at your unluckiness with teams, opportunities, and managers. There are teams that aren’t as productive as others; however, there are so many teams that get shit done. That’s why Google and Microsoft are driving the game.
Such places like Microsoft and others uses a specific process to do the job, so that would actually affect the delivery time, however any modification in the middle is hell, the process to generate something and make the right documentation and consider everything with the modification will take really long time, on the end you can see you’ve spent couple of years doing nothing at all, that’s why I like small companies that uses Agile system or basic process to deliver the right job and get the money, and that’s how you feel the satisfaction out of your work, you done something that out there and rock, put it in your website or portfolio, great feeling, I like freelancing too because it is to open and flexible, regardless money you really earn much of experiences out of it.
Thanks for sharing the article :-).
Being bright does not guarantee success — just look at Mensa.
One of my favourite quotations: “Nothing in the world can take the place of persistence. Talent will not; nothing is more common than unsuccessful men with talent. Genius will not; unrewarded genius is almost a proverb. Education alone will not; the world is full of educated derelicts. Persistence and determination alone are omnipotent.” (Coolidge)
The fact that you feel compelled to justify why you don’t work at Google is pretty telling. Doing so in a public blog that was submitted to HN is even more so. You know your friends are really saying, “if you are so smart, why don’t you work at Google?” This gives you some cognitive dissonance, because you are insecure and have a big ego.
Ask me how I know 😉
I’d argue that Microsoft actually uses a specific process to NOT get the job done. Ballmer gets some jollies, IMHO, out of raising barriers. And, do notice that MS ISN’T getting much done anymore. My first job was similar – working for the gummint. Little gets done, of course.
I doubt Google’s much like that, since they are getting things done.
After that, I did some consulting and startup work, and was much happier. I’ve also worked and been happy at one smallish, growing company that was well-run and also getting stuff done -though I’ve also been unhappy at a startup that never delivered, either. Top management and company size make unbelievably huge differences. The trick is to find a well-run spot (do people where you’re interviewing look happy with themselves?).
I pretty much never comment on stories . . . but this one is exceptional. Thanks for posting this. It really makes sense the way you put it. Wish someone else had told me sooner.
Great post.
…
many thanks for sharing the info…..