Files
CategoryResourceRepost/极客时间专栏/研发效率破局之道/管理和文化/34 | Facebook工程师文化实践三大支柱之一做感兴趣的事.md
louzefeng d3828a7aee mod
2024-07-11 05:50:32 +00:00

153 lines
14 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<audio id="audio" title="34 | Facebook工程师文化实践三大支柱之一做感兴趣的事" controls="" preload="none"><source id="mp3" src="https://static001.geekbang.org/resource/audio/4f/11/4fc265ac763243eb4df124f8fc8a0311.mp3"></audio>
你好我是葛俊。今天我来和你继续聊Facebook的工程师文化及相关管理实践。
在上一篇文章中我与你详细介绍了Facebook工程师文化的核心黑客之道并给出了一些落地实践。从这些实践中我们可以体会到这种工程师文化推行得非常成功已经融入了Facebook的血液中。
也正因为如此Facebook的工程师文化大大激发了员工的创造性、生产力和凝聚力对整体的研发高效能和良好的个人成长环境起到了关键作用。
与工程实践等方法论一样,知道好的实践还远远不够,我们更需要弄清楚的是,这些实践背后的原则,才能把它应用到自己的公司和团队。
所以在接下来的三篇文章中我会与你系统分析Facebook是如何真正落地工程师文化的。同时我会结合我在其他公司、团队推行工程师文化的实战经验与你分析落地工程师文化的切入点以及需要注意的问题。
我希望这样的讲述思路,能够帮你更深入地理解这些实践和原则,将工程师文化更顺畅地引入自己的团队,提高研发效能。
## Facebook工程师文化落地的三大支柱
在讨论Facebook工程师文化实践落地的how之前我们先看看why吧。
我们首先需要明确的是:归根结底,**推行工程师文化的目的是,提高开发人员的积极性和创造性,从而更高效地进行软件生产,在竞争中取胜**。而要最大化地激发开发人员的自我驱动能力,根本出发点是,开发者这个群体的特性。
**每一名开发者首先都是知识工作者**。管理学大师彼得 · 德鲁克Peter Drucker在《卓有成效的管理者》中说“我们无法对知识工作者进行严密和细致的督导我们只能协助他们。知识工作者本人必须自己管理自己自觉地完成任务自觉地做出贡献自觉地追求工作效益。”从这个角度来看每一个知识工作者都是管理者。
也就是说,要提高开发者的效率,强管理不是办法,根本之道在于激发他们的内驱力。正因为如此,**有效激励员工的积极性,正是硅谷高效能公司文化的共同点**。
怎样才能有效激发开发者的积极性呢在我看来Facebook主要关注以下三个原则
- 让员工做感兴趣的事;
- 让员工拥有信息和权限;
- 用绩效调节员工和公司方向的一致性。
员工能做自己喜欢的事儿,并有施展拳脚的空间,自然能最大限度地激发积极性;再加上绩效的调节,能够让团队成员的积极性与公司利益更有效的对齐,从而最大化员工积极性带来的成果。
所以说这三点就是Facebook工程师文化落地的三大支柱。
接下来,我们就先看看第一个支柱,让员工做感兴趣的事儿的一些具体实践吧。
## 让员工做感兴趣的事
我首先要说明的是,这里的感兴趣,不只是狭义地觉得任务有意思,而是开发者对工作的整体状况感兴趣,包括项目前景、技术栈、挑战性、团队成员等。
有研究证明如果任务有意思、有挑战同时又是加以努力就能完成的员工的engagement和满意度就会非常高。那么让团队成员灵活地选择岗位和转岗就成了一个绕不开的话题。
但,团队成员灵活选择岗位和转岗,在短期内会直接给公司,尤其是小团队带来负面影响。另外,如果公司比较小的话,每个人都很关键,自由转岗更难实现。
接下来我们就通过几个实践看看Facebook是如何用好这把双刃剑的吧。Facebook让员工做感兴趣的事包括了入职、日常工作和转岗这3个场景。
其实这3个实践也并不是在Facebook成立之初就都有的而是在不同的发展时期引入的。
### 第一个场景:入职时
在Facebook新员工入职时都要参加Bootcamp一方面可以帮助员工熟悉公司产品、研发流程和工具另一方面可以帮助员工灵活选择岗位。
**Bootcamp的具体操作是**:几乎所有的工程师在入职时,都没有明确会到哪一个团队工作。进入公司的前六周,新员工会先到一个特殊的区域办公,并从任务池中挑选任务工作。
这个任务池中的任务,是公司各个产品团队放进来的,一般是难度不太大、优先级不太高,但又能让新员工快速了解业务的任务。新员工通过完成任务来了解产品和流程,并通过沟通了解这个产品团队的成员。
在Bootcamp结束时新员工和感兴趣的团队主管沟通决定最后加入哪个团队是一个双向选择的过程。不过因为公司业务一直在扩张很多团队都缺人而且这些新员工的素质普遍不错所以一般都是卖方市场绝大部分新员工都能进入自己感兴趣的团队。
让新员工选择并进入自己感兴趣的团队,可以极大提高其积极性,还可以在员工间建立关系网,提高凝聚力,长期收益非常可观。但,这个实践的弊端是,有些团队可能一直招不到合适的成员,在短期内影响产品进度。
所以说,**这个实践比较适合有一定规模并发展较快的公司**因为新员工多容易调节些。Facebook也是在2008年员工数接近1000时才开始实施的。如果你的公司也具备这些特点可以考虑尝试Bootcamp。
如果你想了解Bootcamp更多细节的话可以参考[这篇文章](https://www.businessinsider.com/inside-facebook-engineer-bootcamp-2016-3)。
### 第二个场景:日常工作
在日常工作中提高员工工作兴趣的一个实践是Hackathon。
**Hackathon有一个有趣的原则是鼓励大家尽量不要做与日常工作直接相关的项目而是做一些感兴趣的项目**。所以我们在做Hackathon的时候都是把它当作一个好玩的事儿而不是当成任务来完成。
Hackathon在开始的时候还有一些好玩儿的仪式。组织者和参与者会敲锣打鼓在公司里做一个游行才正式宣布Hackathon开始。另外Hackathon一般会在公司的餐厅进行。餐厅会被摆放些桌椅、提供些小零食被整理得很舒适适合三四个人的小团队讨论问题。
值得一提的是Hackathon并不会明确要求做出可落地的产品但有趣的是大家感兴趣的项目往往会和工作相关所以实际上产生了很多很有价值的项目。在上一篇文章中我也提到了Facebook最成功的产品中有些就是来自Hackathon除了时间线Timeline、聊天、视频、点赞按钮外更典型的是Image Tagging和the Like Button(大拇指)。
总结来说Hackathon没有强制的业务目标做不出东西也没关系所以大家都很放松抱着创造一个新东西的心情去做事很爽。
在落地实践方面Hackathon不涉及转岗所以比较容易实施。也正因为如此国内不少公司都尝试过这条实践也取得了不少成果。但需要注意的是在实施时要注意些细节否则会事倍功半。
### 第三个场景:转岗
在转岗上Facebook采用的是Hackamonth即离开当前工作岗位去另一个团队全职工作一个月。每个员工在一个团队工作满一年后都可以参加这个活动。
跟Bootcamp类似Hackamonth也有一个任务池。每个团队都会把一些一个月左右即可完成的、独立的项目放入这个任务池里。有兴趣参加Hackamonth的员工在这个池子中寻找感兴趣的任务并跟新团队负责人确认之后就可以和自己的主管提出参加Hackamonth的要求。
接下来,你需要和主管沟通做好安排,以确保这一个月,原工作岗位上的任务有人处理。安排妥当后,你就可以进入新团队,并直接到他们的办公区工作了。
Hackamonth结束后你可以决定加入新团队还是留在原来的团队当然前提是你想加入的团队愿意接收你。这实际上是一个通过做项目的方式来让员工和他感兴趣的团队互相了解并双向选择的过程。
另外Hackamonth还提供了更进一步的灵活性。在做Hackamonth的时候如果你觉得这个团队不是很满意你也可以私下接触其他团队。如果双方觉得合适的话等Hackamonth结束后你可以选择加入这个团队。
Hackamonth对提高开发人员的工作兴趣有两大好处
- 一是,开发人员可以比较自由地转岗,而且大概率能够找到感兴趣的项目;
- 二是即使最终没有转岗也可以通过这一个月的工作转变减少Burnout的感觉。
我有一个同事在Facebook呆了五年参加了三次Hackamonth但每次都回到原来的组。用他的话说就是去度一个月的假。是不是很有意思呢
但采用Hackamonth的弊端是会直接影响原团队的工作进度更容易对公司和团队造成短期伤害。与Bootcamp相比Hackamonth更不适合小公司。Facebook是在2011年员工数达到几千时才开始采用Hackamonth政策的。
在Facebook只要你在一个团队工作满一年了即使团队主管不情愿也没有权利阻止你去参加Hackamonth。可见Facebook在执行Hackamonth政策上再次果断选择了长期利益。
以上就是Facebook为达成让员工做感兴趣的事这个目标在入职时、日常工作和转岗这三个场景下的3个重要实践。
接下来我再和你分享些我在国内一家公司落地Hackthon的具体经验吧。
## Hackathon落地经验
当时我所在团队的执行力非常强但员工的自我驱动不够。考虑到对公司和团队的影响我权衡之后决定引入Hackathon。
在引入Hackathon时我采用了和Facebook类似的方式举行时间为周五和周六下周一下午在团队内部进行演示和评选。
这样一来,只会占用一天多一点的工作时间,大家还可以选择周日继续进行。通常情况下,大家虽不会通宵,但也会做到比较晚,并且周日还会持续。
在这之前公司其他团队也尝试过Hackathon但效果都不太好。所以这次的Hackathon我制定了两大规则
- 明确要求Hackathon的目的是Have Fun不追求产品落地尽量不做与工作直接相关的任务。
- 评选结果时,由团队成员投票决定优胜者,而不是由专家或者管理层评选。
对这两个原则,我的主管和人事部门是有些怀疑的,但在我的坚持下还是执行了下来。
这次Hackathon下来效果出奇得好
- 大家热情高涨80人左右的开发团队基本可以产生12个项目
- 虽然没有要求项目落地,但还是产生了很多有意思、有价值、可落地的项目。
比如一次Hackathon时3个同事做了一个卫生间管理系统登录网页即可查看办公楼的卫生间占用情况。这个项目既解决了大家的痛点又很有意思所以高票当选第1名。
再比如一次Hackathon时几个运维同事做了一个ChatOps的项目。他们开发了一个聊天机器人放到聊天室中在产品发布上线时实时、自动发布部署进展开发人员还可以直接询问聊天机器人当前的部署状态。这个项目很大程度上解决了部署上线时团队的沟通不畅问题所以成功落地到实际工作中。
**这种形式的Hackathon在结束后仍对团队有正向影响**:一是,团队氛围更活跃、成员间衔接更紧密了;二是,大家对技术更感兴趣,也更愿意讨论用技术实现各种项目的可能性了。
总结来讲几乎所有包含开发人员的团队都可以尝试Hackathon但为了保证效果需要注意些细节尤其是上面我提到的两个规则。
## 小结
今天我首先和你介绍了Facebook工程师文化落地的三大支柱让员工做感兴趣的事、让员工拥有信息和权限以及用绩效调节员工和公司方向的一致性。
然后在让员工做感兴趣的事方面我从入职、日常工作和转岗三个场景和你分享了Facebook的Bootcamp、Hackathon、Hackamonth这三个实践。这些实践都对提高员工内驱力有非常关键的作用。
在这三个实践中Bootcamp和Hackamonth比较适合规模较大千人左右或者以上且发展较快的公司。如果你的公司符合这样的特点可以考虑落地这两个实践并根据实际情况做一些调整。比如引入Bootcamp后如果有一些冷门团队新员工都不愿意去怎么办呢一个可能的办法是对这些职位进行定向招聘专门寻找感兴趣的员工。
而如果你的公司不具备这些特点的话可以尝试Hackathon这个轻量级的实践。Hackathon花费的时间不多但执行合适的话效果会非常好。
除此之外,作为技术管理者,我的建议是,在安排日常工作时可以多考虑团队成员的意向,尽量在条件允许的情况下,提高员工兴趣和任务的吻合度。
## 思考题
在你的公司或者团队,有什么措施让员工尽量做自己感兴趣的事吗?
感谢你的收听,欢迎你在评论区给我留言分享你的观点,也欢迎你把这篇文章分享给更多的朋友一起阅读。我们下期再见!