极客时间已完结课程限时免费阅读

31 | 工程师、产品经理、数据工程师是如何一起工作的?

31 | 工程师、产品经理、数据工程师是如何一起工作的?-极客时间

31 | 工程师、产品经理、数据工程师是如何一起工作的?

讲述:丁婵

时长06:54大小3.15M

做为一名工程师,免不了与产品经理打交道,如果公司大一些,数据量多一些,还会有数据工程师这个角色。今天会和你主要聊一聊在工作中,产品经理和数据工程师在哪些方面对我们工程师的帮助最大,以及我从他们身上都学到了些什么。

先来说说产品经理

我工作过的两个公司在早期的时候,很多服务器相关的研发组都是没有产品经理的。这种事在国内公司里比较少见,因为国内大部分产品都是由产品经理来驱动的,但在硅谷很多早期的公司里,这并不算太奇怪,毕竟很多产品经理的职责是工程师兼有的。
随着公司的发展和壮大,每个小组都有了固定的产品经理角色,我接触的产品经理也就慢慢多了起来。
在这个从无到有的过程中,对我帮助最大的是什么呢?我觉得应该是对项目边界和进度把控。
第一,当一个公司足够大的时候,虽然自顶而下管理,很多大的目标和方向在公司内保持了一致性,但是还有很多东西是需要讨论和确定的。
比如:产品和项目的边界如何确定,应该由哪个组做;如果两个组的工作范围有一定的重合性,如何确保两个组的工作是互补而不是重复甚至矛盾的;如果两个组要做的东西有一定的依赖性,在时间安排上如何保证被依赖的部分可以提前完成。
这样一些跨组协调,虽然技术管理者在一定程度上会有很大的话语权,也会参与所有的讨论和决策,但是有产品经理的帮助,他们可以更多把精力放在技术相关的问题上。
第二,不论你是在哪个组,做出来的产品一定是给人用的,使用的人就是你的用户。他们可能就是公司外部客户,也可能是公司内部另一个组的工程师。
有客户就会有需求,当有不同方面的人给你提出不同需求的时候,如何去合理地设定优先级,如何去和那些需求没有被满足的组沟通,如何有技巧地挡掉一些不那么重要的需求等等。这些都需要产品经理做大量的工作,让工程师把时间和精力更加专注地放在最重要最紧急的项目上。
第三,很多产品经理也会和技术管理者一起,兼任项目管理的职责。小到帮助安排各种定期不定期的会议,负责会议记录;大到帮助技术管理者一起制定项目的进度表,定期进行工程进度总结汇报等。
那么在这个过程中,技术经理或者技术管理者又给产品经理提供哪些帮助呢?
这包括:对某一个项目或者子项目的技术难度的工作量进行评估;给出多个可能的技术方案,包括长期方案和短期方案,以及每个方案的利弊;对组员能力的评估,知道谁可能去做什么,组里现在是不是有人有经验或者能力,去负责某个项目,攻克技术点等等。这样产品经理可以更好地设计产品特征,设定需求边界。
从产品经理身上,我学了很多东西,这包括了:各种沟通能力,会议、邮件、一对一面谈、处理和制定优先级的能力、如何回绝不合理的需求,还有一些项目管理和追踪的技巧。

再来说说数据工程师

关于数据工程师的文章很多,我在自己的公众号和之前的专栏文章(每个工程师都应该了解的:A/B 测试)都略有涉及。这里着重讲讲他们在工程协作中什么时候和工程师的交互最多,以及在合作中有哪些地方让我印象深刻。
硅谷很多项目在产品开发初期就会有数据工程师的参与。
包括如何设计数据实验,了解产品或者项目是不是达到预期的效果;哪些老的数据和指标( Metrics )是需要监控的,以保证不会影响其他的产品或者项目;哪些地方可以通过数据模型给出最优方案 —— 这些地方通常是可以使用机器学习的部分。
当然,在很多专门的机器学习应用领域,数据工程师的重要性更加不言而喻。
在产品开发后期,或者产品发布初期,数据工程师会帮助调整各种监控系统或者预警系统,确保当系统出现异常,或者某些用户行为不在预料之中的时候,工程师们能第一时间了解情况。
与软件工程师相比,数据工程师有着不同的技术背景,他们的很多能力是和工程师互补的,但是有一件事,是我们可以去学习并为我所用的,那就是对数据的敏感性。
记得有一次,生产线上的一个 Bug,导致整个产品线有一个转化率变得格外差。因为问题比较严重,好几个工程师都去调试并定位错误,但是都没能找到问题所在。
结果他们的数据工程师通过观察不同指标下数据变化的时间线,在一些数据变化的异常曲线里找到了问题发生的关键时间点;再去找那个时间所有的改动,包括代码改动和灰度发布控制开关的变化,从而找出了问题。
另一个案例是听朋友说的,他也做支付,产品的一个代码改动,没有设置合适的异常,也就是该抛异常的地方没有把异常扔出来,结果数据下溢导致一笔金额数字错误。因为是很少见的场景,所以测试的时候也没有发现,但是数据工程师在数据图中的异常报警发现了这个问题,减少了一笔不必要的损失。
见微知著,其实我描述的案例,仅仅体现了数据工程师的一小部分价值。在大数据和人工智能的时代,数据工程师的作用正变得越来越不可替代。
今天主要讲了一些我和产品经理、数据工程师一起工作的故事,这其中包括了我自己的感受。
做为一个软件工程师,有机会和他们一起工作,从他们视角去看待问题,可以拓展自己的知识领域和眼界,一方面可以把产品做得更好,另一方面,让自己成为一个既有产品思维,又有数据思维的工程师,会让你在这个时代具备更强的竞争力。
关于产品经理的主题,你如果有兴趣了解,可以去订阅隔壁邱岳老师的“产品手记”。
无论是你工程师、产品经理还是数据工程师,请在留言里写下你的故事,我们一起成长。感谢你的收听,我们下期再见。
分享给需要的人,Ta购买本课程,你将得18
生成海报并分享

赞 4

提建议

上一篇
30 | 编程马拉松
下一篇
32 | 硅谷人如何做 Code Review
 写留言

精选留言(10)

  • GeekAmI
    2018-01-22
    国外的产品经理更像国内项目经理的角色
    9
  • davidzhou
    2018-01-26
    项目数据大部分掌握在运营手中,除非出现生产问题,开发才有机会获得那天的数据进行分析
    5
  • isaac
    2018-01-22
    没有见过文中的专职数据工程师,心塞
    4
  • 2021-02-10
    项目经理,产品经理,需求经理,技术经理……当经理超过了工程师的时候,就没有了工程师文化。
    1
  • Feng
    2018-09-22
    数据工程师,努力的目标
    1
  • 怀揣梦想的学渣
    2022-03-20
    线下没接触过数据工程师,感到好遗憾。
  • Wesley
    2021-12-01
    硅谷一直能站在技术的最前沿,特别是在互联网领域保持遥遥领先,离不开很多既有产品思维、又有数据思维的优秀工程师的不断涌现。
  • 何慧成
    2020-09-04
    国内对数据管理非常严格,数据工程师要发挥大作用还得是专门的数据挖掘岗位等。报警,监控之类的基本上是架构师定了。不过有一点启发,就是对于生产的监控,也可以通过数据情况进行发现,站在专门的业务数据角度去观察和设计。
  • leslie
    2020-04-11
    这个职位个人觉得其实国内最合适的就是数据库工程师去做,随着纯DBA和OPS的减少,DBA又是各个的中间环节,总觉得DBA和OPS可能最终会形成一个新的职位。
  • mikejiang
    2019-11-29
    数据工程师我们这里主要就是提取数据,供产品和管理层决策用的。还有一个用处是分析预测流量未来峰值,便于工程师扩容