注重产品的软件工程师九个特点 - pragmaticengineer


具有产品意识的工程师是对产品本身有很多兴趣的开发人员。他们想了解为什么要做出决定,人们如何使用产品以及热衷于参与做出产品决定。如果他们决定放弃工程学的乐趣,他们很可能会成为一名优秀的产品经理。我曾与许多优秀的产品工程师合作,并认为自己是这种开发人员。在生产世界一流产品的公司中,注重产品的工程师将团队带入新的高度。
Atlassian的项目经理Sherif Mansour了一篇非常出色的文章,内容涉及产品工程师,以及产品经理如何识别这些人并与他们良好地合作。
在过去的十年的产品管理中,我得出的结论是,产品工程师是帮助您构建成功的产品,扩展自己并成为更好的产品经理的关键要素。
他还引用了Shopify工程主管Jean-Michel Lemieux的定义,他定义了以下产品工程师:
一旦有了产品基础,就需要积极参与“为什么”的开发人员。渴望使用技术来解决人类/用户问题的工程师。那些有同情心的人寻求神奇的经历。那就是我书中定义产品工程师的原因。坏人偷工减料。优秀的产品工程师知道,在构建阶段必须考虑到最小的可爱产品深度。
从事面向用户功能并与产品经理合作的团队是一个以产品为中心的工程师可以产生巨大影响的环境。他们经常成为关键的贡献者,成为产品经理的关键人物,并经常成为团队领导。那么,注重产品的工程师的主要特征是什么?如何才能变得更加注重产品?本文总结了我观察到的这些人共有的9个特质:

1.积极参与产品构想/意见
精通产品的工程师不会为获得规范而急于实施它。他们考虑其他想法,并与这些想法联系产品经理。他们经常挑战现有规格,建议采用其他产品方法,效果可能会更好。

2.对业务,用户行为和有关数据的兴趣
提出想法时,有产品意识的工程师不仅会凭空获得这些想法。他们花时间了解业务的运作方式,产品的适用范围以及目标是什么。他们也对产品如何使用户感觉以及这些用户如何从使用该产品中受益感到同情。他们经常直接研究有关业务和用户指标的数据,并尽可能地掌握这些数据。他们可能会直接访问它(如果可能的话),或者与产品经理或数据科学家联系以获取此类信息。他们这样做是因为他们的好奇心。这是我观察到的下一个特征。

3.好奇心和对“为什么”的浓厚兴趣
精通产品的工程师喜欢理解“为什么”?在万物背后。为什么要为产品构建此功能,为什么不为另一个构建功能?为什么要发布这个第一个里程碑,而不是选择另一个里程碑,这要容易得多?如何测量事物-我们为什么不选择更全面的测量方法?
他们可以自行寻找答案。他们向产品经理和业务中的其他人员寻求其他与产品相关的问题。即使他们经常问很多问题,但他们却不会惹恼别人,因为他们已经与他们建立了牢固的关系。

4.强大的沟通者和与非工程师的良好关系
精通产品的工程师喜欢与工程学以外的人交谈,了解他们做什么以及为什么这么做。他们是沟通流畅的人,很清楚他们有兴趣进一步了解其他学科的工作方式。我经常看到他们喝咖啡,午餐或与非工程师聊天。

5.预先提供产品/工程权衡
因为他们对产品“为什么”以及工程方面有深刻的了解,所以他们可以提出很少有人可以提出的建议。例如,在确定构建产品的工作量时,用于构建关键功能的工程工作可能很重要。许多工程师将开始寻找减少工作量的方法,并试图弄清楚减少工作量对功能本身的影响。
注重产品的工程师从两个角度解决了这个问题:既要寻找工程权衡,又要寻找对产品的影响。他们还开始进行产品折衷,评估工程影响。他们经常回到产品经理那里,建议要构建一个完全不同的功能,因为对产品的影响将是相似的,但是工程上的工作量要小得多。
兼顾产品和工程方面的权衡以及两者的影响,是专心产品的工程师所拥有的独特优势。它们可以在同一枚硬币的两个侧面之间来回快速移动:产品功能,工程设计和权衡。因为他们利用他们的工程和产品洞察力在脑海中完成所有工作,所以他们可以非常迅速地得出有价值的结论。

6.边缘案例的务实处理
边缘保护套是一件有趣的事。在一个极端情况下,工程师通常会忘记其中的许多内容,而在从测试产品或最终用户的人员那里获得反馈后,不得不重新解决这些问题。另一方面,处理新产品或功能中所有可能的情况可能会花费很多时间。
精通产品的工程师可以快速规划出边缘案例,并思考减少工作量的方法:通常带来不需要工程工作的解决方案。他们专注于“最低限度的可爱产品概念”,并评估边缘情况的影响以及处理情况。他们提出了很好的建议:在可能发布早期版本之前,找出大多数可能出问题的地方,并针对需要解决的极端情况提出建议。
例如,如果一千个用户中有一个可能被错误击中,他们将考虑进行修复,并考虑如果不采取任何措施会发生什么情况。在这种情况下,客户支持r人员可以帮助此人吗?是否在在验证过程中?用户能否在下一次重试并成功?可以对产品稍加修改,以免发生这种情况吗?

7.快速的产品验证周期
甚至在他们正在使用的功能尚未投入生产之前,具有产品意识的工程师便找到了创新的方法来获得早期反馈。这可能是与同事进行hallway测试,向产品经理展示正在进行的工作功能,在Beta版本上组织团队的bug追杀,以及许多其他创造性的方式。他们不断思考:“我们如何验证人们将以我们认为的方式使用此功能?”

8.端到端产品功能所有权
最有经验的工程师端到端地拥有他们的工作:从获得规范到实施规范,一直到推出并验证其正常工作。精通产品的工程师通常会超越此范围。
他们认为只有在获得有关用户行为和业务指标的结果后,他们的工作才能完成。推出后,他们仍然积极与产品经理,数据科学家和客户支持渠道互动,以了解该功能在现实世界中的使用情况。可能需要数周的时间才能获得足够的可靠数据来得出结论。即使他们可能正在从事一个新项目,他们还是将检查结果作为其首要任务之一。这不是一项耗时的活动,但需要其他想要知道的人的坚持不懈:我的工作真的如何?
当某个功能的性能比预期的差时,他们会很好地了解不匹配的位置。他们同样希望在产品计划和实际结果之间找到根本原因,就像调试代码库中难以重现的错误一样。他们通常会花费大量时间与产品经理和数据科学家讨论假设和学习。

9.通过反复学习来增强产品的直觉
对于产品工程师来说,一个典型的项目通常是这样的:

  1. 他们提出了许多问题,以确切了解为什么要构建产品功能。
  2. 它们带来了建议和折衷,其中一些已包含在修订的规范中。
  3. 他们可以快速构建功能,并尽早获得反馈。
  4. 交付功能部件后,他们会积极跟进,以了解功能部件是否符合预期。
  5. 如果没有,他们会深入研究,以了解为什么没有这样做,并了解有关现实世界中产品使用的新知识。

在每个项目之后,他们对产品的理解加深,并且他们开始发展越来越好的产品本能。下次,他们将为您带来更多相关建议。随着时间的推移,他们成为产品经理的首选,在项目启动之前就已经很好地征求了他们的建议。他们在团队之外建立了良好的声誉,为他们的职业生涯不断发展打开了更多的大门。
成为更具产品意识的工程师的提示

如果您使用的是面向用户的产品,那么以下是我见过的一些技巧,它们可以帮助您培养注重产品的肌肉。

  • 了解您的公司成功的方式和原因。什么是商业模式?钱是怎么赚的?哪些部门最有利可图,公司的哪些部门最能扩展?为什么?您的团队如何适应所有这些?
  • 与产品经理建立牢固的关系。大多数产品经理会抓住机会来指导工程师。使工程师对产品感兴趣意味着他们可以进一步扩展自己。在进来之前,先问很多产品问题,花一些时间建立这种关系,并向您的产品经理明确表示,您希望更多地参与产品主题。
  • 参与用户研究,客户支持和其他活动,在这里您可以了解有关产品工作原理的更多信息。与经常与用户互动的设计师,UX用户,数据科学家,操作人员和其他人员配对。
  • 提出支持良好的产品建议。对业务,产品和利益相关者有充分的了解之后:采取主动。您可以为正在进行的项目带来一些建议。或者,您可以建议更大的工作量,概述工程工作量和产品工作量,以便在待办事项中轻松确定优先级。
  • 为您从事的项目提供产品/工程权衡。不仅要考虑团队要构建的产品功能的工程设计权衡,还要考虑产品折衷方案,从而减少工程工作量。对他人的反馈意见持开放态度。
  • 要求产品经理经常提供反馈。成为一名优秀的产品工程师,意味着您在现有工程技能之上还建立了良好的产品技能。产品经理会为您提供有关您在产品技能方面的表现的最佳反馈。寻求反馈,了解他们对您的产品建议的重视程度,并就进一步发展的领域提出想法。