Back to home

工程师应以价值为导向

Edit

工程师应以价值为导向


行业内有一句话常讲,结果导向。这是一个优秀的工程师非常重要的品质。 那到底怎样才算结果导向?

结果导向,我觉得这个描述是不够精确的。因为每件事情都会有个结果,你即使没有做到最后,也会有个结果。但价值不一样。 一个事情做到中间可能丝毫没有产生任何的价值,只有最后落实到位,才会有价值。所以,我理解的,对于结果导向想要表达的优秀品质,如果描述更精确一些来说,应是已是以价值为导向。

什么是价值? 按照维基百科的说法,泛指客体对于主体表现出来的积极意义和有用性。落到本文来讲,客体就是研发工程师,主体也就是公司。 看一个工程师好不好,就看你的工作对于公司产生了多大的价值。

如果你是一个基础架构的同学,你开发了一套基础服务,但是没有任何业务在用, 你觉得你的工作产生价值了嘛? 显然没有。 而这也是很多做基础服务同学的误区,他认为只要把服务做出来就 ok 了,是否把服务 sell 出去,不是他的职责。这就错了,一个基础服务,如果业务上没用,产品上没有任何体现。那这个服务几乎没雨价值。这个工作对于公司没有产生积极意义或有用性。你能说你的工作有价值? 所以,你如果真得认可你自己做的基础服务,你就应该主动把他 sell 出去。在业务中落地,这样才会有最大的价值。 把服务 sell 出去,或者通过其他手段在业务中真正用起来,这是你的本职工作。

如果你是一个业务研发的同学,线上出了一个你负责的功能的bug,你追查之后发现,不是你的问题,是一个其他部门的依赖问题,然后你就告诉了一下这个部门,有 bug 需要处理。 然后就这样就完了嘛? 显然不够,因为这样并没有对公司产生什么价值。bug 依然存在,一个合格的工程师是应该跟进到底,通过各种手段推动相关部门把 bug 修复上线,保证最终你负责的功能没有问题,这样才能产生价值,或者说最大的价值。

可能有同学会反驳,说,我把一个服务从无到有的搭建起来了,虽然没有业务用,但你也不能说没任何价值吧。我说,极端点来讲,没有对公司产生积极作用,就是没价值。当然,我们也可以换种角度来看,从你自己的角度来看,我们来看看这件事情在整个过程中的投入产出比。

就说基础服务这件事情,当服务开发完毕,你付出了8分劳动的时候,但因为没有业务在用,从客观存在性上讲,你这时最多产生了5分的价值。当然获得的回报也就是5分的回报。而当你把 sell 这件事情搞定,在业务上落地了,你才产生了10分的价值,回报上来讲也是最大的回报。也就是最后那2分来讲,非常重要,这对你来讲,是个投入产出比最高的事情。 而很多同学都忽略了那最后2分的付出。 完成了最后这2分,才使你之前的付出产生的价值最大化

所以,在平时工作中,你要时刻思考,你的工作是否产生了价值,或者是否产生了最大的价值。只有你的工作产生了最大的价值,才会有着相应最大的回报,这对你来讲才是收益最大的事情。

在工作中,我们也应该时刻寻找我们工作的价值点。这就是我们的核心竞争力。对于研发来讲,工作中能够体现出来的价值,大致就这么几类:

在公司大规模之前,研发能够体现的价值就是技术价值,当规模化以后,研发需要体现出他的商业价值,再往后,就是社会价值。下面分别来说。

先说技术价值,技术价值就是三点,迭代、稳定性和核心体验。在公司初期,更重要的是产品快速上线、试错。需要更多的体现你的迭代价值,所以工作重点应该是提升迭代速度。到产品本身验证成功,规模化以后,你要提现的价值就是技术能够带来的稳定性和体验。同样的产品,你的稳定性好,你的体验好(延时低,性能高),你就牛逼。这就是你技术要提现的核心价值所在。千万不要忽略了体验对于用户的意义,亚马逊100ms 的时延增长,销售额就降低1%(具体数据未考证),但时延对于用户的影响,相信大家也都懂。

再说一下商业价值。商业价值的体现,往往在公司规模化以后。这事迭代、稳定性和核心体验可能已不是太多的问题。那这时,技术就要寻找他的商业价值。最典型的例子就是 aws,aws 让全球程序员明白了,不用依赖产品经理,技术也是可以赚钱的。所以,一个项目本身,再设计之初。就应该考虑这个项目,不仅会服务于自己的团队、自己的公司、还可能会服务于全世界。当然,不代表一开始就要照着往全世界的方式去做,因为还要看 ROI,但一开始,需要有这样的意识。

那在商业价值之后,又需要寻找什么?其实一旦产生商业价值之后,你就已经类似于一个独立的企业。 一个伟大的企业,还是要追寻他的社会价值的。不过,这个就扯远了。 等产生了商业价值再说吧。

差不多就这么多。 大家看看就好,只是个人意见。简单总结来讲,就是对于平时的工作来讲,要努力产生最大的价值,这样才会最大的回报。而平时,也要多思考自己的工作的价值点。不是仅仅低头做事儿,要想清楚自己做的事情的价值。欢迎一起讨论。