google的工程哲学

googlesystem提到去年的Google开放日图片中关于对google的工程哲学的介绍。

原文如下:

1. All developers work out of a ~single source depot; shared infrastructure!
所有开发人员在同一个源代码库下工作,共享基础架构。
2. A developer can fix bugs anywhere in the source tree
任何一个开发人员都有权利修改整个代码库内的任何错误。
3. Building a product takes 3 commands (“get, config, make”)
开发常用三个命令(“get, config, make”)
4. Uniform coding style guidelines across company
全公司统一编码风格
5. Code reviews mandatory for all checkins
所有代码的Check-in必须反复检查
6. Pervasive unit testing, written by developers
开发人员需要进行深入的单元测试
7. Unit tests run continuously, email sent on failure
经常进行单元测试,发生错误是邮件通知
8. Powerful tools, shared company-wide
好用的工具,全公司共享
9. Rapid project cycles; developers change projects often; 20% time
快速的项目周期,开发人员有20%的周转空间
10. Peer-driven review process; flat management structure
开发人员之间相互检查程序,实行扁平化的管理模式(相对于金字塔模式
11. Transparency into projects, code, process, ideas, etc.
所有项目、代码、进度和构思对全公司都是开放的
12. Dozens of offices around world => hire best people regardless of location
任何地方都可以建立办公室,雇用最好的员工,无论他们身处何处
虽然我不是专职的程序员,也没有项目管理的经验,具体含义理解的也有所出入,但是google的工程哲学的大概思想我想我还是能理解的,那就是平等,开放和统一。想想和现在流行的社区网站,倒是有写相似之处,高度总结的哲学概念无论是运用到公司运作还是社区的组建,在我看来都是有效的。谁是最先掌握社会发展潮流工程哲学的人,就是最先掌控未来的人。