LinkedIn副总裁谈工程师文化

2015 年 8 月 13 日

对一个快速增长的公司而言,不断增加工程师是非常有必要的,但这也带来了很多矛盾问题。在一个研发团队里面,因为需要花更长的时间来对代码进行检查和部署,产品发布的速度开始放缓。

在 2011 年的时候,LinkedIn 突破了 1 亿用户大关,公司第一季度拥有 9 千万美元的盈利,并且在 5 月份以 25 亿美元估值在纽约证券交易所上市。Kevin Scott 正是在 LinkedIn 上市的 3 个月前开始担任公司的高级副总裁。面对 LinkedIn 的快速发展,Kevin Scott 坦言这是他职业道路上面临的最艰难的时刻。之前,Kevin Scott 一直负责 AdMob 的软件开发,业务运行和研发工作,当 AdMob 被 Google 收购之后,Scott 又获权对研发团队进行重组和扩建。

现实表明,在过去的十年间,每当公司处在高速增长和转型的关键时期,Scott 都为公司构造了优秀的研发团队。Kevin Scott 在 First Round Capital 上与大家分享了他在 LinkedIn 以及 AdMob 期间组织和管理研发团队的经验。Scott 根据自己的亲身经历,将组织和管理研发团队的经验梳理出来,总结为研发团队领导者赖以生存的四点智慧:

  • 不要将建立公司与构建技术相混淆
  • 在问“what”之前多问“how”
  • 对研发来说,不断改进是有效的,但对研发文化却不行
  • 不要等,写下你的文化宣言

不要将建立公司与构建技术相混淆

Scott 谈到,在他的职业生涯中,曾与数百名工程师共事过,许多人的头衔虽然在不断改变,但他们却未必具有发展的眼光。一个 CTO 或研发副总裁,在其职业生涯的开始阶段可能也是一名工程师。当作为一名工程师的时候,所想的就是写最好的代码和设计可扩展的,智能的系统。写最漂亮的代码可能是他的全部。在构建优秀的、有吸引力的产品的过程中,人们很容易让一切问题回到技术层面。可对于一个公司来说,这远远是不够的。

作为一名工程师,作为一个技术团队,其最主要的目的是帮助公司赢得竞争。Scott 表示,如果你带领一个研发团队,最好是站在 CEO 的角度。你的任务是要弄清楚这是一家什么样的公司,公司的业务是什么,公司的市场在哪里,公司的竞争环境需要什么。将这些落实到团队中才能帮助公司赢得胜利。

在问“what”之前多问“how”

Scott 发现,带领团队的模式的转变往往是因为开发者一直在遭受各种挫折并不断地在寻求克服挫折的办法。但他发现,在一个高速增长的公司中,工程师思考的问题大多是“what”的问题。例如:

  • 我们要使用什么文档?
  • 什么拆分策略最适合我们的数据库?
  • 程序标准化应该用什么语言?

所有这些都是“what”的问题。Scott 表示,这并不让人感到奇怪,因为我们的教育就是,多讨论“what”,少谈“how”。

如果一个研发团队的管理者和它的团队已经开始问“how”的问题,说明他们正在通过这种工作方式寻求解决问题的答案。例如:

  • 我们该如何合作?
  • 我们该如何解决冲突?
  • 当开发团队的人数不断增加的时候,该如何确保我们的代码库保持干净?

总之,对于研发团队来说,讨论“what”的问题是有必要的,但搞清楚“how”的问题却更具意义。

对研发来说,不断改进是有效的,但对研发文化却不行

随着时间的推移,技术也日新月异,利用最先进的技术不断地对产品进行持续改进是非常正常和有必要的。可以利用一些方法和机制对技术进行调整,但对于研发文化,舍弃一开始建立的版本要难得多。正如 Scott 所说,对于一项技术,通过做 red-line 测试,可以对未来的趋势做一些预测,如果预测五个月后某项技术将会消失,那么现在就可以开始对系统重建。但对研发文化而言,却不存在相应的分析,比如当下次再增加 50 名工程师的时候,很难预测哪些特殊的部分需要被打破。

的确,并不存在一系列自然机制,像解决技术问题一样解决文化问题。对于技术问题可能还有自然周期能够对它进行调整,但对于企业文化来说,我们必须确保其在正确的道路上,否则一旦出现问题,可能没有机会或能力来重建这些系统。

在 Scott 的职业生涯中,他已经多次预见过工程师文化带来的高风险,这种风险不仅仅对研发团队极具危害,对整个公司来说更是致命的。有所不同的是构建技术带来的失误是不可避免的。为了帮助企业进入高速运行轨道,最好的公司必然非常重视其工程师文化,而不是仅仅重视其研发实力。具体怎么做呢?创建自己的文化宣言!

不要等,写下你的文化宣言

在扩展研发团队的时候,最有价值的管理工具是文化宣言(cultural manifesto)。Scott 表示,文化宣言是一个文件或一组材料,以帮助整个研发团队处在同一轨道上,让大家清楚如何做事情,以及如何作为一个团队运转。文化宣言是引领公司高速增长的锚。

Scott 回忆,当 2007 年加入 AdMob 的时候,虽然公司那时已经是市场上的 MVP,客户和收入都在快速增长。但它没有一个文化宣言。AdMob 的销售额在快速增长,但其研发基础却在出现裂纹。Scott 表示,那个时候他的团队处在全天候消防模式下,团队的运行效率很低,大家士气低落,处在绝望的边缘。

建议
对于 Scott 来说,这个问题的主要原因是那个时候公司没有文化宣言。在一个高速增长的公司,如何建立一个宣言以引导和激励研发团队,Scott 给出了几点建议:

  • 不要等到灾难出现才开始行动。无视研发文化会不经意间产生巨大危害。起草一份宣言就是迈出积极的第一步。当危机来临时才决定开始写可能会非常困难,应该尽早开始腾出时间起草一份文化宣言。
  • 经常性地讨论和修改宣言。随着时间的推移,宣言可以作为一种优化研发文化的方式。不要指望公司开始存在的那一刻,你的文化就完美地与你的公司契合。由于每家公司的情况都有所不同,其文化宣言也必然不同,但是可以利用一个统一框架来讨论如何组建、操作和运行一个团队。
  • 寻求协调,而非达成共识。让每个人都在同一轨道上并不意味着让每个人都认同。因为文化宣言必定站在了某个立场,可能会不符合研发团队中部分人的利益,所以没必要让每个人都对宣言认同。文化宣言不是一份意见目录,而是一份打印好的承诺。
  • 明确界定研发的角色。市场能够帮助研发团队清楚地认识研发的角色。清醒地观察市场之后,研发的角色会变得清晰,即需要研发团队必须取得一切可能的先发优势以帮助企业占得先机,这在研发文化中应该得以明确。而且研发必须具有灵活性,即采用的技术平台可以让团队克服大量的风险并迅速采取行动。

据 Scott 所言,LinkedIn、Google 和 AdMob 的文化宣言是完全不同的。因为不同地方的环境不同,在每一个地方所专注的要素也不同。Scott 表示,在 LinkedIn,他的团队希望利用大量高质量的数据来为 LinkedIn 上的大量用户构建优秀的产品。

无论是在 LinkedIn 或其他地方,Scott 都十分清楚,在一个公司构建技术是很困难的,但在快速增长的模式中构建技术团队更加困难。文化宣言提供了一种非常漂亮的方式来建立和改进你的思路。

Scott 最后呼吁,“在全球互联网行业研发联合会,我们花了更多的时间用来研究构建技术、设计研发团队,现在是需要改变的时候了”。


感谢郭蕾对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们,并与我们的编辑和其他读者朋友交流(欢迎加入 InfoQ 读者交流群)。

2015 年 8 月 13 日 07:221709
用户头像

发布了 268 篇内容, 共 99.3 次阅读, 收获喜欢 14 次。

关注

评论

发布
暂无评论
发现更多内容

架构师训练营第 1 期第 8 周作业

业哥

数据结构与算法系列之链表操作全集(三)(GO)

书旅

go 数据结构

简析低代码开发与传统开发的区别与优势

Marilyn

敏捷开发 低代码

会展云技术解读 | 面对突发事故,APP如何做好崩溃分析与性能监控?

京东智联云开发者

云计算 云服务

第七周总结

第7周 性能优化(一)作业

钟杰

极客大学架构师训练营

第七周作业

2020LF AI&DATA DAY(AI开源日):中国开源社区迈入全球化新征程

Geek_459987

tomcat打包成rpm包

lee

tomcat rpm

数据结构与算法系列之栈&队列(GO)

书旅

go 数据结构与算法

区块链usdt支付系统开发方案,承兑系统搭建

WX13823153201

区块链usdt支付系统开发

接口测试如何在post请求中传递文件

测试人生路

接口测试

体验RxJava和lambda

程序员欣宸

【涂鸦物联网足迹】API及SDK介绍

IoT云工坊

软件开发 物联网 API sdk 云平台

嗯,查询滑动窗口最大值的这4种方法不错...

王磊

Java 数据结构和算法

第三届进博会恒大农牧开馆迎客,旗下进口食品受热捧!

飞天鱼2017

训练营第三周作业

爱码士

训练营

第 7 周 性能优化(一)总结

钟杰

极客大学架构师训练营

“开源软件供应链点亮计划-暑期2020”公布结果 基于ChubaoFS开发的项目获得最佳质量奖

京东智联云开发者

大数据 云原生 开源项目

天啦撸!打印日志竟然只晓得 Log4j?

沉默王二

Java 日志 log4j

《迅雷链精品课》第一课:认识区块链

迅雷链

区块链

大厂程序员必备的一套浏览器书签,我帮你整理好了。[下载导入浏览器]

小傅哥

Java 小傅哥 资料整理 浏览器书签 程序员必备

架构师训练营第 1 期第 7 周作业

du tiezheng

极客大学架构师训练营

分库分表的 9种分布式主键ID 生成方案,挺全乎的

程序员内点事

分库分表 Java 分布式

训练营第三周学习总结

爱码士

训练营

架构师训练营第 1 期 第 7 周作业

李循律(祥龙)

极客大学架构师训练营

全面解析ArrayList,超详细!

程序员的时光

面试题 ArrayList JAVA集合

架构师训练营第八周作业

邓昀垚

极客大学架构师训练营

架构师训练营第八周总结

邓昀垚

go-zero如何追踪你的请求链路

Kevin Wan

go Trace microservice

Reactor:深入理解reactor core

程序那些事

响应式编程 reactor 程序那些事 响应式系统 reactivex

LinkedIn副总裁谈工程师文化-InfoQ