截止 2019 年底,GitHub 汇聚了全球超过 4000 万用户,仓库数量早已破亿。无论是个人、组织还是企业开发者,都把这里当做技术的圣地,交流的殿堂。对于开发者而言,GitHub 是一个涉及 IT 技术方方面面的平台,我们不禁好奇,在 GitHub 做工程师乃至 CTO 是一种怎样的体验?本文由 GitHub CTO Jason Warner 的一次演讲整理而成,Jason Warner 主要负责 GitHub 的产品、工程、支持和安全部门。在加入 GitHub 之前,Warner 曾担任云计算供应商 Heroku 的工程副总裁、也曾在 Canonical 公司负责 Ubuntu 桌面和 Ubuntu 手机的产品工程。
GitHub CTO Jason Warner
如果说,建立起一支强大的工程团队是一桩难事,那么,要通过高速增长来成功地扩大团队的规模,就几乎是一件不可能的事了。Warner 在 FirstMark 年度首席技术官峰会上会上分享了十几条关于如何扩大工程团队规模的秘诀。
1. 了解文化的真正含义
对许多高管来说,培养一种高生产力的企业文化是头等大事,但企业文化的概念常常被误解。人们经常简单地认为,所谓文化,就是:公司冰箱里面有为员工准备的饮料,或者为员工提供一张桌上足球桌以供娱乐,等等。为了让员工们感到舒适,企业最终都会花钱的。但实际上,这样的做法并没有什么用。因为文化不仅关乎于“感觉”,还关乎于责任和行为。作为领导者,你所做的任何事情以及可以容忍的一切,都将成为整个组织的标准。
2. 不要为技术所困
技术可以是一种不可思议的工具,能够为你的企业助力,但它永远不应该阻碍你,或阻止你做某些事。技术要做的是为你服务,而不是相反。
Warner 称,“如果你发现自己受制于你所写的技术,那么在接下来的 18 个月里,你将会陷入痛苦的漩涡中。如果技术层面出了问题,你就会无法按照自己的意愿组织团队。”
3. 确立使命与愿景
领导层首先要做的事情之一是,为公司确立使命和愿景,然后将其传达给全体员工。在企业中的每个人,都应该知晓他们为什么会在这家公司,他们在建设什么,以及为谁服务;他们应该能够理解并以一致的方式来讲述这个使命和愿景。
4. 创建原则和实践
Warner 将原则和实践列入他的“不容协商”的清单中,坚持要求每个领导者都必须花时间将这些原则和实践落实到位,以建立一支成功的团队。
“当我进入一家没有这些标准的组织时,我就会问他们,如果人们不知道自己应遵循什么标准,那他们怎么会有这些标准呢?你公司的原则表达了你的价值观,而实践正是这些原则的战术实现。如果你能把这些写下来,你就等于给了人们一个锚点,让他们可以围绕这个锚点去开展工作。”
5. 了解背景
当谈到创建原则和实践时,Warner 建议,要创建足够的流程来构建结构化的组织,而又不会造成太多的限制。但他又补充说,还要注意了解背景。当你考察有关其他组织成功的最佳实践和方法时,请注意该组织的规模、有多新以及运作方式。要知道,对一家公司有效的方法,对你的公司来说可能未必管用。
6. 为员工设定期望
不要将期望看成是员工需要遵循的规则,而是要把期望视为文化和实现的契合点。
Warner 解释道,“如果我说,‘我们要在某个时间点交付某个产品,但我们要竭尽全力去实现目标’,这对我的员工来说很重要,但是,如果我们不想让员工们因为精疲力尽而永远无法完成任务,而这对我的团队来说也很重要。你要做的就是,在你所做的事情和如何做这件事情上,找到一个适当的平衡点,这样,才能让你的员工长久留在你的身边工作。”
7. 衡量一切
除非你真正去衡量,否则,你永远不会在某件事上做得更好。更重要的是,如果你什么都不衡量的话,你永远也不会知道自己究竟是否成功。而这正是技术和数据成为你得力助手的地方。
“这是一个非常重要的部分,但大多数组织,特别是早期组织都错过了,”Warner 指出,“他们并不知道自己是否成功了,很多人之所以不知道,是因为他们没有衡量任何事物的标准。因此,他们也就不知道如何识别是否成功,以及如何纠正。你应该进行几分钟、几小时或几天的实验,这样,你就会得到信息和知识来帮助你纠正错误。”
8. 做你自己
作为领导者,建立信任的最有效的方法之一,就是学会真诚和示弱。承认自己有困难、担忧和恐惧,你将会从团队和同事那里得到更多的回旋余地和信任。但是,如果一个人试图达到完美或坚不可摧的境界,那么,只需一次小小的失误,一切都会崩溃。
9. 在员工和组织之间找到平衡点
Warner 指出,如果领导者只能做一件事,那就应该是确切地了解他们希望从组织中得到什么,并确保他们在员工和交付方面都能够保持高度警惕。在日常工作中,领导者需要采用以下两种模式之一:
社会学家模式: 当需要为公司作出最佳决策时,领导者应该采取社会学家模式。
心理学家模式: 当与员工一对一解决问题时,领导者应该采取心理学家模式。
“要寻求一个持续的平衡,你应该明确你在任何给定的时刻应该处于这些模式中的哪一种,”Warner 说,“我经常发现那些大型企业的领导者并不知道他们应该采用哪种模式,而这种困惑会影响到员工。”
10. 做出针对性的招聘选择
如果你打算为公司做点什么,你要明白,有些事会被搁置一边,无论是心照不宣的,还是明确地放弃。如果你引进更多的人,责任就会分散。所以,如果你要引进某个人的话,一定要有充分的理由。
Warner 还认为,大多数组织都应该将重点放在招聘雷厉风行的员工上。这意味着你应该寻找的是能够向你请教的人,“我今天要怎样才能做得更好呢?”——而不是整天坐在那里等着别人告诉自己该做什么的人。
11. 现在就为自己找到合适的组织结构
任何组织结构都不可能百分之百有效。在构建组织结构时,你需要考虑的是,你正在优化的是什么,以及下一组可交付的成果。然后围绕这些进行组织。但完美的组织结构是可望而不可即的,总会有些什么东西会让你感到不很稳定,你必须接受这一点。
12. 相信你的直觉
尽管有这么多的数据和分析,但大多数领导力和创造成功的产品都是一门艺术。要做出正确的决定,在很大程度上依赖于直觉。你的经验越多,你就越有可能做出正确的决定,因此,要相信你的直觉。
13. 注意事项提示
Warner 在谈到打造一支可扩大规模的工程团队时,提出了几个关键的注意事项。
应该做什么
不要使用太多的编程语言和框架。使用多个语言和框架来构建系统不是不可以,然而你并不需要 14 种不同的编程语言。选择一种编译语言和一种动态语言,然后坚持使用它们。
考虑公司的市场声誉。Warner 表示,他喜欢和人事部门交谈,因为他们往往比他更了解公司的声誉。他们知道应聘者在说什么,也清楚哪些员工要离职,以及离职的原因。
将投诉转化为解决方案。每当你收到反馈时,一定要问一些关于如何才能做得更好的问题。将反馈和批评转变成学习的机会。
每天都要将进步作为一个目标。在一天开始的时候,挑一件你想推进的事情,把它写下来。然后在一天中努力去分享并完成这个目标。
对同事要以人为本。每个人都有办法更有效地与他人打交道。如果你正在和某人打交道,这要么是一次完全积极的交谈,要么是完全消极的交谈,但不太可能会是一次中立的交流。即使你在某些事情上存在分歧,也要尽量让每一次交谈都是积极、友好的。
不应该做什么
担心工具重复使用。这一问题你可以在以后予以纠正。
卷入炒作。要不惜一切的代价避开成熟度曲线(hype cycles),了解你的“北极星”,并忠于它。
让员工有“这不是我的工作”的想法。如果有人看到一列火车开过来将要撞到某人,他说“让别人来处理吧”,这样他们就失败了。如果你看到有什么事情将要发生,就要采取行动去处理。