查看原文
其他

【第1583期】 Airbnb 的“硅谷”产品工程师

Luca Luo 前端早读课 2019-08-07

前言

同样重视挖掘数据对产品的影响。今日早读文章由Airbnb 中国全栈工程师@Luca Luo授权分享。

Airbnb 爱彼迎工程师和数据科学家将定期和大家分享移动开发、系统架构、数据科学及人工智能等领域的技术探索和经验心得

正文从这开始~~

从 Airbnb 总部加入 Airbnb 中国团队的工程师谈 Airbnb 的工程师文化以及硅谷的产品工程师与国内公司的不同之处

在 Airbnb 旧金山总部工作三年后,我在今年六月份加入 Airbnb 中国,负责 C 端主流程上搜索产品的开发。虽然我的职位是全栈工程师,但我发现 Airbnb 与国内理解的工程师职责上有很大的区别。我周围优秀的 Airbnb 工程师,除了写得一手好代码,搭建得出大系统,还能分析用户数据,调研需求,甚至提出方案,制定产品路线图等等。相对而言,国内主流工程师岗位崇尚职责细化深入,看重相关技术领域的积累。工程师负责执行而非策略,解决如何又快又好地开发出制定好的产品方案。而 Airbnb 所代表的硅谷工程师文化,不严格地划分技术栈,对业务结果负责而不只是开发执行,有时甚至填补产品数据或者运营的职责。因此我把 Airbnb 这类对产品结果负责,数据驱动,而不总是有明确技术栈的工程师们叫做“产品工程师”。

对产品结果负责的创业者

Airbnb 产品工程师最大的不同是对结果而非过程负责。不管是在旧金山还是北京,你都能看到 Airbnb 工程师与其他工程师、产品经理、设计师、数据科学家等同事争论为什么用户对产品的反馈不尽如人意,如何设计下一版本的迭代。这是我在与来自其他国内公司的朋友交流中很少听到的。Airbnb 产品工程师更像是一个创业者。作为创业团队成员,不论是做技术还是设计出身,目的都只有一个:一心希望创业产品成功。产品成功就是自身的成功,反之亦然。

究其原因,Airbnb 在衡量一个工程师时,就不只限于技术和开发的挑战,也考察团队和产品的成功。Airbnb 工程师文化的标语就是 “own your own impact”。这里的 impact 就是对用户或者其他工程师等产生的积极结果。可以是带来 20% 新用户,也可以是为工程师们每天节省 1 小时的 debug 时间。因此,Airbnb 中国的产品工程师们格外注重如何做出一个好产品。他们会提出自己认为有助于提升用户体验的提案,挑战产品经理提出的方案,或是通过数据找到用户转化的瓶颈。

举一个例子,一位工程师同事发现,新用户在第一次预定时有一个额外的步骤,是被要求在付款前验证邮箱。如果是按照国内传统的分工,他至多就是把这件事报告给产品经理。在 Airbnb,他却有动力更深入地研究这个问题。通过研究用户转化数据,这位同事发现这一步骤的转化率在中国比其他国家低很多。这个步骤沿用了国际产品的逻辑使用邮箱验证,但中国用户更多是用微信和手机号注册,所以这个步骤成为了很多新用户第一次预定的阻碍。了解了问题背后的原因后,他和负责风险管控、信息安全的团队沟通,确认这个步骤已经可以被移除。最后他用 A/B 测试成功验证:移除这一步为转化率带来了两位数的增长。

数据驱动的快速迭代

对产品结果负责是目的,而数据驱动则是 Airbnb 产品工程师们的方法。试想,各个职能的同事们各抒己见,天生可能不那么擅长言辞的工程师们如何说服整个团队?这个时候,数据的作用就显而易见了。上面一段提到的工程师运用转化率数据很容易发现邮件验证是用户转化的瓶颈,无需多言就说服了整个团队。

Airbnb 的产品工程师们主要在两个阶段应用数据来协助产品决策。一个是提出方案前利用数据看清用户痛点,找到最大机会。前面提到的例子就属于这一类。另一个稍微复杂一些的是发布后用 A/B 测试验证对用户的影响,如果没达到预期就进一步分析数据,发现之前假设或实现上的问题,迭代产品方案。靠着这两招,工程师们可以和数据科学家们一起用数据为自己发声,引导团队走正确的方向。

再举一个第二种情况的例子。同是开发搜索产品的另一位工程师负责一个热门地标筛选的产品,目的是为用户提供各个城市的热门地标,以帮助他们快速定位到自己想住的区域。在最初的版本测试后,他发现很多地标的用户点击率非常低,于是在下一个迭代中将它们移除了,只保留了真正热门的地标。然而没想到的是,这么做了之后反而降低了用户的转化率。这位同事分析了用户数据后发现,尽管一些不热门的地标点击的用户并不多,但是一方面是真正点击这些冷门地标的用户有很强的住在那里的需求,因此转化率非常高;另一方面是,用户打开地标筛选功能,却只能看到个别热门地标,与用户的期待不符。基于这一判断,他在下一个版本中不仅将上次移除的地标加了回来,还额外添加了更多更全面的地标。果不其然,最后这个版本显著提升了用户在寻找居住地点时的转化率。

培养底层能力不只是靠经验

说了这么多,你可能会想,你们招的哪里只是工程师啊,都是工程师加产品经理加数据科学家啊。诚然,正是对工程师职能有不一样的理解,Airbnb 在对工程师的招聘与培养上目标也不同。与国内很多公司动辄将工程师按照技术栈甚至编程语言(例如 Java 工程师)区分,Airbnb 大多则分为全栈或客户端工程师,全栈中至多有偏前端后端之分。与之对应的是,招聘时 Airbnb 更多考察的是工程师应有的核心能力,如算法、架构等。在考察过往经验时也着重考察思考、表达能力,而非追求经验与所需岗位匹配。这些底层能力是日后工程师们可以快速掌握新的技术和拓展原有技能的基石。

在人才培养考核上更是如此。除了能独立自主地交付相应职责范围的开发任务,有足够的技术深度,Airbnb 对于几乎每个级别的工程师还都要求能 make impact(产生积极的结果),对产品团队的优先级、方向制定上有贡献,以及为工程师团队的建设出一份力。相应的,在人才培养时,因为有这种环境在,加之管理者会有意识地提供相应机会,工程师们很容易培养出全面的能力。

过硬的专业技能,能发现机会,还懂得组织协调,在 Airbnb 团队中待过一段时间的工程师很多培养出了这些领导力特质。

关于本文
作者:@Luca Luo
原文:https://zhuanlan.zhihu.com/p/52099104

曾分享过


【第1411期】Airbnb 爱彼迎房源详情页中的 React 性能优化

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存