在产品路上这几年,有一些对于非技术背景的产品经理想说的话,或许对每一位产品经理都可作为参考。
2007年,正在读大学的我写下了人生中第一行代码——那是用C语言写的一个Hello world程序,这也是每一个学技术的人踏进技术大门的入门仪式。
程序运行成功的那一刻,我就喜欢上了写程序。
2008年,我自己独立完成的第一个小软件上线了,那是一个用Java编写的客户端简易进销存工具。
之后的陆续几年,我进行过Web系统的开发,后来转型做Android和iOS的移动开发,直到2011年,我成了国内早期的移动开发者。
微信扫码还没上线时,我就已经对二维码识别进行了深入研究和应用,开发除了一款基于二维码的名片社交应用,至今还能在Github上找到我当时写的源码。
(https://github.com/tangren03/RTCommon)
2018年,工作十年,我是一名在产品路上摸爬滚打的产品经理。
回顾过去10年,从技术爱好者成为技术工程师,从技术转型到产品,经历了工作技能和思维模式的转变,过程中也发现和总结了很多问题和收获。
在产品路上这几年,有一些对于非技术背景的产品经理想说的话,或许对每一位产品经理都可作为参考。
我们从三个问题开始:
- 对不同产品的产品经理而言,懂技术是否是必须项
- 对非技术出身的产品经理而言,不同产品的技术能力要求是怎样的
- 针对不同的技术能力要求,如何进行学习和实践
一、懂技术是不是必须项?
经常会有朋友问我:产品经理要学编程吗,是不是也要会写代码才比较好啊。
其实,这就是很多人都关心的一个话题:产品经理要懂技术吗,如果要,懂到什么程度才合适?
如果把产品比喻为建筑,那产品经理就是建筑设计师。
如果设计师不懂基本的建筑结构设计和施工原理,那么设计出来的建筑很可能就是无法落地的空中楼阁——理想的设计和物理的限制必须有机结合。
首先我们来看一下什么是产品思维和技术思维:
产品思维侧重从用户和商业视角出发,技术思维侧重在技术实现和系统架构层面,两种思维方式的交叉点是产品的需求、设计和产品功能。
由此可见,当产品经理与工程师讨论产品时,各自的思维出发点是不一样的:
- 产品经理思考的是产品的用户价值和使用场景,同时还需要考虑产品所承载的业务闭环及商业价值——因为单纯的产品功能没有价值,所以产品经理需要基于用户需求并通过产品功能打通业务闭环,从而构建具备商业价值的产品体系。
- 工程师是技术思维,他们会从技术思维角度去思考问题。工程师看到产品设计后,在脑海里构建的是拆解后的技术实现要点,好比一栋房子的内部结构。对于一个产品,工程师需要先构建产品的技术架构,然后评估产品功能的技术成本。
工程师和产品经理虽然基于同样的产品需求和设计进行讨论,但双方的思维模式不同会影响共识性的达成;所以对产品经理而言,掌握一些技术思维,学会从技术视角看待产品设计,能更有利于产品工作的进行。
明白了这两种思维模式的差异,作为产品经理,而且作为产品的主导者,需要学会用技术思维去理解产品,并且能通过技术思维与工程师进行沟通。
对于产品经理而言,置身互联网领域设计互联网产品,每一个设计都应该在现有的互联网技术框架下可被实现。
产品经理懂得一些基本技术知识,了解技术边界,通过技术思维与工程师有效沟通,对实际开展产品工作有非常大的益处。
我们明确第一个问题的答案:作为一名产品经理,懂技术是非常必要的。
但需要区分的是:技术思维不等于技术能力;产品经理无需自己上手写代码,也无需对每一个技术知识点了解到与工程师一般精通。
如果进入这个误区,那就顾此失彼了。
产品经理需要学习和懂得的是技术思维,在了解技术知识和原理的基础上,能运用技术思维进行产品方案的选择和工程量的判断。
例如,当有一个产品方案,需要决定用原生系统开发实现,还是用H5开发实现时,作为产品经理,需要理解的是这两种技术方案在实现难度、工作量、资源投入上的区别。
对于大部分产品方案,H5的开发成本更低,且在工作量上只需要H5工程师开发一遍;如果是原生系统开发,那至少需要Android和iOS工程师各自开发一遍,工作量和资源投入要高。
在快速试错和需要灵活应变的场景下,H5的技术方案不失为一种好的选择。
这种选择是基于产品经理对不同技术方案原理的理解。
例如为什么H5能做到灵活应变?是因为H5页面都是运行在服务器上,客户端只是通过浏览器去访问。
为什么原生系统实现需要每次都发版?那是因为客户端程序都是写死在客户端安装包里。
基于对这些基础技术知识和原理的理解,产品经理就能通过技术思维去判断产品方案,也能以此去与工程师进行沟通。
类似的场景还有很多很多。
所以,第二个问题的答案是:产品经理懂技术的程度,需要达到具备技术思维的条件下能对技术方案和产品方案进行综合评判,而不需要具备写代码或者做架构的技术能力。
二、不同领域产品的技术能力要求
根据行业领域和产品类型的不同,产品经理对技术的学习侧重点会各不相同。
1. 电商产品经理
以目前我所在的电商领域为例,电商类产品的特点是重业务流,从商品信息流、物流、资金流闭环角度去进行产品设计。
例如用户下单后,系统会根据商品归属的商家、所在仓库、配送方式等不同维度对订单进行拆分,俗称“拆单”。
在直观感受上,大家平时下单支付完成后,在订单详情里会看到,之前一起结算的商品被拆分成了几个子订单,俗称“子单”,而被拆分以前的订单统一叫“父单”。
以京东为例,京东目前经营的商品分为自营和第三方经营,如果按是否自营商品进行拆单,拆单后,自营商品由京东自有仓发货,而第三方商家的商品由第三方自主发货。
从技术角度去理解上述拆单的过程,首先得从商品维度去理解系统是如何对自营商品和第三方商品进行划分的。
这里就引出了数据结构的概念。
在电商产品的数据结构设计中,商品数据是其中一个主体,包括了商品编号、名称、型号、颜色等各种属性,这些都可以被称为商品的数据字段;在这些字段中,我们需要为商品增加一个字段,这个字段就专门用来标记是自营还是第三方。
同理,商品有数据结构,订单也有自己的数据结构,例如订单编号、配送信息、商品信息等。
注意:订单数据里是包括了商品基本信息的,但不会包括完整的商品信息。
例如订单里我们能看到商品编号、名称等,但其他的完整信息是在商品数据里存储的——这里就引出了数据库表和表之间关联结构的概念。
产品经理需要对什么是数据结构、数据库表、表与表之间的关联关系进行理解,从技术角度理解原理后,再回到业务和产品角度来看问题,很多底层理解就和工程师基本一致了。
至于究竟如何建立数据结构以及如何操作数据库,就不在产品经理应该关注的范围内——前者叫技术思维,后者是技术能力。
在电商产品中,产品经理对各种业务流的理解以及从技术角度去拆解这些业务流是做好产品的基础。
2. AI产品经理
如今已经进入了人工智能(AI)时代,互联网技术也在随之升级,伴随着技术升级的是产品形态的升级。
以往的互联网产品通常都是基于现有业务的产品化,例如电商产品是把线下传统零售业务进行线上产品化,出行产品是通过互联网技术和产品实现出行效率的提升。
进入人工智能时代后,产品形态也发生了升级,已经不再局限于对传统业务的线上产品化,而是创造出了新的场景和产品应用。
比如语音识别产品,对应了语音识别技术。产品经理面对这种新的业务场景时,需要在理解基础技术的前提下,创造新的产品应用。
语音识别技术对用户的语言声音提取,然后对语音进行拆分和语义分析,这个过程中运用到了很多的算法技术。
而对于AI产品经理而言,具体的算法实现方式其实不用做细致的了解,AI产品经理的侧重点应该放在对技术理解之上的应用与创新。
AI产品经理涉及的技术基础也比较广泛,包括了自然语言处理、机器识别、图像处理技术等。
这些技术相对于传统互联网技术要更加有难度,作为AI产品经理,对每一项技术做到绝对理解和掌握是很难的。所以需要从建立技术认知和技术思维的角度去理解AI技术,达到理解和应用的目的。
3. 区块链产品经理
现如今,区块链技术已经成了继互联网技术后的又一个新的增长极。已经有很多公司开始在区块链领域进行布局:腾讯、阿里、百度、京东都开始建立自己的区块链技术平台和应用,例如京东在物品溯源应用上已经使用了区块链。
区块链产品经理也应运而生。
作为一个新的领域,区块链产品经理除了创新应用场景之外,对区块链技术本身自然也需要有一定的认知和理解。
区块链技术包含了密码学、计算机科学等多领域学科。
例如区块链的特性是不可篡改,那这一特性的实现其实使用的是计算机技术中的链式结构,每一个区块首尾相连,一个区块的头信息中拥有上一个区块的加密后完整信息;通过这个机制收尾相连,当我们更改其中一个区块的信息时,就需要对链上的所有区块进行修改,当区块链主链足够长且节点分布在全球时,这几乎是一件不可完成的任务。
另外,区块链是一种去中心化的技术,对比传统中心化的技术架构,区块链可以利用去中心化的点对点通信机制,极大提高信息传递和共享的效率——这为很多应用场景提供了无限可能。
理解这个技术原理之后,区块链产品经理就可以运用这个技术特点来设计区块链产品运用到实际业务场景中。
例如利用区块链不可篡改的特点进行商品溯源,保证商品源头质量;还可以在金融领域利用区块链点对点通信的机制实现跨国跨币种的金融交易,这能极大提高金融效率。
对于想在区块链领域进行产品创新的产品经理来说,学习区块链底层技术不是目的,通过掌握区块链的基础技术原理,并结合实际业务场景加以应用,才是基于技术的产品创新。
还是那句话,不要试图去学习技术能力本身,任何技术都能以通俗易懂的方式去理解,这种与实际相符合的理解就是技术思维。
不同行业领域和产品类型,对产品经理具备的技术思维范畴要求不一样。
需要产品经理根据自己的行业和产品特点,有针对性的去建立自己的技术认知;切记眉毛胡子一把抓,最终我们还是会回到产品上,通过产品去创造用户价值和商业价值。
三、不同职级产品对技术能力的要求
1. 实习生(0-1年)
产品实习生处于刚入行的阶段,此时最主要的目的是对产品经理工作所涉及的各个环节进行系统化的了解,尤其是对技术环节。
互联网产品的基础是技术,对产品实习生而言,理解产品可以从理解基础技术开始。
这里提到的基础技术包括了客户端技术分类,例如Android、iOS、H5或者微信小程序:它们各自的技术特点是什么。比如为什么开发Android和iOS应用的是两个不同的技术职能,而开发H5的是一个技术职能。
另外,产品实习生需要对产品底层的技术通信原理进行理解。
比如当我们使用客户端产品发送一条消息时,这条消息经过了哪些环节后被另一个客户端收到——这里就涉及了什么是服务端,客户端和服务端的主要职能和通信机制是什么。先从大局观上对互联网产品的技术框架有一个基本认知。
对于这个阶段的产品经理,建立互联网产品技术认知,划分清楚技术职能,了解各技术的特点和应用场景,就能胜任最基本的产品工作了。
2. 产品经理(1-3年)
当具备一定产品经验后,此时产品经理已经经过一个或多个项目的锻炼,也进行过产品方案的设计,并与工程师进行过配合。
该阶段的产品经理已经对技术框架有了全面的了解,这时就需要对所在的行业领域和产品类型进行有针对性的技术学习。
例如前面提到的电商产品经理和区块链产品经理,各自行业领域和产品类型对技术的要求也各不一样,要求掌握的技术细节也略有差别。
还是以电商产品经理为例,1到3年的产品经理,对技术的理解要达到的要求,首先是能对电商业务环节中信息流、物流、资金流的逻辑在数据环节建立基本认知——知道每一个数据结构以及数据之间的关联关系是如何产生的。
其次,对于产品需求,能从技术角度进行研发成本的评估,这种评估不是指研发具体工作量的评估,而是能以技术视角对产品方案的大致工作量进行把控。
例如修改数据库结构所带来的研发工作量显然是比较大的,而改动一个前端按钮的位置实际上不影响产品主流程,所涉及的技术工作量就相对较小。
对于这个阶段的产品经理,要能建立完整的技术基础概念认知,能从技术角度对产品方案进行初步评估和判断。
3. 产品专家/资深产品/产品总监(5年以上)
对于比较有经验的产品经理,对基础技术知识已经驾轻就熟了,也能对常规的产品工作应付自如了。
高阶产品经理已经脱离了颗粒度比较细的产品工作,开始从宏观角度和业务布局角度对产品进行规划。
此阶段的产品经理,心里除了装下产品的基本体验之外,还需要对业务的发展节奏,产品生命周期进行管理。
对于不同业务阶段的产品,对技术实力的要求也各有区别。月交易流水100万的业务和月交易流水1000万的业务,在技术层面的应对能力就是两个量级。
作为高阶产品经理,需要对未来业务发展进行阶段性预判,对产品技术架构做好前瞻性的规划,然后向技术负责人提出对应的改进需求。
另外,高阶产品经理也需要对新技术进行不断的学习,在理解新技术的基础上,将新技术结合现有业务加以应用。
例如如今的区块链可以运用在哪些领域,自己负责的产品是否可以运用这项新技术来加速业务发展——这些都是建立在对新技术的认知和理解之上。
所以对于高阶产品经理,能从业务角度和产品发展角度对技术架构进行预判,能掌握新技术的基本原理并加以运用到产品和业务中,是产品综合实力的一种体现,能做出在时间、资源、效率上最优的产品决策。
四、如何进行学习和实践
1. 如何学习是有效的
产品经理学习技术如果照本宣科,显然是无效的,这样只会增加技术焦虑感。如果太过于追求技术细节,又会陷入到技术的细枝末节中,难以自拔。
产品经理学技术,一定要掌握一个度,以掌握技术思维为目标;任何高深的技术都能以通俗对比的方式去理解。
以区块链的去中心化记账为例:
所谓的去中心化其实就是没有一个统一的中心来进行数据存储和管理,网络中的每一个节点都是中心;而记账无非就是每一个节点都在做相同的工作,把区块里的每一笔交易进行登记,谁最先记完就能得到系统的一笔奖励。
平时工作中如果遇到不懂的技术,就可以通过自主调研或者与工程师进行沟通请教的方式去探究技术原理背后的基本逻辑。
把技术原理映射到生活例子中去,通过这种方式去理解技术,就能达到举一反三的效果,也很容易记忆和理解。
2. 如何应用到自己工作中
掌握了技术思维,犹如掌握了内功心法。最终,我们需要把对技术的理解应用到实际工作中去。
平时工作中,设计产品方案时、评估产品决策时、与研发进行沟通讨论时,都会涉及到技术知识。
在这些场景中,有意识的建立产品和技术之间的连接,避免陷入到技术细节中去,别把自己当成工程师的角色去与工程师讨论技术。
在产品方案设计阶段,尽可能多的考虑现有方案是怎样的,新需求对已有方案是否造成了技术层面的调整;例如对数据库表结构是否进行了调整,如果有调整就需要考虑到新老版本数据兼容性问题。
另外,在平时工作中对于自己不太理解的技术概念进行记录和总结,有针对性的对不懂的技术概念进行学习和理解。
关键在于:把这些不懂的技术概念“翻译”成自己能理解的技术认知,形成技术思维。下次遇到类似问题时,就可以沿用这种技术思维进行判断和决策。
五、总结
产品经理懂技术不是绝对的,最终还是要回归到产品的本质上,通过产品创造用户价值和商业价值。
不同领域和职能的产品经理,面对的技术领域也各不一样,需要深入结合行业特点对产品技术进行理解。
产品经理学习技术的目的不在于具备技术能力,而是要掌握技术思维;通过技术思维和产品思维的结合,发挥综合产品能力,不管是在产品思考还是产品决策上,技术思维的补充都会为产品经理提供更加清晰和落地的思路。
为了帮助非技术出身、缺乏基础技术知识的产品经理解决上述问题,我和起点学院共同推出了一门面向非技术背景产品经理的课程,《产品经理的技术必修课》10日学习计划,帮你跨越不懂技术这道坎。
课程地址:
如对课程有疑问,可添加起点学院小艾(微信ID:qdxy666),备注“技术咨询”了解。