Mini-Microsoft interviewed a Google (ex-softie) employee recently. I love some of the comments - they are (to me at least) indicative of a large problem in the developer community at large, and a serious one for Google specifically:
[...] You get none of this in Google. Some of my fellow graduates with a deep interest in systems joined Google and got thrown into messing around with JavaScript! Can you imagine how dissapointing it is for someone who has sharpened and honed their low level C and assembly skills and hacked around with the Linux kernel day in and out to be slaving on with something WAY high up from the metal like JavaScript and having to deal with a bunch of assholes during code reviews? Sure they are making more money than me in free lunchs and stocks (not much difference in the starting base pay at all tho).
This is exactly the kind of guy Microsoft should be happy they lost. Why? Because he has no idea who's problems he's trying to solve. He wants to be a "cool hacker" - meanwhile, his employer wants him to solve actual problems that real users have - and he's irritated by that. The more of these people MS transfers to Google, the better off MS will be, and the worse off Google will be. And then this:
This week at Google, I spent three days in Mountain View, and the last two days working from home. My team includes guys in our New York Times Square Engineering office as well as folks in Mountain View. On Monday, I flew up to Mountain View and arrived in the office at 10am. I worked until 3am and guess what. I wasn't the last one in my area of the building the leave! There was plenty of company. All these guys are proud of their work, love what they are doing, and wanted to nail their deadlines and then take a few days off for the holidays. At 330am I arrived at my apartment, slept for a few hours, and then arrived at the office at 8am, grabbed a free hot breakfast, and put in another full day leaving work at 4am. Again, i was not the last one to leave. I work in an area where a team is preparing for an upcoming launch and 90% of that team was there when I left at 4am, and they were there when I returned at 830am the next day.
That's not "energy", you fool - it's called a death march. If you need to work hours like that running up to a launch, then your team or your product manager (probably both) screwed up. In a huge way. The resulting launch will likely be bug ridden - and with the kinds of hard to understand, caffeine-buzz driven bugs that take eons to iron out. I begin to understand why gmail is still listed as "beta", and why Google Analytics got overwhelmed on day one - it's because of the work ethic listed above.
Management tip: If your team is working this way on an ongoing basis, you have a serious problem that needs fixing right away. It can be fun for some people for a few weeks (or even months), but then it leads straight to shoddy code and burnout.
Yeah, there's a plan. Scoble is right about this guy.