如何发掘和放大程序员的“超能力”
英文原文:How to Spot and Magnify the Powers of Your Engineering Superheroes
猎云网 12 月 19 日报道(编译:蔡妙娴)
编者注:本文的采访对象为商业智能初创企业 Looker 的创始人兼首席技术官 Lloyd Tabb,他对程序员颇有独到见解,甚至将其划分成了五大超级英雄:潜水侠、闪电侠、牧师、斯皮尔伯格和圣骑士。文章由猎云网(微信:ilieyun)精选编译,将会为你详细解读他们的超能力。
把大导演 Christopher Nolan 和 Looker 的创始人 Lloyd Tabb 联系在一起似乎有点违和,但这两人在看待世界的角度上倒有点雷同。
作为一名连续企业家,Tabb 为自己的创企组建了一支开发团队,他的组建方式很奇特:按照每位工程师的英雄气质而不是团队角色来分类;而作为一名导演,Nolan 在《黑暗骑士》三部曲中创造了一个英雄和反英雄相抗衡的世界,从这一点上来说,Nolan 拍电影的方式和 Tabb 组建工程师队伍的方式有着异曲同工之妙。
Tabb 很早就迷上了电脑,他想弄明白这东西到底是如何运作的。他花了好几年才弄清楚微处理机和触发器电路是什么。而这新世界的大门一打开,他就再也没收住。
他先后担任了 Borland 的数据库架构师和语言设计师、Netscape 的首席工程师和 LiveOps 的首席技术官。目前,他是数据平台创企 Looker 的创始人兼首席技术官,其公司设计和创造出了一个思考数据的新方式。截至今年底,Looker 有 500 多家以数据为核心的企业级客户,其中不乏 Etsy、Sony、Twilio 等知名企业。
在迷上电脑之后,Tabb 又对那些电脑操控家——工程师产生了兴趣。
在此次采访中,Tabb 列举了五类团队必备的“超能力”工程师,还与我们分享了发掘这些工程师并发挥其能力的窍门。同时,他还描述了优秀工程经理应具备的素质,比如既要有领导力 又不能束缚他人等等。Tabb 对管理明星程序员和活跃开发团队可谓眼光独到,相信他的见解一定能帮助你更好地与科技人才打交道。
解析各类“超能力”
在寻求优秀工程师时,大多数创企都会将这个概念等同于寻找具有内在能力和动力的特定岗位人员。
“前端、后端、HTML、Javascript、Python,创企们往往注明这些字眼来招聘工程师。不要理解错我的意思,确定特定开发方向和 语言当然无可非议,但不要忘记这些只是能力,而非内在的驱动力。”Tabb 说,“这些年我见过的求职者能力有高有低,而我最看重他们关于我某个问题的答案,凭着这个问题我从没看走过眼。这个问题就是:跟我讲讲过去的一年中,你在 工作中遇到了什么事让你觉得 ‘今天真是个好日子啊’。”
Tabb 问这个问题有两个目的:一是和其他面试问题一样,它更多的在于展示,而不是讲述,让面试者能自己得出一个结论。但更重要的是,这个问题能将面试者的能力和内在动力区分开来。
“技术日新月异,创企起起落落,为了获得我们双方的长期成功,我对面试者的内在动力更感兴趣,而不是他们曾取得过的成就。了解一个人的内在动力后,你就能知道这个人对工作的热爱来源于哪里,你就能知道是什么驱动他前行。”
这些年来,Tabb 逐渐开始研究出这一问题的几种答案模型,并将加入其团队的工程师进行了分类。
对有些人来说,美好的一天意味着解决了一个棘手的问题;对另一些人来说,美好的一天是为开发的产品做一次演示。还有那么一些人说,如果用户在使用了他们的产品后,发现能够以另一种方式来看待世界的话,那便是再美好不过的了。
“面试了这么些求职者后我敢说,真正激励你用心工作的答案只有一个,即你的工作方式。”Tabb 说,“内在驱动力是你超能力的源泉。”
潜水侠
潜水侠的超级能力是深潜。
这种工程师的内在驱动力是解决大问题。他可能不高兴在终端持续写几个星期的代码,但他愿意在 API(应用程序编程接口)上一层一层地“深潜”下去,找出问题并解决它。
潜水侠思维敏捷、身形矫健,能轻轻松松潜入操作系统、数据库和控制器层,找出那个讨厌的 bug。他的超能力就是能够理解每一层代码,搓丝剥茧找出“事实真相”。
“前阵子 Looker 的 SSL 层出现了一个 bug,我们的潜水侠花了一个月的时间才捕捉到它。”Tabb 说,“如果不是这位工程师坚持到底,屏住呼吸潜到最底层找到那个 bug,那我们现在麻烦就大了。”
归根溯源,潜水侠的特征在于他们通常在标准网站上工作,比如为某电子商务网站创建基本功能,这类人渴望挑战。
“潜水侠们的工作与用户界面和用户体验无关,当然他们也不关心。他们关心的是操作程序的深层运作情况。”Tabb 说。
总结
内在动力:解决深层问题。关心软件的根本运行以及哪里出现了障碍。
超能力:极其擅长解决难题;对 API 的每一层了如指掌。
行为特点:关注点特殊,毅力不凡;不喜欢连续几周写代码。
如何管理:强调任务而不是绩效考核,不要将他们的工作成就以赶上截止日期来衡量。
使用不当:潜水侠需要深层问题,如果你那儿的水太浅,那你们大概合不来。
失败模式:潜水侠没上来换气给淹死了。确保他有足够的自由度和氧气(资源)来满足深潜需求。
闪电侠的超能力是速度。
在所有工程师中,闪电侠最能领会产品演示的乐呵滋味。她活着的乐趣源于人们对她产品的使用。
“看我做了个啥!”是她的战斗助威语。对她来说,最美妙的时刻莫过于能将这句话大声喊出的时候。当其他人在讨论什么能做成什么不能做成时,闪电 侠会默默走开,做出产品模型,然后第一个进行演示。她的产品模型可能并不完美,但至少能运作。闪电侠坚信,想要真正感受一件产品的潜力并更好理解它,最佳 方式莫过于做一个模型来试试。
“正如名字一样,闪电侠对快速的工作感兴趣。她可以马上坐下,开始编程,快速交出成果。”Tabb 说,“我的同事中有一位闪电侠,他在下午听到一个问题,第二天一早就把解决方案给大家演示了出来。”
在工程师团队中,闪电侠就相当于一支矛的尖端。“他们或是犀利,或是直率,但他们总是首当其冲。”Tabb 说,“你可能会需要一个团队的人来为他们善后。他们就像灵感不断却又乱糟糟的厨师一样。”
总结
内在动力:速度和自我展示。给终端用户开发软件。这类人甚少关心某个东西是怎样运行的,而更关心这东西到底是个啥。
超能力:极其擅长快速制作出产品以及阅读别人的代码。
行为特点:用极快的速度分享工作成果;只要喘一口气就要写一个代码。
如何管理:由他们领导,快速测试代码。需要创建体系或环境来减少闪电侠们带来的混乱。
使用不当:闪电侠需要成为先锋,不要让流程绊住了他们前进的步伐。
失败模式:开发团队很可能会对闪电侠的代码非常不满,不愿意与其共事。如果这个问题不解决,很可能会导致团队产生紧张气氛,从而闪电侠的创新性会被乱糟糟的代码所掩盖。
牧师
牧师的超能力是正直。
牧师类工程师的灵感来自于指令和代码质量。他从本质上把 API 看做是一款法律合同,能预见用户行为,将用户与软件的互动加以整理。一个优秀的牧师会整理散乱的代码,使这份法律合同易于理解。
“闪电侠喜欢研究一个程序能做什么,而牧师钟爱从更高层次研究编程活动。牧师尊重每个代码请求和反馈,这也进一步提升了他的条理性,从而代码能 够更容易为大家所理解。”Tabb 说,“虽然闪电侠与牧师的合作看起来程序很繁琐,但实际上能够加快工作速度,因为牧师编码出现 bug 的概率比闪电侠等工程师要小得多。”
每个程序员都会从事务的条理性上汲取灵感,但超越一定限度的条理性就不仅仅是为追求实用,而是天生的一种学究气质。牧师们就是如此追求条理。
“但是,牧师的这种学究精神也可能会使他们陷入固执的牛角尖中,对于一个追求 100% 正确率的牧师来说尤其如此。一旦牧师陷入牛角尖中,他就成魔了,俨然一个狂热分子。而因为这种反英雄的固执,整个团队将面临巨大的灾难。我们曾遇过一个牧 师变狂热分子的例子,那次我们不得不重新编写他的所有代码。回想起来,简直可怕。”
牧师一旦走偏,也可能会变身“蛋糕师”。“蛋糕师”狂热地喜欢 API,有事没事就想捣鼓几下。“‘蛋糕师’会在 API 上不断叠加 API,就像给蛋糕垒上多余的几层奶油一样。”Tabb 说,“和 ‘狂热分子’不同的是, ‘蛋糕师’的工作动力既不是出于自尊心,也不是出于对自己正确的肯定,而是想要用一件工具解决所有问题的野心。他们抡了把榔头在手上,见什么都当钉子 敲。”
总结
内在动力:响应性。提升软件的办事效率。
超能力:专精于打造精美的 API。
行为特点:注意力奇特,智力超群;有时会变得有些固执,拒绝在特定代码上工作。
如何管理:让他们自己处理工作,通过体系划分优先顺序。给予他们跨功能工作的机会,与其他工程师合作从而验证他们的系统。
使用不当:不要给他们制造模型或需要快速转变的项目(最适合闪电侠)。
失败模式:固执牧师变身恶人,主要有两种类型:狂热分子和蛋糕师。前一种出于自尊心的原因陷入对框架结构的狂热;后一种试图用 API 来解决所有问题,因为他手上就这么一个工具。
斯皮尔伯格
斯皮尔伯格的超能力是心灵感应。
随着科技创新,软件与用户在无言的交流中就产生了心灵感应。“我认识的斯皮尔伯格类工程师中的佼佼者有些是研究电影的。他们被电影叙述的方式所 启迪,并将电影的条理带入了产品开发中。”Tabb 说,“当这类工程师看着一块屏幕时,这款屏幕会分成好几个部分与他们进行交流。”
斯皮尔伯格型工程师喜欢开发软件,但条件是:他们与软件沟通无阻并且软件可以如期运行。
“我记得有一次一个斯皮尔伯格型的工程师来到 Looker 帮助我们改善 IDE(集成开发环境)。本来我们的 IDE 简直不能看,但短短一段时间之后(他是个闪电侠型斯皮尔伯格),我们的 IDE 变得又直观又流畅。”Tabb 说,“斯皮尔伯格型工程师对视觉语言和电脑语言有着非常准确的理解,放到电影领域我想应该就是铺垫和非直接交流吧。”
总结
内在动力:默契的交流。简洁直观的用户界面和设计美学。
超能力:对软件目标及用户需求了如指掌。
行为特点:持续将注意力放在用户和软件目标上。用户界面品质较差时会感到不舒服。
如何管理:将其与产品团队放在一起。招聘这类工程师时要千万细心,这样就不用频繁解雇了。鉴于他们的高审美品位,你必须尊重他们的意见;如果你做不到,那就早点 bye-bye 吧。
使用不当:给他们创造的空间,不要把他们拘束在狭小的问题上。
失败模式:他们可能会因为自己才华横溢的设计能力以及敏锐的直觉而野心勃勃,最终导致失败;也可能会专横傲慢,带着团队一起逾越界限。为了避免这种情况发生,你应当平衡好团队的工作反馈。
圣骑士及其工程管理艺术
要管理这么一群超级英雄式的工程师,必得需要一位领导人——即工程经理。工程经理既要给工程师们下工作指令,又不能束缚住这些人的才华。
“杰出的工程经理普遍有几大特点。”Tabb 说,“他们几乎都是圣骑士。历史上,圣骑士是查理曼法庭的 ‘十二近侍’,他们既是武士也是医师。优秀工程经理最重要的一大特质就是:她必须能修复团队中的裂痕。”
“工程经理的职责就是治愈创企商业层和软件层表面出现的损伤。作为一个圣骑士,工程经理要在维持团队的同时保护手下工程师的超能力。”Tabb 说,“不止如此,工程经理还要勇敢地面对权威。总会有领导对工程部的工作指手画脚,如果领导的意见不对,那圣骑士必须勇敢应对,让工程团队能在没有压力的 情况下继续发光发热。”
除了弥合裂痕,圣骑士还要维持手下英雄的秩序(鉴于各位英雄的超能力不同,有时还会相互抵触)。这就需要圣骑士能够识别各位工程师的能力,不误用,不滥用,创造和和美美的合作氛围。
这样分类有何意义
Tabb 的超级英雄分类法能让你看到,你的工程师到底优秀在什么地方,从而你也能为他们创造一个最理想的工作环境,让他们尽情发挥才华。