Bernhard Seefeld then (using the just-released Google Presentations, their online competitor to MS’ PowerPoint) described the 10 principles of Google engineering/software development: Single-source code repository for all Google code (G has a rather big repository, and all engineers have access to the source code) Developers can checkin fixes for any Google product (an “open-source” approach) You can build any Google product in 3 steps (get, configure, make) Uniform coding standards (how should code “look”) across the company Mandatory code reviews before checkin (if a developer fixes a bug in Gmail, the fix needs to be approved by the Gmail team) Pervasive unit testing (a “unit” is the smallest testable part of a program; unit testing validates that it works properly) Test run continuously, emails get sent (automatically) to developers if any failure is spotted Powerful tools that are shared companywide Rapid project-cycles, developers change projects often, and can devote 20% of their time to pursuing whatever idea/project they want (if it gets somewhere, Google will then throw some more engineers at it and turn it into a product or a feature) Peer-driven review process, flat management hierarchy
seefeld cameo