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

A kitten
蒋川
B 端产品经理,卡拉云联合创始人
阅读时长 2 分钟

先说结论

1.需要懂技术。如果不想止步于初级产品,那么常识性的技术一定要懂。 2.懂技术不代表要自己写代码去干程序员的活,而是要能站在技术视角与技术对话。 3.理解技术如何「从无到有」实现产品需求,避免自己提虚无缥缈无法落地的需求,更好更快推进项目前进。 4.编程语言、数据库、API,其实产品需要了解的技术并不多,也不用特别深,只要有入门级的水平,就能帮你打开新的思考纬度,产品能力越迁级的提升,学习性价比极高。

一. 为什么要懂技术 —— 产品思维与技术思维

产品经理不懂技术的后果

图片来源:IT 之家微博

还记得前几年,产品经理和程序员因「让 app 主题跟随用户手机壳颜色变化」的需求打起来的段子吗?产品提了个虚无缥缈的需求,程序员从实际落地出发,这需求怎么做?这不是难为我嘛,荒谬到气愤,说做不了。

产品说这个需求很简单:「你只要启动前置摄像头,根据用户眼睛反射的倒影拿到手机壳颜色,再取色拿到颜色值,换一下 app 主题颜色就行了」(典型的对技术不熟悉,不知道技术能实现的边界在哪)。

于是两个人在办公室打起来了。

咱们暂不讨论这是不是伪需求,单说能提这种需求的产品,就是典型的不懂技术,不知道技术边界的初级产品。不妨我们自我反思一下,是否在刚入行时,也犯过类似的错误。

那么产品思维和技术思维到底有哪些不同呢?

产品需求图

产品与技术对于同一个「功能、需求」思考的纬度是不同的

产品思维:商业价值、用户价值、使用场景

产品思维主要从商业/用户价值、使用场景等方面出发思考产品设计。

比如

价值型:留存率、续费率、跳出率、转化率等。

场景型:购买场景中的下单流程、内容产出场景中的发帖流程、社交场景中的发私信流程。

技术思维:实现方法、技术架构、开发成本

当技术拿到产品需求后,首先思考的是具体实现方法,技术会在微观层面非常细致的思考实现的每一个细小的步骤,因为任何一个细小的坑,如果迈不过去,整个开发就无法完成。

然后宏观层面思考这样的改动对整个技术架构会带来怎样的影响?这种影响会不会有严重的后果,这个功能是否重要到需要动整个或部分架构。

最后是开发成本,纯实现需求需要花多少人多少时间,对整个架构造成的影响又要花多少人多少时间。如果开发成本非常大,收益又非常小,技术会站出来拒绝。

面对同一个需求,产品和技术交流时,会局限于自己的经验和知识结构,这会导致鸡同鸭讲的情况出现。产品作为承上启下的信息粘合的角色,需要既懂用户又懂技术,这非常重要。并非要产品去写代码,而是要理解技术的原理,了解技术的局限性,更多站在技术视角去思考产品。

二. 需要懂到什么程度

其实产品并不需要学的多么深入的技术,能用就行。懂了技术的产品,相当于打开了另一个思考纬度,对于产品来说是跃迁级的提升,而学会这些技术的时间和精力投入却不大。

比如学会 SQL ,只需要一本书 + 结合自己工作场景的需求,一周时间绝对搞定了。花一周时间,打开新世界、新纬度,掌握整个职业生涯都能用的上的重要数据工具 SQL,这 ROI (投入产出)可太划算了。理解了 SQL 能做什么之后,相当于产品武器库里多了一把利剑,我之前写过「产品经理为什么要会SQL」有兴趣可以去看看。其他技术也同理,本文将在第三节讨论产品需要掌握哪些技术。

那么,我们需要掌握到什么程度呢?

初级产品:常识性的技术概念要心里有数,比如如果手机里没有重力感应这个硬件,让技术实现随手机翻转,画面跟随翻转翻转是不可能的(硬件问题)。在通话时录音这个功能,拿不到系统 root 权限,是没法做的(软件限制)。在构思需求的过程中,如果连这些常识概念都搞不清楚,很容易被技术 diss 或者糊弄。

中级产品:理解任意一门编程语言的逻辑、理解数据库原理、会 SQL 取数、知道 API 接口怎么调用。对整个产品开发,能从技术层面知道产品是怎么从无到有的,整个开发过程会用到的技术长什么样子,有比较多的理解,虽然不需要知道细节,但能知道搭建过程是怎么样的。

高级产品:能够独立开发一个能用的产品。不需要自己造一架精密的能飞向太空的航空飞机,只需要做个麻雀级别五脏俱全,能飞的「小玩具」即可,重在理解整个技术开发流程,理解技术边界,知道能做和不能做什么,知道要花费的时间成本,这样在设计功能之初,才能有所取舍。

能上手开发一些验证自己思路的简单 Demo,写一些小工具,设计实验,跑数据,验证实验。

注意,即便到这个层级,产品也不需要自己去写代码实现具体需求,公司里大家各司其职才能更好更高效的发挥每个人的长处。产品要学的技术一定是围绕「做出更好的产品」展开,而不是去干程序员的活。

三. 产品需要掌握到技术

一定要明确,产品懂技术,不是为了抢程序员的活,而是既能站在产品视角又能站在技术视角去设计能落地又满足需求的产品。

所以,我们不要从技术出发去学技术,我们不需要掌握了Java 又去学 Python,学了 Python 2.7 又去学 Python 3,这是技术需要做的事。产品要从实践出发,从你工作需求出发去学技术。先看看你的工作中需要掌握那些技能,用工作中的问题来直接实践。

1.编程语言 —— 从 SQL 开始

学 SQL 的性价比非常高,首先他是产品经理的必备技能,正如前文所述,验证想法,设计实验,取数证明自己的工作价值都需要会写 SQL,万事不求人从学 SQL 开始。其次,SQL 也是编程语言的一种,所有编程逻辑也蕴含着其中,对理解技术如何思考,如何落地有非常大的帮助。

2.产品需要懂的前后端技术 —— 技术鸟瞰

这段是产品需要懂的技术目录索引,记住,有了纵观全局的了解后,只深入学工作中碰得到的、可实践的技术即可,不要一口气吃个胖子,因为很容易因为枯燥半途而废。

(1)前端

所有展现在用户面前的,都是前端范畴。不论是 windows/mac 上装的应用程序、手机上安装的 app ,还是浏览器里的网站,都是前端。

前端

Web前端:HTML、CSS、JavaScript (推荐学习网站:W3School 网站构建 初级教程

移动端

移动前端:Android、iOS (推荐学习网站:菜鸟教程

思考题:前端怎么与后端数据连接起来呢? 欢迎在评论区说出你的答案,一起交流。

(2)后端

后端是整个前端的后方支持,后端需要执行前端传来的各种指令、处理业务需求,读写数据,按指令或业务逻辑增删改查数据库、提供 API 接口传给前端数据。

  • 操作系统:Linux / Unix
  • 编程语言:Java / Python / Ruby 等
  • 数据库:关系数据库(MySQL 等)和非关系数据库(Redis 等)
  • API:「API是什么: 一篇讲透API」

后端推荐学习网站:菜鸟教程

后端不仅只有以上这些,这只是产品需要了解的技术范围。切记,珍惜自己的时间,一定要从实际工作出发来学技术,不要去做技术的事,只做产品要做的事。

3.工具

Web 1.0 初代互联网的时代,我们需要去中关村买一台实体服务器,去机房租机架,接上网线,用光盘安装操作系统,手动配置服务器。

现在,我们要实践整个开发过程,有非常好的第三方帮我们解决所有部署问题,不用费劲做这些脏活累活,我们只需要把聪明的思想在这些部署好的工具上实现出来就行了。

阿里云 / 腾讯云

阿里云/腾讯云

阿里云 / 腾讯云帮助我们解决了非常多基础搭建的问题,虽然你可以在本地搭测试环境,但还是建议放在公网上跑,模拟一切生产环境可能出现的问题,比如「安全组策略」可能就是你在本地不太会注意,但生产环境很重要的配置环节。

不论是阿里云,还是腾讯云,开一台服务器或一个 MySQL 数据库,一个月的成本都只要几十块钱,善用这些工具。有好的 idea ,一边按教程学习,一边实践,快速搭出最小MVP。

卡拉云

卡拉云操作界面

卡拉云帮助大家解决了前端组件搭建、数据库和 API 接入等问题。非常适合懂 SQL 的产品快速实现自己的想法。

举个应用场景的例子:

假设你在设计一个内容社区的产品,想看新用户注册用户留存与什么有关,你设想了几种因素

  • 新注册用户浏览帖子数量和留存的关系
  • 新注册用户当日发帖与否和留存的关系
  • 新注册发帖用户收到赞与否和留存的关系
  • 新注册发帖用户收到评论数和留存的关系
  • 新注册发帖用户,文章长短和留存的关系
  • ......

现在你可以去求技术大大帮你拿数据,也可以自己写个后台,自己取数对比。我们可以直接在卡拉云里写 SQL 或调 API ,5分钟时间自己开发一套属于自己的产品数据分析看板,还可以分享给同事看,忽然变成 yyds 你说帅不帅。具体可以看我之前写的「如何搭建一个简单的后台管理系统?」,目前卡拉云对个人用户免费。

课后作业:找一个自己工作中的场景,在阿里云/卡拉云中搭一套属于自己的数据工具,并分享给自己组的同事协同使用。 实践是最好的学习方法。

本文作者:蒋川,卡拉云联合创始人,B 端产品经理,专注研究企业内部效率工具实施搭建。

如果我的回答对你有帮助,还想深入了解更多信息,请访问我们的网站「卡拉云

© 2021 卡拉云 Built with ❤️ in Beijing

京ICP备15049164号-9