最初,Instagram 被 Facebook 收购时公司只有六个工程师,且都是全栈。本文Instagram 创始人兼 CTO Mike Krieger 分享了创业初期并在资源有限的情况下,人才招聘、技术专攻的实践经验,将时间、精力用在最有价值的地方。以下为译文:
不管怎样 Instagram 所奠定的里程碑还是很不可思议的。从整个初创企业生态系统的建立到吸引科技巨头 Facebook 的注意,且花了一亿美元来收购,仅仅用了一年半的时间。但从 2012 年被收购时的每月 3 千万的月活用户到两年后 2 亿的月活,到现在的 7 亿,用户数量指数式的增长,这都是难以置信的结果。
事实上,联合创始人兼 CTO Mike Krieger 有着他们自己的一系列的里程碑,具体与如何扩展技术团队和获取最多的关注紧密相关。在被收购的时候,他们只有六个全栈开发工程师。现在他是 300 多位工程师团队的舵手,可以迅速推出新功能和产品。在短短的 7 年时间里,Krieger 从新手管理者逐渐成长为可以带领多层组织的专业工程师,其中他们很多都是当前领域中最优秀的。
本文中,他分享了创业中获得的经验——这些也是他自己想回到 2010 年,告诉他自己的一些事情。此外,他也分享如何优雅的从一个早期团队转变到一个更加成熟的技术团队;如何引入新的管理层次;怎么为不断改进和创新制造动力,希望给同行提供一定的借鉴。
组建初创团队来满足早期需求
为了让一个创业团队发展起来,有几个东西需要有充足的准备——勤劳、精力和解决问题的能力。是否需要专业的工程师?通常情况下不需要。在这个阶段全栈工程师更胜任,Krieger 根据他的经验给全栈工程师定义了一些很重要的特征和能力,这样他们才能够帮助公司进入到下一个阶段:
1、需要懂得什么时候剪牦牛毛
Krieger 说:“你听过‘剪牦牛毛’这个行话吗?有时编程需要解决一些超级复杂的技术问题。但是最终很多时候你会得到一连串的任务来完成这个技术难题,例如,‘我需要让这个 iPhone 的 App 在我的设备上也能运行,这意味着我需要生成配置的概要文件,接着我需要注册一个账户,然后还有连续不断的东西。’最后,你这就是在剪牦牛毛来完成最初的想法,然后你发现你已经离它越来越远。”
当你在组建全栈工程师团队的时候,你需要那些准备好了而且愿意顶住风险直至最后的人。你需要的是那些愿意学习新技术的人,这些技术可能会在他们的工作职责描述之外。
为了找到这样的人,下边列举一些你可以尝试的面试问题:
聊一聊最近的业余项目或者工作项目;在实际项目中处理过什么样的“牦牛毛”?
是否做过跨学科的项目,或者一开始还不熟悉的项目?
2、知道什么时候牦牛毛是不值得剪的
话虽如此,在创业公司初期没有比工程师的时间更宝贵的东西了,因此每个人都需要确保自己聪明地利用时间。Krieger 说:“人们可能沉醉在剪牦牛毛的过程中。”一个高效的全能工程师知道何时该抽身而出,继续往前推进。
Krieger 回忆了早期 Instagram 的日子,那时他刚获得了现在还认为是最好的建议:监控一切。
最开始,会花费四到五个小时的时间来尝试搭建一个领先的免费网络监视工具——Nagios。“最后我重新构建这个产品。因为我决定修复这个并不完美且有些复杂的警告解决方案,整体来看,我当天就可以完成,接着再去做其他的事情。”
类似的,你可能也会遇到一些可以自己完成的东西。但是一个好的解决方案已经存在的话,你也应该这样吗?“早期我们认为,‘我们知道怎么实现推送通知。但是 Urban Airship(领先的移动应用互动、移动分析、移动数据集成的营销解决方案) 已经存在’”。那么,现在把你的骄傲放在一边,时刻让注意力保持在真正的目标上。“目标不是实现 Nagios 或者 Munin(Linux监控工具)。真正的目标是推动产品,这样你才能让人们使用它。”
以下就是 Krieger 判断一个人是否会剪牦牛毛上瘾的检测办法:
Krieger 和团队会让工程师花几个小时的时间来开发一些东西,例如简单的手机 App 或者后端系统,如果他们有问题可以向 Instagram 团队请求协助。他说:“这可以帮助那些花费很长时间来搭建编程环境的工程师。”注意他们是否聪明的利用了他们的时间,而不是只关注结果。
3、注重行动导向
你不能一次完成所有事情,那么哪些是创业公司首要的、哪些是第二位和以及第三任务?这些都需要我们自己来理清。在 Instagram 的早期,Krieger 和他的团队在 Google Doc 上以主题的方式记录日志。
“其中一个主题就是成为世界上最快的图片分享 App。围绕着这个主题我们做了什么呢?接着,我们想让这些图片看起来不可思议,超出我们对手机照片期望。围绕这个我们又做了什么呢?把不相关的事情都放到一边。然后让满足要求的工程师们来实现。”
Google Doc 是用来跟踪团队任务的一个产品的最佳可行方法,确保团队的每个人都能参与到公司最终要达到的目标里来。它被分解成很多天,然后几天围绕着一个主题。每个主题中没完成的任务就自动迁移到第二天。最高优先级的任务被会标记。这样的话,在混乱中就不会搞丢任务了,同时人们也可以很容易的评论和提问,他们的注意力也会一直关注在下一个他们需要完成的目标上。
尽早建立一个团队是很重要的,你可以通过这样类型的系统来推动团队,并将重点放在与公司成功相关的无休止的任务中。这意味着不要雇佣或者同那些只做自己的事情而不关注公司的长远计划的人一起工作,或者那些浪费时间去选择不需要很大压力就可以完成的任务的人。
下面这些问题就可以用来向员工提问从而判断他们是否适合行动为导向:
讲一件个人特别引以为傲,平衡了功能完整性、优化和时间的任务。Krieger 说:“你需要的是一个微妙的答案而不是一个绝对的回答。例如‘我们只有在准备好以后才发布产品’或者‘我们每个任务都在截至日期前完成了’这两个回答我都听过。
招聘有激情的、灵活的全栈工程师
虽然大公司的优势是拥有机械化的招聘团队,但创业公司也有自己的优势:他们可以跳出盒子,有的人可能不满足公开的职位要求。但是 Krieger 回忆起他和联合创始人 Kevin Systrom 招聘的第一个工程师,Shayne Sweeney,就是一个典型的例子。“他没有完成大学学业。他完全就是一个自学成才的程序员。我们遇见他完全是因为我们在 Dogpatch 实验室的 38 号办公,而他刚好在我们对面。但是他散发出一个创业公司所需的气质。‘我有一个想法,我会学任何知识,想尽办法来实现它。’”
虽然他坐在你对面,但是你怎么去评估他有这种类型的动力?在 Krieger 的经验中,作为基本的个性特质,一般和明显好奇是紧密相关联的。所以对于创业者来说,注意寻找对话中自然流露出来的求知欲。“我们感兴趣的候选人是那些会说,‘这个周我对 Go 这个游戏非常感兴趣,所以我做了一个 Go 的原型来学习这个东西”而不是“我所在的公司使用 React,所以我才用 React的。’”
你可以采取一些策略,在面试的时候提给面试者来推断出是否具有好奇心。Krieger 说:“特别是在创业早期,我喜欢问,你对哪些业余项目感到很兴奋?你上一次掉进兔子洞是在哪个特定的项目中?学到了什么?”
当人的眼睛发光的时候,就是有什么东西让他感兴趣,你找到了激情,而不是需要一份职业的人。创业早期你需要很多的激情,因为任务肯定不会掉进小盒子里。
灵活性在开始阶段也是相当重要的,这意味着不需要雇佣那么多很有能力候选人(选那些合适的就可以)。
Krieger 说:“记得我面试过一个小伙子,他是我见过的最厉害的 iOS 工程师之一。但是在我们的交谈中,他强调:‘你也知道,我不会去做服务端的工作。我认为那样会浪费我的时间。’这个就是一个有效的意见”。麻烦的是,对于那个时候的 Instagram 来说,这种心态过于专业了。“我们不想让他们竖面墙在那里,然后说这里有个东西需要服务端来开发。”
雇佣那些可以在不同领域间切换的人,那样可以保持工程师团队的敏捷性。同时也帮助你避免了很多陷阱。Krieger 讲到:“我记得和 Kevin Rose 讨论 Digg 的时候,他说他们早期犯下最大的错误就是找了当时最满足他们正要在用的技术的人。这个问题有两个原因。第一就是你想扩展你的技术。第二就是如果人们把他们自己的工作固定限制的太窄,比如说一直使用 PHP,你最终可能就会做出一个错误的技术选择。”
他最后一个建议就是优先采取多样化的方式来雇佣员工,而不是用新公司通常会做的那样。雇佣一个多元化团队的优势是多种多样并且充分的覆盖了最近的科技论文。但是在疯狂的早期,创业公司可能会认为这些教训并不适用于他们,或者说这些都排在优先列表的最后一位。
Krieger 说:“我们没有过多的强调在创业早期要雇佣多样化团队。”这让公司一旦成长起来,妇女和没有多少代表性的少数民族和背景越来越难。他还说:“如果你正在面试你的第一位女性工程师,她很兴奋的想:‘哇,这个团队好大,还有那么多的男生’,这就让隔阂更高了。这些确实有发生,如果你可以避免这些问题,你们就可以有着更好的状态。”
那么尽早的建立多元化的团队,你们会进入良性循环。Krieger 说:“一旦有女生加入到团队中,我们就可以招到更多的女生,从创造事件到面试再到写技术博客都是可见的,这些都是为了让我们成为强大的团队。”不要忽视对这些发声的价值。假设这些是一个优先事项,在面试的时候不会给候选人建立联系或者吸引你真正想要的候选人的兴趣。直到他们听到或者从你那看到两次或者三次,或者直到你的团队展示出了你的愿景,他们可能才会成为你的候选者。
不要放弃对专业化的需求
接下来的 Instagram 的故事是硅谷传奇的一部分:2012 年这个只有 13 个人的公司被 Facebook 收购了。从那以后,Krieger 和 Systrom 就可以单独招聘或者从 Facebook 的训练营中招聘。他们有着品牌标志,然后突然迎来了很多带着不同期望的候选者。当然不是每个初创企业都有这些条件,但是无论你的情况怎样,接下来的多元化和专业化都会在你的团队中发生。
随着功能和需求的增加,团队感觉需要一些专业的专注于某些技术的工程师,比如说 iOS 和 Android 工程师,他们可以把产品分解成很多模块,从而使得产品比以前更好。这在一个创业公司的生命周期中相当常见时刻。这意味着你需要朝着这个方向前进:
你正在发明一些超出你所工作平台提供能力的东西。
你开始朝新的市场迁移,这些需要深入调整代码。以 Instagram 的例子来说,就是让视频在爆发的市场上正常的工作。
你的代码块已经很庞大了,需要技术来引领未来的成长。
随着越来越多的专业工程师(例如 iOS 和 Android 工程师)加入 Instagram,现在的团队是可以做的,全栈工程师第一次遭遇专业化。
Krieger说:“我们知道有规范的方式来完成这些事情。有时它很教条;有的时候它却有个很好的理由。”他回忆了一个很简单的甚至很无聊的例子:Instagram 是他和 Systrom 的第一个大型的 Python 项目,所以他们很早就在一起规定了一些代码约定。“后来的 Python 工程师就会说:‘为什么你的等号两边都有空格呢?’我们只是觉得这样看起来不错。他们会想:‘没有人那样做呀。’”
最后你想引领大家朝着工业标准的方向前进,因为这样可以让新人更轻松的融入到团队中。(是的,Krieger 最后还是回去把他的 Python 代码改来和其他人的看起来一样。)你可能会以你早期零散的方式来抵制某种程度的专业化。放弃这种尝试。你雇佣了专业的人是有原因的,所以让他们带来他们的经验吧。
我把基础设施都连接起来,考虑到我那个时候的理解层次,系统的健壮性让我感到惊讶。但是在有的时候,你需要有人来检查浏览代码从而可以构建出一个真正的墙而不是你做的一个脚手架。
当把现在的团队分成日益专业化的结构时,他们通常都会关注自己。“即便是我们的全栈工程师也偏好某一个领域。”这是一个简单的方式来给工程师解释成熟的组织需要什么,这样他们就看了就自然而然的明白了。有的明确的标明了 iOS,其他的是基础设施等等。一旦你注意到这一点,让他们坐下来用心交谈,如果他们开放的话,你就可以充分的开发他们的大脑了。承认他们的技能是多么的稀缺,以及他们可能会给公司带来的好处。
专业化也不是就意味着抛弃让你发展起来的那些灵活性,或者帮他们放的高高在上。Krieger 说道:“那些早期的全栈工程师已经扩展了他们的事业,这已经让他们成为了更好的工程师。”
拿第一个招聘的人 Shayne 来说。“有一次我们想尝试让我们测试闭环的更快。构建和发布花费了很长的时间。最后的解决方案就是基础架构一个,这个需要写大量的 Python 脚本。我没从基础架构团队找一个工程师来,我对 Shayne 说:“你了解端到端的东西,你自己找到一些办法来创建一个 MacBuildServer 吧。”
那些有着深度的端到端知识的开发人员就是一个很好的资源,比那些专业的人更有优势。他们可以让团队中其余的人工作更高效。
在你能胜任之前你需要一个管理者
正如你团队里的工程师需要成长一样,你的领导能力也需要成熟。在最初,你的领导能力可能很平庸。不必要的管理陷阱会损坏作为小公司最大资产的开发敏捷性。同时也不是说创始人可以放任团队让他自己发展。
在你有真正的管理动作之前,必须具备管理能力。
那么“管理行为”的效果会怎样?举一个简单的例子:一对一。Krieger说:“我们开始做这些工作的时候已经有一年半至两年的时间了,现在会发出感叹‘哇,原来有这么多内容没有人去讨论。’”最后是 Instagram 在 Benchmark 的伙伴 Matt Cohler 支持下才有了动力。
回想起来,Krieger 知道压力在编译阶段,但是他们都会幸运的及时发布。“但是它也是一个拓展我眼界的时刻。当你是一个创始人的时候,你会暗地里开心,或者那不是你问的一个问题,因为这个公司是你的小孩,你会努力让他成长,有人加入就意味着增加了成功的可能,但是他们也是活生生的,有着呼吸的人,有着欲望和需求和很多问题。当我们开始有更多的管理的时候我们才从全栈工程师变成专家。回忆起来,我觉得我可以做的更快。”
实施管理行为本身是很重要的,但是它也是一个有价值的衡量标准。当你是一个创始人或者早期的领导人时,当你不满足你当前产品的需求,和管理任务时,就是时候找另外一个管理人了。当你认为你有 90% 的可能性确认需要一个人的时候,你就确实该有一个管理者了。
Krieger 说:“我在 Instagram 和其他我给过建议的公司,一次又一次的见过,一旦你增加了一个管理的职位,一个你可能也不知道是给什么准备的,你发现你只知道需要完成任务里最高优先级 5% 的内容。另外的 95% 却因为没有指定人则没有完成,对于我们的管理者,应该加速我们的招聘流程,规划任务,考虑 App 的未来规划。我用一周的一天时间来思考这些东西是远远不够的。”
以下是他对从公司内外选择管理者的建议:
1、从内部提拔
Krieger 最开始采用的是这种方式,Instagram 的最初的工程师团队管理者就是那些团队中拥有最长工作经验的人。这种方式提供了一些自然的优势,主要是对团队的其他人很有话语权。“选择那些元老级别的人的好处就是他们会招聘现在就给他们汇报的人。这样感觉就是管理行为了,同时这也成为团队其他人的动力。”
同时,他承认他很幸运因为这种方式行得通,因为这不是自然而然的或者最好的一个选择。Krieger 说:“根据工作时间来选择技术领导一直都是一个有效的办法,但不是一个选择管理者的明智办法。”如果他们对这个成长路径有兴趣那你就让他们成为管理者,但是确保一定要沟通了解清楚。
现在,Krieger 确保他所有的管理者都与他们的团队进行了职业规划谈话,并且通过找到有兴趣或者天赋的管理者来考核他们。“我的理念是,如果我们有工程师感兴趣,我们会经常让他们尝试一下,并给他们一定的指导。”
和新的管理者一起检查,让他们知道如果他们需要是有一个退出通道的。即使那些自己认为他们想要这个角色的人最终也会发现这会让他们感到痛苦不堪。“在过程中设置一些检查点,比如说每六个月。‘你是否还很愉快?你还想继续吗?你是否想放弃,回去继续做一个独立的贡献者呢?’确保人们是以最兴奋的方式在工作,如果不是,他们会感到沮丧然后离职,或者他们的团队会感到不开心。”
2、从外边招聘
即使你从内部晋升,你最终还是需要从外界寻找新的管理者。用 Instagram 的例子来说,这时正当基础架构组需要一个管理者,但是这个团队中没有一个工程师对这个工作感兴趣。他说:“如果内部晋升管理者让人感到害怕,那么雇佣我们的第一位来自外界的管理者则是 10 倍的害怕。那是我们面试的第一位管理员工。”
很少有人会管理着一个年轻的团队还出来找工作的,所以几乎没有候选者或者都很远。“如果你正处在这个阶段,你通常会为了美好的生活坚持,同时试着发展你的团队。”通常情况下,这个你需要找的人是那些以前在这种环境下成长起来然后现在正管理着一个大的团队的人。“他们可能感觉和工作有点分离,或者会很兴奋的回到以前的那种有很多事做的时期。认真的分析判断他们为什么会加入你这个又小又复杂的团队。”
筛选出那些因为你团队太小而放弃的人,他们是没有看到团队增长的潜力。“如果你在 2012 年的时候审视 Instagram,我们有大约 8 个人的工程师团队,每月 3 亿的访问量。你知道我们必须要成长。所以我们不能雇佣那些还需要去实践的人。”
Krieger 回忆起和 Jim Everingham 的对话,这个人是 2015 年的时候被雇来当总工程师的。“他管理着 Yahoo 的一个千人团队,然后过来加入一个 120 人的团队。但是他告诉我:‘这个团队在几年后就会变成一个 500 人的团队。’”Krieger被这个数字震惊了。他说:“但是 Jim 很清楚。”那些很厉害的候选者,你不需要卖掉,因为他们已经看到了即将到来的东西。
简而言之,你需要找到那些有着天才的热情来构建东西的人,他们希望有这么多的激情,在很多情况下他们愿意从庞大的已经成熟的团队到多年来第一次会被要求的地方。但是作为交换,创始人亏欠这些早期的管理者一些开放和坦率。
作为第一次创业的人,你必须对你所学的保持诚实。你必须谦虚的告诉比你经验还要丰富的管理者,‘我将会是你的领导,因为我运营者整个工程师团队,但是从你那里学习我会很兴奋。你已经找到了什么可行的办法了吗?’
所有的事情小到你怎么安排团队会议都是因为前期的充足投入。不要尝试向你的管理人员隐藏你的经验不足;而是利用他们的专业知识。
“建立那样的关系是非常有价值的。能够说:‘看,我们正在一起学习。我知道为什么 Instagram 是这样运转的。我的直觉是我们应该做什么。但是你能够有经验来完成这个直觉。’”
让你的团队接受新的管理
即使你和早期的管理人员有一个轻松的会议记忆,你也需要让剩下的团队成员在环境和发展上能有快速的成长。对于创业者来说,不要怕羞。当需要雇佣一个管理者的时候,让每个人都知道这件事。“如果每次都以为什么开始,‘我快不堪重负了。我们需要人来壮大这个团队。’这就是为改变做准备。”
当提到招聘的时候,你可以通过几种方式来进行招聘。“你可以采用协商一致的路径,你决定让团队里的所有的人来面试候选者。你决定把一致同意作为聘用候选者的标准。”虽然这样,但是这些团队成员不是管理者,他们的评定通常是根据他们是否喜欢这个候选者来定的。“这是很困难的,你们可能不会达成共识。”
Krieger 喜欢一个相关的但是比较意气的方式来做这些早期的管理招聘。首先,依靠丰富的领导经验来评估这个候选者的资格;他在 Facebook 上招募其他的管理者,虽然其他公司在投资者或者企业家中没有这样类似的例子。然后,一旦 offer 条款被设定但是还未签字之前,把候选者带到办公室体验一整天。
Krieger 说:“你很少从当前的团队中感觉到他们的快乐和兴奋,毕竟这是一个改变。团队以前都是直接向你汇报。现在他们却向另外一个人汇报。但是你至少可以获得红色警告,‘不要雇佣这个人’这样的信息。”
你不太可能得到那种破坏交易的反应,但是保持对事实的敏感,因为你的工程师们可能还有顾虑,同时他们的顾虑可能还不尽相同。“我曾和这样的执行教练一起工作多年。其中她告诉我的一件事就是如果有人在某个领域被耗尽,那么你就可以在另外一个领域给他很丰富的东西,这样的想法是没有用的。就像是如果有人对他们热爱的生活感到沮丧,然后你跟他说,‘你的工作是很棒的。’这并不是让他们感到失落的原因。”
(顺带的指导是 Krieger 最推荐给新领导的建议。“我从没有管理,到管理过一个团队,到管理几十个团队,再到几百个。我不可能在没有指导的情况下完成这件事情。”通过 Facebook 的管理辅导计划,他和 Maggie Hensle 搭配合作。)
尤其是当你想增加你的第一个管理者或者两个的时候,问问自己:这会怎么影响团队中的每个人。“当我们雇佣了我们的第一个管理者,我们的一个工程师说:‘看,我刚从一家两年换了八个领导者的公司过来。我会在两个月过后又换另外一个领导吗?’那个人需要我提供信心。所以我说:‘不会,我认为他会在这里待很长一段时间的。这里就是接下来的计划。这些是我会传达给他的优先级别。让我们保持我们的结对工作吧。’”
此外,提醒早期的团队这些改变都是积极的,对公司来说如此,对他们个人来说也如此。Krieger 说:“告诉他们,‘你也会从这个人那里学到新的东西。你也将会得到成长’,我想我早期的工程师们都完全赞同,因为现在他们都已经成长起来了。”
从个人身份转移到团队身份
随着团队的成熟,你不能仅仅是改善你的工程师的角色。你同时也在创建一个团队层的新的身份。“人们会感觉以前所有的事情都是他们处理,但是现在不是这样了。现在他们有了一个团队。”当那发生的时候让他们重新把重点放在影响上。Krieger 说:“我会告诉人们,‘你现在正在做得特性,当它发布出去它会带来更多的用户,比你开始在这里工作的时候还要多’”
这些不只是嘴上的功夫。随着增长带来更多的机会,这不仅塑造了你公司的产品,而且塑造了公司的文化。Krieger 识别了两个重要的关键的阶段,每个阶段对公司的影响都很大:
从全能工程师到平台团队
当你处在矛盾的边缘,你在这个平台雇佣和培养的工程师,会定一个工程师文化来作为长期的口号。“显然,早期的工程师让公司发展起来。但是事实上在这个舞台上我们拥有今天的成功的工程师团队,我把它归功于设定了正确的环境和正确的质量标准和正确的工程师企业文化。”
早期,你的剪牦牛毛的全栈工程师可能没有志向或者宽度来思考为了将来的扩展来考虑架构。虽然当你招到更厉害的专家的时候,创造这种期望也是很重要的。“你需要创建一个人们可以操作的通道,而不是一个绝对混乱的过程,否则两年后你就会有大量的技术债务。”对于 Instagram 来说就是围绕平台培养个性。
“我们围绕着Instagram的 iOS 工程师或者 Android 工程师或者基础架构工程师都创建了很强的个性。我想让人们思考,‘我们现在只有 8 个 Android 工程师,但是几年后我们将会达到 30 到 40 个。我们现在需要做什么来为以后解决问题做准备?’”
通过围绕平台来组织,Krieger能够重新把团队的注意力拉回到质量上来。“以 Android 为例,从最开始想出一款超高质量的,精美的 Android 应用,在那个时候已经超过了平台可以支持的程度。”重点就是告诉他们怎么工作,他们雇佣了谁。
Krieger 说:“我们一开始考虑的是做简单的事情,努力做简化,而不是过度的抽象。为了达到目的,我们应该为结果感到骄傲而不是为抽象感到骄傲。”这些的价值观,跟 Instagram 的成功密切相关,在公司发展到这个阶段就反应了出来。
人们经常会看到你根据平台来分组,作为一个产品团队成长路上必要的罪恶的阶段。我认为这正是当你在塑造工程师文化的时候。
从平台团队到产品团队
几年后,Instagram 已经过了把平台作为他们工程师核心单元的时期。现在他们开始围绕产品团队在构建个性。
当到达这个迁移阶段,控制好时间就是关键。做的太快你会失去文化构建的中间阶段。然而做的太慢也会导致意见不统一。Krieger 说:“我们做这个切换的时候大约有 150 位工程师,其实已经有点晚了。我认为这个临界点,最明显的标志就是我们需要改变了,就是当你的产品经理和技术经理开始互相讨厌的时候。”
在这个转换之前,产品经理负责的每个新的产品都会去找每个技术经理,从团队中找到一批工程师来做这个产品。Krieger 说:“那么现在你和四个工程师经理和至少四个工程师一起完成一件事情,你已经选了最好的人,给他们分配了人力资源。”但是没有一个人对企业正在做的事情有清晰广泛的认识。“每个人都想做全局的优先级决定,但是他们的认识有局限性。”
根据产品来组织团队,Krieger 重新恢复了目标导向的效率。与最初的全栈工程师到专家的文化类似,Krieger 发现很大程度上都是个人选择。“你正在做的事,是把以前的盲从变成现在的明确,例如我们会说:‘谁愿意去做更新改造?’鉴于我们通常有一批对各种平台都敢兴趣的团队,现在他们就在一起工作了。”
当你围绕着你的核心产品在创建团队的时候,你将很可能发现问题就是没有人超级感兴趣,他们都说还可以。“现在你需要采取下一步行动,就是去招聘那些感兴趣的人,比如说,增加 iOS 开发人员。”
在七年后且 300+ 员工的今天,Instagram 的工程师企业愿景,从使用 Google Doc 来分解任务的时候就从未改变。“你必须时刻的一次又一次的问自己,我们的目标是什么?我们在解决什么问题?除了我们自己没有人在意我们是怎么做到的。他们关心的只是产品的质量。作为指导准则我们总是组织工程师团队来分担生产高质量的产品的任务,在一天结束的时候,不管公司和平台有多大,这才是我们都应该共同努力的方向。”