[关闭]
@xuemingdeng 2017-08-16T16:45:39.000000Z 字数 4077 阅读 776

做一个“卓有成效”的工程师

工程管理


是做一个按部就班交付任务的工程师,还是做一个知道怎么完成具有真正影响力的事情而获得优秀考评的工程师?一个以交付为导向的公司和一个以影响力为导向的公司,哪个更长命?Facebook前员工、Lyft增长工程主管Eran Davidov通过举例和分析对比表达了他的观点。

我曾经在一家以交付为导向的公司工作,以交付为导向的意思是说,我的工作是通过一个清单来定义的。我的待遇既不是由产品在市场中的反响效果来决定的,也不是我在公司里的影响力来决定。只要我能够及时交付,就算是很好地完成了我的工作。

后来,我到了一家以影响力为导向的公司。他们并不在意我交付了什么或什么时候交付,只要我所做的事情对业务产生了影响力就可以了。我每六个月接受一次考评,要想获得好的考评结果,在这六个月内我必须要产生可衡量的影响力。

我们先来比较一下这两种公司之间的不同。

在以交付为导向的公司(姑且称其为S公司),一个项目可能会持续三年,在这期间我需要持续跟进项目。

在以影响力为导向的公司(姑且称其为I公司),如果我在一整年内没有产生有意义的影响力,那么就算是毫无进展。

在S公司,QA的作用是防止工程师交付有问题的东西。

在I公司,QA的作用是与工程师一起工作,确保功能特性能够正常运行。

在S公司,发布日期是非常严格的。

在I公司,只有当我们认为产品好到可以给用户带来正面影响力的情况下才会发布产品。

S公司曾经是一家500强公司,但现在已经从地球上消失了。

I公司仍然健在,而且还活得有声有色。

什么是影响力?

简单地说,影响力就是指业务影响力、为公司赚更多的钱、为公司省钱、发展公司的客户、提高公司业务量、降低客户支持成本,等等。这些都是公司的首要目标。

当然,为公司带来影响力的方式有许多,只要它们是基于以下这些目标。

并非所有的事情都是可量化的

通过修复UI问题给某个功能特性带来的影响是难以简单地进行量化的,不过这的确提升了品牌的情感体验和用户的舒适度。从长远来看,它会影响到净推荐值(net promoter score)。

偿还技术债务或者让系统变得更加可靠所带来的影响力也是难以简单地进行量化的。不过它们确实非常重要,因为如果你的系统缺乏可扩展性,就会拖慢开发速度。问题的核心在于,要做有用的事情,而不是盲目地采用新技术进行重构。

代码审查可以让你的团队变得更好,在提升质量的同时,也让其他人学会了如何编写更高质量的代码。

如果你认为一些东西很重要,但不知道如何对它们进行量化,那么可以与你的上司或同事讨论这些事情,看看他们是否能够了解其中暗藏的价值,或许他们能给出一些建议。

正因为不是所有的事情都是可量化的,所以我们要有所偏重。

为什么要这样?

下面是人们在进行自我评估时会提到的一些东西。

以上这些只是可以产生影响力的方式,而并非你所产生的影响力。

现在再来看看其他的一些例子。

以上几项之所以对公司来说是有影响力的,是因为它们要么增长了业务指标、节省了时间、节省了人力资源,要么让公司得到了全面的提升。

但我不是产品经理!

工程和产品管理都应该明白,他们要用最少的成本开发出正确的产品。工程师阅读代码,部署代码,修改代码,修复缺陷。对于他们来说,有影响力的事情未必就是要开发出新产品。它们可以是指对UI的改进或者构建更稳定的系统,总之就是让产品更加易用。比如,识别出用户在移动设备上做出的不太明显的操作,或者改进登录过程,直接把用户定向到结算流程,这些对于公司的关键性指标都有重大影响。这些事情都是工程师能够去做的。

如何理解影响力

如果你做了事情,却不提及它们所产生的影响力,你可能只是在浪费自己和他人的时间。

在产品的不同阶段,影响力有不同的表现方式。

在构想阶段

在计划阶段

在执行阶段

在启动、测试和监控阶段

一切都是运气?

想想你们公司的考评更注重什么,是行动(交付)还是进展(影响力)?

考评的目的是为了奖励做出正确决定的人。我们所做的每一件事情里都有运气的成分,不过先让我们来看看下面两个人连续三期的绩效考评。

一般工程师:
第一期:做了很好的计划,但是项目没有出成果。
第二期:优秀的编码能力,但项目只有很小的影响力。
第三期:从系统架构层面出发,让四个团队重写了他们的接口。要让当前的系统变得更好,最好的办法是重头开始,因为它确实不够酷。

“运气”工程师:
第一期:进行很多短期的实验,提高了10%的产量。
第二期:对网站进行重新设计,降低了5%的遗弃率。
第三期:重构后端的技术栈,降低了20%的页面加载时间,增加了5%的跳出率(bounce rate)。

其实没有人会那么幸运的,只是“运气”工程师做出了更聪明的选择。她选择了正确的项目,并验证某些事情是不是值得去做。在评估工作时,她总是能把最终结果考虑在内。

而一般的工程师在错误的事情上浪费了很多高大上的技术。

短期还是长期?

我比较注重短期目标。如果你关注长期目标,或许要到下一年才能看到成果,而你的公司有可能都撑不到下一年。而如果你关注的是短期目标,你会想办法让项目有所进展,不断改进最小可用产品,识别出错误的行动方向并立即终止它。一个公司应该要同时制定多种目标,包括长期的、中期的和短期的。比如70%的六个月目标、20%的一年目标和10%更长期的目标。这个取决于你的实际情况和业界的发展状况,并且要根据产品和公司的生命周期进行评估。

要把长期项目做好!有时候,你需要去创建一个新数据库,因为你预见到基础设施将会在一年内崩溃。有时候,你需要研究新的技术,以便解锁新的产品机遇和业务线。想想以下这些问题。

  1. 这对于业务来说是不是非常关键?它属于长期、中期还是短期的?你能否说服其他人跟你一起工作,让他们相信这件事比其他的更重要?
  2. 有没有更简单、更短期的方式可以达成你的目标?
  3. 能否在构建整个系统之前先验证你的构想?你可能花了一年时间搭建机器学习平台,用于训练人们的购买意愿数据,结果却发现这样做并不能给销售带来任何提升。
  4. 会不会存在这样的情况,其他人使用“老旧”的技术,并不断做出改进,而你使用了新技术,结果同时存在两个相互竞争的系统?或许循序渐进式的改进要比采用新技术更好,具有更小的破坏力。
  5. 大型项目的影响力和它所耗费的时间是否成正比?如果不是,那么还值得去做这个项目吗?

如果你决定要推进一个项目,那么就设定清晰的目标,并确保真的能够达成每个目标,而不只是说“还在努力”。与此同时,不断问自己,这样做还有意义吗?

惩罚失败?

我们对于失败的定义或许不太一样。

我不惩罚失败,我只奖励成功和承担风险的行为。正确的决策和良好的执行力会让你更有机会获得成功。

我在说的是哪一类型的公司?

大部分公司的失败不会只是因为一两个原因,以交付为导向的公司之所以失败,是因为它还存在其他的问题。我这里所说的以影响力为导向的公司是指Faceb,而我目前的公司Lyft也是以影响力为导向的。

查看英文原文: We are All Product Owners! An Impact Guide for Engineers

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注