Interesting post comparing the work environment at Google to the environment at Microsoft. I thought I'd take a stab at comparing it to my work environment. This really only applies for our little piece of the company, not the whole company.
- Hours. We're kind of similar, but the hours are a little earlier. Most people are in the building from 9-5, but some are in the office from 7-4, 10-6, 10-4, etc. Most of us are on email before and after time in the office. Personally, I usually work at home until I get frustrated with a problem, then get ready and go into the office around 9:30. I leave at 4:45, beat the traffic home, and usually answer a few support-related emails at night. The hours fluctuate, but most weeks I'd guess that the average development staff person is doing 50 hours on average. It's usually either 40 while we recover from a release and plan the next one, then back up to 50-60 or more while we build up to a release.
- Personal projects. Almost nobody works on personal projects at my company. There used to be more R-and-D done there, but today there's only one guy that seems to have time to do that sort of work.
- Office arrangements. Every developer is in a cube. We were mostly in 2 person offices before we moved to the new building, but now it's a cube farm again. The noise is a little bad, but headphones stop that. It's the constant walk-up interruptions that make it tough to work on a problem for a solid hour or two in a row. The solution is to go work from home, which works pretty well for me.
- Management structure. We have two team leads, one with my product team and another for another product and the tech writers. They report to the development manager, whatever his title is. He reports I think to the CTO. The day-to-day management is mostly split between the team leads and the development manager, but much of the team is pretty self-directed.
- Career development. We rarely have any planned job changes. Almost everyone is critical in their position and has no replacement available, so they can't move to another internal job. There is no real career development path. It's a little different in other parts of the company, but not in our group.
- Would I recommend it? Only for the right person. We're a pretty tight-knit team. Almost everyone has been there at least 5 years. Half the team has left (quit or laid off) and returned to the company. Before we were acquired, the company tanked so bad and we had so many rounds of bad sales and layoffs, that we're very cynical. We're still learning to trust the new management, who so far have accomplished almost everything they said they would. It's also a pressure cooker. Our product quality has suffered over the years and it's taking a lot of effort to recover. Our customers are large and really expect zero failures so that exerts a lot more pressure than the average developer is ready for.
- Perks. There are free sodas, bottled water, and coffee. That's it. The development manager will often buy a couple rounds and snacks at a local bar. Sometimes we get a big team lunch together after a release. But nothing like a staff chef or on-site laundromat. Back in the day we've had things like a pool table, foosball, ping pong, televisions, video games, etc. but now we don't even have a table and chairs in the kitchenette / break room. Taking a break pretty much means hanging out in someone else's cube and distracting everyone around them. Or walking to Starbucks and back.
- Equipment. For the most part, everyone has just a laptop and a nice LCD monitor (plus mouse and keyboard). Most developers have an old desktop or two sitting around for testing, but we're trying to migrate that all to VMWare. Since we support so many platforms (and OS versions), we have a huge number of servers for the number of people. We have multiple mainframes, a room full of Unix machines, and multiple VMWare servers.
Some other updates, if anyone cares. We've restructured slightly, which resulted in essentially eliminating the team lead position for most of our group. Time will tell if that's manageable or not. Now there is more promise of R&D and some nearly "green field" development projects. We're working on improving the perks slightly and doing a little more fun team-building stuff. It's definitely progress, but we're still not Google or someplace drowning in cash and resources.