互联网科技@产品

Google 里的软件工程学

2019-01-07  本文已影响1人  Aceyclee

简评:原文作者 Fergus Henderson 在 Google 工作了 10 年以上,目前负责 Google 的 text-tospeech 工程小组。有很多书籍或文章会从 商业/管理 等非技术角度来讲 Google 是如何运作的,这篇文档则是从软件工程学的角度来讲 Google 是如何运作的。

Google 的成功有很多原因,其中一个重要原因就是 Google 不断积累的、优秀的软件工程实践经验。

本文的目的是梳理并简要介绍 Google 软件开发的核心流程,内容上主要分为软件开发 (Software development)、项目管理 (Project management) 和团队建设 (People management) 三个方面。

原文目录

软件开发

源码仓库(The Source Repository)

Blaze 分布式构建系统(The Build System)

代码审查(Code Review)

测试(Testing)

Bug 跟踪(Bug tracking)

编程语言(Programming languages)

调试和分析(Debugging and Profiling tools)

发布(Release engineering)

Launch approval

Post-mortems

频繁重写(Frequent rewrites)

项目管理

20% 时间

OKRs(Objectives and Key Results)

项目审批(Project approval)

公司重组(Corporate reorganizations)

团队建设

角色(Roles)

技术角色与管理角色分开,项目由技术主管领导和决策,而经理负责管理技术主管,指导职业发展,并负责绩效评估。

工作环境(Facilities)

培训(Training)

换岗(Transfers)

绩效考核和奖励(Performance appraisal and rewards)

▎小结

本文简要介绍了在 Google 使用的重要软件工程的实践方法。Google 是一个庞大并且多元化的组织,有一些部门用的是不同的实践方法,但是这里描述的实践方法被 Google 大多数的团队所遵循。

实践方法的详细内容请移步文末的英文原文链接。


原文链接:Software Engineering at Google
推荐阅读:Chrome 十周年重设计 | 首席设计师专访

我的知乎:@Aceyclee | 我的微博:@Aceyclee

上一篇下一篇

猜你喜欢

热点阅读