通过了解软件工程在Google中的应用,可以帮助我们从更高的层次审视自己的项目是否足够健壮。
项目管理
20%的自由时间尽人皆知,google的工程师拥有 20%的自由时间,可以随意做感兴趣的东西,而无需审批。这当然是为了激发工程师的各种创意,同时也让工程师们保持高效率,而不是窒息在必须完成的任务中。
另外,也考虑到,很多员工都会私下里自己做一些东西,那么还不如鼓励大家将这些研究方向公开。
目标和关键结果
不论个人还是团队,都要明确的写下自己的目标,并评估达成目标的进度。每个季度的末尾,要根据关键结果,对目标达成情况进行打分,分数从 0 分到 1 分。这 OKR 分数是全公司内部公开的。
但这并不直接用作个人绩效评估的输入。平均得分是 0.65,但鼓励大家将目标定的高一些,所以在可完成任务之上,再加 50% 的工作量是正常的。
项目立项
对于项目立项审批,以及项目取消,Google并没有清楚定义的流程。即便是在 Google 做过 10 年的老经理,也不知道决策是如何做出的。很可能因为在公司范围内,流程并不一致,经理们可以自行判断并决策。
有时候,决策是由下而上进行的,因为项目组的人都走光了。有时候,决策是自上而下的,老板们决定哪些项目得到更多的预算,那些则必须关闭。
机构重组
当关闭一个大项目时,工程师们可以自行寻找新机会,加入新团队。有的时候,还会搞“去碎片化”行动,把琐碎的分散的团队合并,这个时间工程师也可以自行选择团队和工作地点。经常进行重组,有利于突破大公司的低效陷阱。
岗位
Google 将“技术路线”和“管理路线”分开;将“技术领导” 从“管理”中分出;将“研究”综合到“工程”中;设置“产品经理”、“项目经理”、和“站点可靠性”来支持工程师们。
工程中主要的岗位包括:
- 工程经理
这是工程序列中唯一的“人员管理”岗位。软件工程师也“可能”管理人,但工程经理“总是”管理人。工程经理通常以前就是工程师,具备技术经验,以及管理人的技能。
技术领导力与人员管理能力之间,是有区别的。“工程经理”不一定带领项目;项目通常由“技术组长”负责,当然“技术组长”也可能由“工程经理”担任,但大多数情况下都是“工程师”。项目的“技术组长”对项目中的技术问题,具有决定权。经理负责选择“技术组长”,并监控团队绩效。工程经理还负责职场发展的培训及引领,进行绩效评估,并部分负责薪酬制定。还要做一些招聘工作。一般来说,工程经理管理 3 - 30 个人,普遍情况下是 8 - 12 人。
- 工程师
在 Google,“工程”和“管理”的职业发展路线是不同的。工程师可以管理下属,但这不是必须的。在更高层次,领导力是必须的,但领导力不一定从对人的管理中来。比如,开发了极具影响力的软件,或者写的代码被很多工程师使用,也是一种领导力。
- 研究科学家
科学家的招聘的门槛更高,需要有学术上的论文发表能力和代码能力。除了科学家需要论文和著作外,科学家和工程师没有显著的区别。在Google,科学家和工程师一起工作,同样研发产品,同在一个团队。这样的安排为的将研究成果更好的导入产品中。
- 站点可靠性工程师
对系统的维护由软件工程师团队负责,而不是通常的系统管理员。站点可靠性工程师的技能要求,比软件开发工程师要稍低。
- 产品经理
产品经理负责管理产品,他们协调软件工程师的工作,宣讲功能特性,与其他团队配合,跟踪bug和进度,保证一切顺畅运行以开发出高质量的产品。产品经理不写代码。
- 计划经理/技术计划经理
计划经理有点类似产品经理,但他们不管产品,而是管理项目、过程、或运营。工程师与产品经理、计划经理的比例,一般非常高,大约在4:1 到30:1之间。
设施
Google 有很先进的各种设备,包括游戏房、健身房,以及提供各种美食的免费餐厅,这一切都是为的将员工留在公司,多多工作。还可以带朋友来蹭饭,这样就增加了将朋友招聘进来的机会。
Google 的座位都是开放的,甚至有点拥挤,这有助于加强交流,但同时也影响了个人的专注,算是权衡之下的损失了。员工虽然有自己的座位,但每 6 -12 个月就要换一换,也是为了加强交流。
培训Google 的培训有一下几种:
- 新员工 (Nooglers)
都要参加一个入职培训教程- 技术员工要参加一个“Codelabs”,进行短期的在线培训课程,其中还有编码练习- 许多在线和现场的培训课程- 对于参加外部机构的课程,Google也给予支持每个新员工,都被指派一名正式的“导师” 和一名“搭档”,以帮助他尽快上手。换岗鼓励换岗流动,以在公司范围内传播知识,并提高跨组织的交流。
在一个岗位工作 12 个月后,可以选择其他项目,也可以选择换个办公室。绩效评估和奖励Google 非常欢迎互相评价。 工程师可以彼此互赠正面评价,一种是“同事奖金”,一种是“点赞”。每名员工,每年拥有两次机会,给予其他员工以“同事奖金”提名,奖金是 100 美元。这种“同事奖金”是为了奖励员工在职责之外帮助他人。“点赞”则仅仅是表扬,没有现金奖励。经理可以发放奖金,包括一种在项目完成后的特殊奖金。
Google和其他公司一样,也有年底绩效奖和股权激励。绩效优秀,可以晋升。而绩效差的,则需要进行改进,但有意思的是 Google 很少开除员工。员工还要对经理的绩效进行评估,以保证管理效率和管理质量。