
There are managers at Google. However they all write code. Furthermore they do not tell developers what to work on. Developers are self organizing. There are incentives to be part of a successful project. You have the potential to make giant bonuses and get stock options galore. This often translates into developers who feel like they owe Google. However there is also a drive to gain the respect of your peers at Google. Your peers also happen to be very smart if you work at Google.
Google has some environmental differences than your average development shop. It is very quiet there. You get free meals. Meetings are scheduled for the middle of the day so you don’t have to come in too early. It is kind of like a start up mentality. Google offers a lot of training. Some of it is formal. Most of it is not. There are apparently technical presentations going on all the time at Google.
On the development side, Google takes software engineering very seriously. There is a lot of emphasis placed on unit testing, design documentation, and code reviews. Some people just build developer tools at Google.
As usual, Steve generated a lot of comments from readers. Many people state that Google is unique in that it does not have paying customers who need software developed and shipped. Also Google has a lot of smart people. Google projects are financial failures. They just get a lot of money from ads in search. Google has deep pockets. If the Google model is so good, why does not everybody use it?