Home产品经理学技术
产品经理学技术

产品经理学技术

@唐韧

用通俗易懂的方式让产品经理学会工作中的技术知识
订阅325
文章125
最后更新:2023-11-2 8:22
查看 【产品经理学技术】 详情查看 【唐韧】 主页
分享到微信打开

免费内容

2022-12-20 14:47

前言

如果你曾经是《产品经理必懂的技术那点事儿》这本书的读者,那一定会好奇本书和之前那本到底有什么区别?那么,接下来我就聊聊为什么要写一本新书以及这两本书之间的区别。 《产品经理必懂的技术那点事儿》是我在2016年完成的一本书,作为市面上第一本面向产品经理讲解技术知识的垂直类专业书籍,获得了很多读者的好评和认可。有不少做产品的同行都是通过这本书认识我的,真正做到了利己利人。 几年过去,这本书在这个小众垂直领域也成了一本不大的畅销书,期间我也收到了很多关于这本书的反馈。因为互联网的底层驱动力是技术,技术是会升级迭代的,而且随着产品经理对行业的纵深,对技术的全新理解和认识也在升级,这无疑又提出了一个新的要求,如何才能跟上技术和时代的发展? 因此,这一本《产品经理学技术》的新书主要解决下面几个问题。 第一,这是一本有别于《产品经理必懂的技术那点事儿》的新书,新,体现在内容迭代更新,尤其是对于新技术的补充。在保留第一本精华的基础上,对内容进行重新创作,提供更详细、更系统化的技术知识体系。 第二,对于任何书籍来说,读者看完都会面临一个问题,即如何运用到实践中。因此,这本新书会结合产品经理工作中的案例进行实操分析和讲解,试图让大家看懂的同时还会用,真正践行学以致用。 第三,技术知识纷繁庞杂,前端、后端、数据库等分类众多,产品经理很难在短时间内掌握整套技术知识体系。所以,我会将这本书打造成一本工具书,有概念介绍、有案例讲解、有实操建议,让产品经理遇到问题就可以过来查询解法。 说完区别,那一定还会有读者好奇,看过《产品经理必懂的技术那点事儿》了,还有必要看《产品经理学技术》吗? 严格来说,这是两本定位不同的书。 《产品经理必懂的技术那点事儿》解决的是知识扫盲的问题,是帮助非技术背景产品经理建立基本的技术思维和认知,做到“知道”。 《产品经理学技术》除了提供更全面的技术知识框架、思维和认知体系,还提供实操方法和工具,做到“会用”。 也就是说,如果你读过我的第一本书,那这本新书对你来说是一个继续补充,也是一个案例集、工具集、以及实操参考手册。如果你没读过我的第一本书,那这本新书对你来说就是一个帮你建立全面技术知识体系和认知的入口。 对于非技术背景出身的产品经理来说,工作中交集频率最高的就是程序员,产品之下看不见的部分也是由技术构成,建立并掌握一套全面的技术知识体系和实操方法就显得尤为重要。不仅能提高工作效率,还能帮助自己加深对于互联网技术的认知。 接下来,我会带你一起走进技术的神秘大门。

2022-12-16 15:46

1.1、产品经理为什么要懂技术?

经过这些年的发展,产品经理这个职能岗位已经进入了新阶段。从纯粹的功能设计和体验设计过度到了结合技术、业务、商业等更垂直细分的领域。 尤其是在技术飞速发展的今天,对于新技术的理解和运用,也是产品经理在日常工作中的重要技能之一。 因为不懂技术带来的各种问题也越来越多的暴露在产品经理的常规工作中,最直接的,无法和程序员进行高效沟通和协作。 尤其是对于非计算机专业出身的产品经理,在技术的理解和运用上,存在先天的不足,也影响着产品工作的开展。而产品与技术之间的核心差异,其实更多的是思维方式的差异。也就是产品经理的产品思维,以及程序员的技术思维。 在这本书里,我会用通俗易懂的方式为产品经理打开技术的大门,让非技术背景出身的产品经理真正走进技术、了解技术。 1.1  产品经理为什么要懂技术 2007年,正在读大学的我写下了人生中第一行代码。那是用C语言写的一个Helloworld程序,这也是每一个学技术的人踏进技术大门的入门仪式。 程序运行成功的那一刻,我就喜欢上了编程。 2008年,我自己独立完成的第一个小软件上线了,那是一个用Java编写的客户端简易进销存工具。之后的陆续几年,我进行过Web系统的开发,后来转型做Android和iOS的移动开发,直到2011年,我成了国内早期的移动开发者。 微信扫码还没上线时,我就已经对二维码识别进行了深入研究和应用,开发除了一款基于二维码的名片社交应用,至今还能在Github上找到我当时写的源码 。 回顾过去十来年,从技术爱好者成为技术工程师,从技术转型到产品,经历了工作技能和思维模式的转变,过程中也发现和总结了很多问题和收获。 在产品路上这几年,有一些对于非技术背景的产品经理想说的话,或许对每一位产品经理都可作为参考。 我们从两个问题开始: 第一,对不同产品的产品经理而言,懂技术是否是必须项? 第二,对非技术出身的产品经理,不同产品的技术能力要求是怎样的? 第一个问题,懂技术是不是必须项? 经常会有朋友问我,产品经理要学编程吗?是不是也要会写代码才比较好? 其实,这就是很多人都关心的一个话题:产品经理要懂技术吗,如果要,懂到什么程度才合适? 如果把产品比喻为建筑,那产品经理就是建筑设计师。 如果设计师不懂基本的建筑结构设计和施工原理,那么设计出来的建筑很可能就是无法落地的空中楼阁——理想的设计和物理的限制必须有机结合。 产品思维侧重从用户和商业视角出发,技术思维侧重在技术实现和系统架构层面,两种思维方式的交叉点是产品的需求、设计和产品功能。 由此可见,当产品经理与工程师讨论产品时,各自的思维出发点是不一样的。 产品经理思考的是产品的用户价值和使用场景,同时还需要考虑产品所承载的业务闭环及商业价值——因为单纯的产品功能没有价值,所以产品经理需要基于用户需求并通过产品功能打通业务闭环,从而构建具备商业价值的产品体系。 工程师是技术思维,他们会从技术思维角度去思考问题。工程师看到产品设计后,在脑海里构建的是拆解后的技术实现要点,好比一栋房子的内部结构。对于一个产品,工程师需要先构建产品的技术架构,然后评估产品功能的技术成本。 工程师和产品经理虽然基于同样的产品需求和设计进行讨论,但双方的思维模式不同会影响共识性的达成;所以对产品经理而言,掌握一些技术思维,学会从技术视角看待产品设计,能更有利于产品工作的进行。 产品思维和技术思维的交集是两种职能角色在工作上的衔接部分,通常会以需求、方案设计、功能实施体现出来,这也是产品经理和程序员工作上交集最多的地方,通过下图可以直观了解到二者之间的关系。明白了这两种思维模式的差异,作为产品经理,而且作为产品的主导者,需要学会用技术思维去理解产品,并且能通过技术思维与工程师进行沟通。 对于产品经理而言,置身互联网领域设计互联网产品,每一个设计都应该在现有的互联网技术框架下可被实现。产品经理懂得一些基本技术知识,了解技术边界,通过技术思维与工程师有效沟通,对实际开展产品工作有非常大的益处。 我们明确第一个问题的答案:作为产品经理,懂一些基本技术是能够提升工作效率的。 但需要区分的是,技术思维不等于技术能力。 产品经理无需自己上手写代码,也无需对每一个技术知识点了解到与工程师一般精通。如果进入这个误区,那就顾此失彼了。产品经理需要学习和懂得的是技术思维,在了解技术知识和原理的基础上,能运用技术思维进行产品方案的选择和工程量的判断。 例如,当有一个产品方案,需要决定用原生系统开发实现,还是用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万的业务,在技术层面的应对能力就是两个量级。 作为高阶产品经理,需要对未来业务发展进行阶段性预判,对产品技术架构做好前瞻性的规划,然后向技术负责人提出对应的改进需求。另外,高阶产品经理也需要对新技术进行不断的学习,在理解新技术的基础上,将新技术结合现有业务加以应用。 例如如今的区块链可以运用在哪些领域,自己负责的产品是否可以运用这项新技术来加速业务发展——这些都是建立在对新技术的认知和理解之上。 所以对于高阶产品经理,能从业务角度和产品发展角度对技术架构进行预判,能掌握新技术的基本原理并加以运用到产品和业务中,是产品综合实力的一种体现,能做出在时间、资源、效率上最优的产品决策。 以上,只是例举了不同类型以及成长阶段产品经理对技术理解的要求。而实际上,随着行业和领域的差异,对不同产品经理掌握技术的要求程度也不一样,但不管怎么说,产品经理学会一些技术知识和原理一定是必要的。 总结一下。 产品经理懂技术不是绝对的,最终还是要回归到产品的本质上,通过产品创造用户价值和商业价值。不同领域和职能的产品经理,面对的技术领域也各不一样,需要深入结合行业特点对产品技术进行理解。 产品经理学习技术的目的不在于具备技术能力,而是要掌握技术思维。 通过技术思维和产品思维的相互结合,发挥综合产品能力。无论是在产品思考还是产品决策上,技术思维的补充都会为产品经理提供更加清晰和落地的思路。