Why I Don’t Work At Google
sarahmei.com
sarahmei.com
I don't think it's a valid argument against Google without having any data-points. I've seen many Startups also don't finish their features/products and throw away when they realize this is not the right thing to do.
Overall, don't generalize too much. Experiences are different for different people at different places.
This is some truly unavoidable thing I guess, unless you do some radical stuff like splitting apart your company in different pieces, like anti trust itself would do?
Also for me is truly disturbing the idea of being able to select people that will do great stuff just using an interview. You can just check if they understand big O, can design things, and are actually able to code. This is already a result, but I bet this also creates a monoculture as this way you create a filter that is not just cool, but also bad in some way (IMHO this is why Google fails when trying to design stuff that are designed for the masses).
disclaimer: I got a request for interview from google two times and refused it, so I'm not frustrated about that or alike.
Sure, some of those have been buyouts. But overall that is a lot of signal as far as I'm concerned.
"Originated" is also somewhat ambiguous. There are at least a couple of examples where Google was working on a project internally and saw a similar external project that they decided to acquire and merge with the internal project. Did the resulting project "originate" at Google? Even if you answer no, I think at least half of the items at that list still "originated" at Google.
For Microsoft it's Office tools, development tools and operating systems. We may not like those products, nor wish to work on those teams irrespective (I'm a UNIX hacker, there's no way I'd be happy at Microsoft, lest they bring back Xenix), but I'd imagine those teams are great to work on.
For Google, it's obviously search, infrastructure (incredible competitive advantage for them), advertising system and other things Internet or networking (including Android, Chrome etc...). It's not their office or enterprise offerings (Google docs are useful, but they're popular because they're only game in town so far).
I wouldn't join Microsoft to work on online services or join Google to work on desktop or enterprise products (with exception of Chromium). I would imagine I'd be sidelined by management or technical leadership who is just not used to that particular type of software (e.g., if you make shrink wrap office software you'd be hesitant to adopt methodologies that involve daily pushes of code or see the value of making services highly available and fault tolerant).
Of course, I am open to hear arguments to the contrary (do you work on online services at Microsoft and find that you're able to "get things done" without interference? Ditto for desktop software at Google).
We'll see how Office online plays out. And don't forget that MS Online Services has like 40million paying customers.
They also do something called XBox Live and even Hotmail has gotten a little better over time. And I find Live Mesh to be the best cloud sync'ing app I've ever used. All in all, I think they're doing OK (not great, but OK).
That's not surprising, given the person running Bing is Qi Lu. There's a reason they brought in an outsider: they just couldn't afford to screw this attempt up.
I've had the enormous privilege of working in his organization at Yahoo (I still have no idea how I was able to fool my interview panel into hiring me straight out of college and into that group).
That experience gave me an extremely highly bar in terms of choosing engineering organizations to work for. There's only a couple of non-startup companies I am willing to work at after this experience: most everyone else - including non-search parts of Yahoo - just does not get how to run an online service and are unwilling to listen to a young punk like me :-)
Being in my second job right now my heuristics are: - Strong and clear team leadership - Fitness to value proposition, besides my work as a developer how well can I contribute to help improving the organization
Would love to hear from you how to be more selective.
If anything, the converse is true: core business teams offer less opportunity to do something great, because they're bigger and less flexible.
I didn't choose Microsoft, but I had an overly simplistic view of things.
As someone who struggles to attain academic intelligence, I've focused on the other types. I've seen how that has held me back but equally I've seen how people stunning more bright than myself never reach their full potential and sometimes fail entirely.
There are good teams, and there are bad teams, and there's bound to be a bunch of both in any organization. You have the same problem with startups: there are good ones and bad ones, and it's usually not possible to tell one from the other until you join them.
Why not just try, see what you get, and then you can transfer or quit if you end up on a bad team? Hell, it's a lot easier than joining a bad startup, where you have to get a whole different job to escape from it.
that said, transfers are supported by management and there's a nice internal web app for browsing which teams have reqs and for requesting a transfer.
She should, at least, give working in Google a chance (maybe a couple years or so?) before writing something like this.
Granted, I could quit after 3 months, but it would probably invoke bad feelings. So I assume for employment I would be looking into at least one year. That is HUGE investment of time. It is 3% of my officially remaining time in the work force (provided I stay healthy, until the official retiring age). Is that really an investment you are supposed to make "just to try things"???
Though I might be unique in feeling uneasy about quitting a job after a short amount of time (like a month). Maybe for other people it is not as much of an issue.
I know that while it’s important to write quality software,
it’s equally important to just fucking finish it.http://www.folklore.org/StoryView.py?story=Real_Artists_Ship...
I've personally have had this experience, and although failing a project hurts, it ultimately frees up time to move on to bigger and better things!
I don't know of any magic way of testing for that. There are some good signals, of course, such as:
1) pre-interview open source reputation and release. 2) References from people you trust and respect. 3) Publications with significant content written by the candidate.
But I've seen each of these fail, even in combination, in predicting the ability to execute. That said, it's better than nothing.
(disclaimer, I work for Google, and am also waiting for the part about Google in the OP)
One good reason not to work for already big companies like Google and Microsoft, is that your growth potential is limited. Case in point, video.google.com and www.youtubue.com. Nobody needs to wonder about which of the two developers among these projects struck it rich.
Why shovel for someone else's palace when you can build your own?
Pretending that isn't a problem, though -- where does the claim that Google doesn't finish things come from? Google must have one of the highest ratios of number-of-devs-on-a-product to number-of-million-users-using-that-product in the industry! I see no reason to conclude that a Google engineer's work would be likely to be canceled and disused.
This is why, I don't believe in complete democracy at work. There has to be a clear leader, who is not afraid to make decisions, to see them through, also is accepted by others to make decisions (in most cases at least), and is someone, who finishes stuff.
Last week I read a great way to assemble such a group (at least it sounds like a good way to me). In the book '33 Strategies of War', there was a chapter on how George Marshall, an American military leader trained young proteges, and picked the ones, who were the most like him. After putting these young people to test, he gave them key roles and placed them in key positions. He, then encouraged them to also train their own subordinates.
Basically he 'cloned' himself, and then showed his 'clones', how to 'clone' themselves too. Thus he was able to create a new, more efficient group of leaders, without confronting leader with large egos.
I wouldn't because management has continously engaged in unethical (barely sub-criminal) behaviour I don't want to enable. I don't want my work to be used for that.
The passing mention to the antitrust investigation is telling.
I had the chance to contribute to Chromium as part of a class project. It was super bitching. I got to communicate and ever have discussions (virtually) with some brilliant google guys and put some code in. Even got my name on the AUTHORS list.
My biggest contribution was changing the way they did metahandles in sync. You see, when a 'synced' bookmark item is updated in a transaction, it must be marked 'dirty' so that it can be pushed to the server when the cycle comes around again. This was an O(n) operation, as they scanned the whole set of metahandles to do this. I just added some things to the WriteTransaction class to add it to a much shorter list and spare the effort of the whole scan at the end.
Now, I haven't worked at Fog Creek yet, but I have (coincidentally) built a bug tracker before (high school internship; I have no idea why I was given that task, in retrospect). Granted, I was a high school student so I did an awful job with it, but I did learn a lot about how to make software (I'd hope) and it was pretty cool. One thing in particular comes to mind which is that I had to add multiple-parameter sorting, and so I figured out how to do that (I had no idea libraries and even successive merge sorts would accomplish the same thing) and they were happy with what I made.
I guess my point is that a feature is a feature is a feature. Most of the REALLY boring stuff is present in ANY software project, and a lot of the REALLY interesting stuff is present in almost anything (COBOL and banking applications aside).
(Chubby, BigTable, etc are super sweet though)
Go Google!
http://www.joelonsoftware.com/articles/GuerrillaInterviewing...
The author never worked at Google. It seems not so reasonable to project her experience at one Microsoft group to Google.
A better interview question might be "draw a picture of anything that comes to mind".
The fact that Google does many such acquisitions is, to me, conclusive evidence that they do value both of these traits.
But no, maybe not so much in the hiring process, because it's difficult and error-prone enough just to determine potential effectiveness.
It's also not unusual for teams to change shortly after you start - I switched managers in my second day there, and then what I ended up working on wasn't exactly what I was assigned to work on.
Probably the hardest decision I've ever made. I'm sure I would have been happy with any of the offers, but I feel like I might as well take up my employer's offer and see how things go for the next year or two (also they offered more salary than Google did but the bonuses aren't multiplied like they are at Google).
It often takes 12-18 months before you have a good enough understanding of the company and your own desires to figure out where you want to be. (And often more - I know people who joined in 2007 who are just now working through this.) But that time isn't all spent on one project: typically you'll work through a bunch of them, all in the same focus area. I think this is more akin to the normal process of discovery that most young people go through, though, and not something specific to Google.
You are willing to give Microsoft a chance but not Google?
response: they did hire you