产品工程师和堆栈工程师的区别


成为产品工程师后,最大的转变可能就是从用户的角度思考问题。技术上的合理性要让位于用户的需求。

当我还是一名堆栈工程师时,我会从 "技术上有哪些可能性?"的角度来处理问题,然后与产品经理协商,选择一个稍微可行的折中方案。

而现在,我们理想中的东西在技术上是不可能实现的。但我们仍然需要用户有良好的体验,所以也许我们可以放宽一些其他限制,让用户感到愉悦,同时在技术上也成为可能。

我并不总是能做到这一点,有时会陷入技术思考的误区,这时我可爱的团队伙伴们会帮助我回到正确的轨道上来。

PostHog 的GitHub 上链接了一个公开的例子。

以产品为导向和以代码为导向并不相互排斥:事实上,它们是相辅相成的。

现实世界中的 "产品工程师 "是什么样的?
一般来说,产品工程与大多数项目的规划方式类似。

Neil 写过一篇详细的博文,介绍他作为软件工程师是如何拥有项目的:

  • 收集上下文背景:全面了解问题,重点关注用例。
  • 找出解决方案:从理想的解决方案入手,找出首要原则。
  • 构建:有效安排任务的轻重缓急,明确优先事项,避免分心。
  • 收集反馈:进行用户访谈,确认原则并验证解决方案。
  • 根据反馈调整指标:确保反馈与产品的实际使用情况相一致。

这些步骤类似于 "正常公司 "的软件项目规划。

收集上下文
在一般的科技公司中,收集上下文通常意味着使用已有的数据或与产品经理和用户体验团队沟通。
而在产品工程岗位上,收集上下文意味着直接与客户交谈,并采用更多的实践方法。这种情况很少见!

大多数公司的工程师都与用户隔绝,而是与产品经理联系。之所以这样做,通常是因为 "角色 "明确,可以更加专注。
另一方面,产品工程师可以身兼数职,从事工程、产品和用户体验方面的工作。
产品经理的接口被移除。

相反,产品经理会在必要时深入产品的方方面面,补充表面的见解,并接手产品工程师没有带宽的调查工作。

你也可以在现实生活中看到这一点,因为 PostHog 公开了每个团队的冲刺计划

反馈回路
反馈回路是一个有趣的话题。

人们非常关注如何产生更快的反馈回路,让工程师确保他们的方向是正确的。检查反馈通常可以进行微调整,以获得更好的产品。

尼尔在这里提到的一个好问题是,他问自己 "如何验证我的想法?",主动迫使自己寻求反馈。

量化标准始终以用户为中心
这一点似乎显而易见,但在大型科技公司工作过的人都知道,情况并非总是如此。

在 PostHog 这样的初创公司,衡量标准必须以用户为中心。产品工程师 "这个名称让所有工程师都牢记这一点。

另一方面,在规模较大的科技公司,结果却千差万别。指标往往会成为另一种游戏,以显示对晋升的影响。当然,也有很多情况下,指标与更好的用户体验是一致的,但这种情况在 "产品工程 "公司更为常见。

例如,在 Meta 和谷歌这样的大型科技公司,网络上有无数这样的故事:创造更好的用户体验往往被暗中阻止,导致工程师们只顾解决 "棘手的问题",而不管这些问题是否能给用户带来价值。工程师往往必须在 "对用户最好 "和 "对自己的职业生涯最好 "之间做出选择(尽管情况并非总是如此)。

软件并不总是解决方案
拥有一个项目可以提供从与客户交谈到获取反馈的全局视角。

这种视角有助于了解整个流程,以及软件何时可能不是正确的解决方案。

当产品放在首位时,我们更鼓励这样做。与其他科技公司相比,在这些公司中,代码量和拉取请求的速度是衡量工作效率的常用指标,而不考虑提供的实际价值。

工程师培养完整产品技能的技巧

  • 大多数公司希望工程师更具产品意识。虽然它在“工程”社交媒体上引起了轰动,但工程师对产品进行深入思考的情况并不常见。
  • 更多地与数据分析师、实施专家和产品经理一起工作。
  • 询问有关用户体验的问题。哪些指标对最终结果很重要?目标是什么用户体验? 
  • 这也意味着在全员大会期间要真正集中注意力。轻松解决这个问题很容易,但重要的是尝试在全体会议或电话会议中提出问题。
    • 假设您正在领导您的公司和/或组织。您会关注什么?您将为您所在的公司和组织采取哪些行动?
    • 如果您的预测与组织的发展方向一致,那就太好了!
    • 但如果他们不这样做。他们为什么不呢?
    • 事实上,他们不这样做的情况很常见。当愿景差异足够大,并且有人感到足够强大,对领导层的愿景(或缺乏愿景)感到沮丧时,初创企业就会诞生。
      • 大型科技公司在耗时数年的项目中陷入困境并最终关闭的情况很常见。我亲眼所见!副总裁和董事将被分配到他们没有业务领导的项目,当这些组织在几年后因失败而关闭时,受苦的通常是员工。

  • 构建更多原型。正如尼尔所说,获得 MVP 是非常有价值的。

  • 尝试将 0-1 项目与“改进”项目完美结合。在公司中,对现有产品进行功能改进或更改是很常见的。但是,理想情况下,有机会从事“从头开始”的项目。
    • 在初创公司,这些机会可能更容易找到。
    • 在大型科技公司,这肯定更难,但这是可能的。

总结
Oculus 前首席技术官、id Software(《毁灭战士》、《Quake》等)创始人约翰-卡马克(John Carmack)被问及人工智能未来将如何影响软件开发人员的工作。

他只有一条建议:"培养全面的产品技能"。

事实上,他在推特、播客和自己的文章中反复强调了这一特质:具有产品思维会让你成为一名非常有价值的工程师。

我所认识的最优秀的工程师不仅在技术上极其敏锐,而且能够运用他们的技术技能为产品的发展带来最大的影响。

一些公司已经将这种思维方式正式纳入 "产品工程师 "的角色,让他们负责产品的整体方向,而不仅仅是工程设计。令人惊讶的是,这种情况在当今许多科技公司中并不常见。

在本文中,我所指的 "堆栈工程师 "基本上是指所有软件工程师。