Want promotions and management positions and fancy titles? Then a flat organizational structure is not for you.
Want exhaustive tests, project managers, and countless meetings? Then a "startup mentality" is not for you, either.
Considering the possibility that most Microsofties have returned or will return to Microsoft is however still not proof that Microsoft is unconditionally better than Google (and vice-versa, if most ex-Microsofties stay at Google, we don't have unconditional proof that Google is better). Many Microsofties might have grown used to the MS environment and might - if only through force of habit - prefer the MS environment.
I'm not sure whether Dare wants to correct the perception that there is a debilitating exodus of people from MS to Google; I can understand such a motivation, since Yahoo's recent woes prove how a little bad news can cause massive demoralization. But still, I can't agree with his relaxed anecdotal method.
Sounds like everything is going fine...
In such a place, bringing in new hungry blood is very difficult to do, especially since the old crowd will try very hard to protect their power structure. In the long term, this does cause problems in the ranks, since success within the company starts to become a measure of how well you can navigate politically, vs. the quality of work produced.
Speaking as a newly-minted ex-Googler myself, I can say that for some projects, development is not what anyone would consider "fast".
"As all organizations mature they tend to add PROCESS. These processes exist to insulate the companies from the mistakes that occur after a company gets to a certain size and can no longer trust its employees to always do the right thing. Requiring code reviews, design specifications, black box & whitebox & unit testing, usability studies, threat models, etc are all the kinds of overhead that differentiate a mature software development shop from a “fly by the seat of your pants” startup. However once you’ve been through enough fire drills, some of those processes don’t sound as bad as they once did. This is why senior developers value them while junior developers don’t since the latter haven’t been around the block enough."
Sounds to me like he thinks Google is in need of some "process" (in fact, he specifically uses random breakage in Google apps to illustrate why this might be so).
I'm not saying he's right (wouldn't know, I've always worked for small companies where there was little need for a lot of "process") but the argument he puts forth is that everything at Google is not, in fact, going fine.
But then, that's how software should be written when there's lives on the line, which doesn't exactly describe Google.
Still, something to aspire to.
I've always been fascinated by and impressed with NASA's software methodologies, but they are neither cheap nor fast.
I'm not sure it's something to aspire to as much as one extreme on a continuum of code quality vs. code cost.
I would suggest that it would not be in Google's nor in most companies' interest to do anything like this. Where a company falls on this line depends on their organization's size, purpose, and business model.
Just my opinion, obviously. You could be right that the above is not in most companies' interest.
There are a lot of services Google tries to build that never see the light of day. And there are yet others that took a year or more to be released even as beta. There are some projects that seem to have gone from concept to launch in a few months, but I'd say those are usually the exception.
Also: there is a lot of necessary process that comes with launching a Google service. Version 0.1 for a startup can be buggy, embarassing, ugly, contain security bugs, or be non-scalable. In fact, you might go all the way to acquisition and still have all these problems. Pretty much anything on *.google.com has to be ready for Digg on day one.
I will say that there are many teams at Google that deliver quality, polished software faster than almost any other company. But that's more like winning marathons rather than sprints.
Well then, let's hear it from pg.
According to that wikipedia page, Nucor believes in decentralization and objective metrics, so they are indeed a good test of the rule. If that page is accurate, Nucor employees can't get very far on politics alone.
I do agree that a title of junior-developer for people who've been in the industry for a while seems silly.