ARTICLE

产品经理要懂技术到什么程度?

理解技术边界可提升与研发团队的沟通效率,设计更合理的产品方案。

July 7, 2025
12 MIN READ

“产品经理要不要懂技术” 这个问题已经被讨论了很多遍了,就跟”程序员要不要懂产品”一样,每次一提起都能掀起一场”腥风血雨”。 反对观点主要认为产品经理核心是解决问题和创造价值,应当全身心关注业务,技术的事儿交给研发就行, 支持的观点在于你不懂技术,被研发坑了都不知道,了解技术以及其边界也是为了更好地提出需求。

然而,以某观止,关注业务和了解技术边界这两件事实际上并不冲突。小学生才做选择,足下何不兼而得之?

产品经理懂技术的好处h2

  1. 提升沟通效率,避免鸡同鸭讲
  2. 更合理地评估可行性和成本
  3. 设计更优雅的产品方案
  4. 识别风险,提前规避
  5. 赢得研发团的尊重和信任

需要懂技术到什么程度?h2

既然要懂一点技术,那到底要懂到什么程度才够呢? 不要忘记咱们的目的(看看上面的”好处”),只需要做到了解即可,代码不需要咱们去实现。

基本概念和原理h3

前端: 前端一般包含广泛,几乎包含所有用户可见界面,例如: 安卓或iOS应用、浏览器、小程序等用户界面,管理后台的用户界面也可称之为”前端”。

后端与后台: 后端一般指服务器端,负责处理数据和业务逻辑,例如: 数据库、API接口等,而后台往往是指管理后台,例如: 管理员登录后台、运营后台等。

数据库: 数据库一般分为关系型数据库和非关系型数据库,关系型数据库如 MySQL、PostgreSQL 等,非关系型数据库如 MongoDB、Redis 等,并且这些数据库的存储原理也不同。

接口: 接口是 API 的一种,它是一种协议,用于让不同的软件之间进行通信。许多时候我们讲的接口都是指 HTTP 接口,它是一种基于 HTTP 协议的接口,用于让不同的软件之间进行通信。

S3: S3 是亚马逊的云存储服务,一般用于存储图片、视频等文件,并且这些文件一般会通过 CDN 加速访问。Cloudflare 的 R2、七牛云的 KODO、阿里云的 OSS、腾讯云的 COS 也是类似的服务。

CDN: CDN 是内容分发网络,它将内容缓存在全球多个节点,用户访问时会就近访问,一般用于加速图片、视频等文件的访问,例如: 七牛云、阿里云等。

微服务: 微服务是一种架构风格,它将一个应用拆分为多个小型服务,每个服务可以独立部署、独立运行,并且这些服务之间通过 API 进行通信。

容器化: 容器化是一种将应用打包成容器的技术,它将应用及其依赖打包成一个容器,并且这些容器可以独立部署、独立运行,并且这些容器之间通过网络进行通信。

分布式: 分布式是一种架构风格,它将同一个应用部署在全球多个地域的多个节点上,为满足用户就近访问,提高访问速度,并且这些节点之间通过网络进行通信。

SDK: SDK 是 Software Development Kit 的缩写,它是一种工具包,用于帮助开发者快速开发应用。

API: API 是 Application Programming Interface 的缩写,它是一种接口,用于让不同的软件之间进行通信。许多时候我们讲的 API 都是指 HTTP API,它是一种基于 HTTP 协议的接口,用于让不同的软件之间进行通信。

技术开发流程h3

  • 需求评审: 研发团队与产品经理一起评审需求,确保需求是合理的、可行的、有价值的;
  • 技术方案: 研发团队进行技术选型和实现方案,确保满足需求、进度、成本、风险、性能等可控;
  • 开发: 研发团队按计划进行开发,并进行自测;
  • 测试: 研发团队进行测试,一般包含:功能测试、流程测试、数据测试、性能测试、安全测试、稳定性测试等;
  • 上线: 研发团队将代码部署到生产环境,并进行监控;
  • 运维: 研发团队进行运维,一般包含:监控、日志、告警、故障处理等;

需要知道哪些技术边界h2

前后端分离h3

曾经前后端是在一个项目中的,开发人员不仅需要同时写后端逻辑处理数据的增删改查,还需要使用模板引擎渲染页面, 大家觉得这件事情太麻烦了,于是就有人专门来写页面的模板,他们通过约定的 HTTP 接口进行通信,后来这部分人被称为”前端工程师”。

前端与后端分离后,前端工程师只需要关注页面设计、交互、动画,后端工程师只需要关注数据处理、业务逻辑。

有时,我们发现程序界面上有些地方显示错误,假设是错别字(低级错误),我们可以判断这个数据的来源是前端的模板内容还是后端返回的数据, 籍此可以判断是前端工程师的疏忽还是后端工程师的疏忽,使我们可以精准找到对应的人修复。

HTTP 接口h3

HTTP 接口是基于 HTTP 协议的接口,一般来讲我们的业务大多数都是基于这个协议。

发起这个请求可以称为”调用”,客户端可以调用服务端,服务端也可以调用别的服务端。 但是在前后端分离的情况下,服务端是没有办法调用客户端的,例如服务端想要推送消息给客户端,这样就不可以, 因此,我们理解 HTTP 请求是单向的,如果客户端想要获得最新的数据,则需要主动调用服务端接口。

例如:在一个网站上,你同时打开两个页面,在其中一个页面中更新了你的头像,此时切换到另一个页面不刷新的情况下,另一个页面中的头像不会更新。 当你刷新页面(此时客户端发起了一个请求)获取你最新的数据,此时后端会返回你最新的数据,然后客户端会更新页面中的头像。

所以,知道了这个特点有助于我们在设计产品功能时关注交互流程,不可能出现那种客户端什么都不做,而服务端通知客户端数据改变的情况。

HTTP 接口的请求格式(请求头和请求体)和响应格式(响应头和响应体),以及常见的请求方法(GET、POST、PUT、DELETE、PATCH 等),

GET /api/v1/user/123 HTTP/1.1
Host: example.com
Content-Type: application/json; charset=utf-8
Authorization: Bearer 1234567890
{
"name": "John Doe",
"age": 30
}
HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
{
"name": "John Doe",
"age": 30,
"email": "john.doe@example.com"
}

有时,为了鉴定请求来源的合法性,我们会在请求头中增加鉴权信息,例如: 请求头中增加 Authorization 字段,值为 Bearer <token>, 或者需要给参数排序然后计算加密值等方式,请求方加密以及处理方或是解密或是重复加密后比对加密后的值。

为了保证接口的安全性,我们通常会使用 HTTPS 协议,它与 HTTP 协议的区别在于 HTTPS 协议是加密传输的, 并且 HTTPS 协议是 443 端口,而 HTTP 协议是 80 端口(把服务器理解成水池,端口就只是不同的水管)。

知道了这些,有助于帮助我们在设计产品功能时阅读第三方的 API 接口文档,理解对方的产品逻辑然后实现我们的服务和流程。

WebSocketh3

WebSocket 协议是一种全双工通信协议,它允许客户端和服务端之间进行双向的实时通信。 例如:一个网站上有一个聊天室,当一个用户在聊天室中发送消息时,其他用户会收到这个消息,并且这个消息会实时显示在聊天室中。

Server-Sent Events (SSE)h3

SSE 是一种服务器向客户端发送事件的协议,客户端请求后,由服务端主动持续向客户端发送事件,推送数据直至结束。 例如:AI 聊天机器人,当 AI 回答问题时,会实时显示在聊天窗口中。

总结h2

对于一些新手朋友,这些概念和关键词可能比较陌生,没关系,大致过一遍,需要的时候再查一下就行了。 俗话说 20% 的知识可以解决 80% 的问题,我认为当你了解 前后端分离 与 HTTP 接口 的特点后, 就可以达到与研发团队高效沟通,避免产品设计与技术实现脱节的现象了。