产品思维&技术思维&工程思维

doit8791 doit8791     2023-02-09     275

关键词:

产品思维

产品思维的起源是用户(或客户)价值。用户价值是通过技术手段以产品或服务的形态去解决用户的痛点,或带去爽点。毫无疑问,工程师在日常工作中应时刻关注并理清自己的工作与用户(或客户)价值的联系,并且应该通过聚焦于用户价值去安排工作的优先级和分配自己的精力。

 

技术分享图片

 

当用户价值足够时,产品能否在市场中立足并真正收获收益,首先考验的是产品的用户体验。良好的用户体验一定是站在用户的角度,基于用户心智来塑造概念,由于概念存在理解和解释成本,所以塑造的概念应足够轻、少且易掌握。概念一旦塑造出来则概念间的关系也随之确定,这些关系基本上决定了产品与用户的交互流程。好的产品体现于“易用”二字,其极致在于迎合用户的本能反应并符合各种生活或专业常识。

 

所有产品都存在演进的过程,所创造的用户价值也在被不断地挖掘与探索,那时不同的细化价值需要通过产品特性去区分和表达。特性也是产品差异化的一种体现,特性也间接地确定了软件实现层面的功能模块边界。作为开发工程师,也需要对产品特性有非常透彻的理解,并能将其很好地抽象并转化为软件实现层面的功能模块。特性需要考虑通过售卖license等形式进行开启或关闭去实现售卖,这一点对于2B的产品甚是必要。

 

为了产品更好地演进,需要通过数据闭环的形式去检验创造用户价值的效果,让产品的开发、运营、营销工作做到有的放矢。在产品价值创造的道路上,最害怕的事莫过于只顾低头干做加法,做得多却无人关心收效。而我们通过数据化闭环的形式,不仅能让整个产品大团队聚焦于核心价值,还能帮助团队在探索用户价值的道路上理性地做减法。大多情形下,做减法远难于做加法。

 

技术思维

技术思维的源头是需求。需求可以分成市场需求、系统需求、特性需求等不同层次,回答的是技术层面“做什么”的问题。显然,清晰表达的需求以及对需求的精确理解才能确保将事做对。毋容置疑,需求一旦出现偏差所导致的浪费是非常严重的,也正因如此工程师对于需求的质量相当重视。

 

技术分享图片

 

需求一旦确立,会基于模块化的思想拆分成多个功能模块去降低实现的局部复杂度,最终将所有功能模块“拼接”在一起去实现整体需求。每个功能模块会安排给一个人或一个团队负责,由于功能模块是需求分解后的产物,容易导致工程师在实现的过程中只看到“树木”而忘记了“森林”。

 

性能是工程师在实现一个功能模块时不得不关注的,特别是当功能模块被运用于高频、时效性敏感、算力有限的场合时性能将尤其被关注。在现实中有时会存在工程师乐于追求性能的极致去体现自己的技术实力,甚至出现过早追求性能而滑入过度设计的误区。

 

毫无疑问,一个正规的团队,对于功能模块的开发工作多会以项目制、多个迭代的方式去完成交付。不少工程师这里会有一个误区,忘记了敏捷思想所倡导的“项目计划的目的是为了适应变化”,而是将“按时交付”当作是天职,各种赶工爬到终点时却毫不意外地看到了“一地鸡毛”的景象。

 

在迈向第四次工业革命的道路上,人工智能、大数据、机器学习,Kubernetes、Istio、Knative、Go、Dart、Flutter等新技术不断冲击着工程师已掌握的技能。快速跟上技术的迭代步伐是每个有追求的工程师不断提升自己专业素养的表现之一。工程师的内心一定不缺乏对新技术的追求,憧憬自己所掌握的技术具有一定的先进性。

 

工程思维

工程思维的起点是流程。流程的背后是科学,以既定的步骤、阶段性的输入/输出去完成价值创造,通过过程控制确保最终结果让人满意。由于流程涉及每一个工程师的工作质量与效率,其含义不只在于定义、工具化、检查等内容,而是应基于工程师的日常工作习惯,将流程与工程师的工作环境无缝整合。“无缝”体现于流程中的概念与工程师群体已建立的专业常识相一致、没有增加毫无价值的负担,根本仍是确保易用性。

 

技术分享图片

 

机制的含义是通过对所需解决问题的分析,以一种模式去解决同类问题。机制应体现一定的系统性,而非“头痛治头,脚痛治脚”。系统性不是一开始就能被洞察到,可能在演进的过程中逐步发现和完善的,因而需要工程师在工作的过程中不时回顾并付诸实践去落实。对于工程师来说,机制是通过系统性的软件设计去达成的。

 

可以说产品质量直接决定了工程师的工作和生活幸福感。一个质量不可靠的产品一定会给用户和工程师自己带去麻烦,甚至造成无法挽回的经济损失并造成负面的社会影响。对于工程师来说,那势必打乱个体的工作与生活节奏。为了让产品的质量做到可靠,单元测试、静态分析、动态分析等确保工程质量的手段应成为工程师的基本工作内容,通过将这些手段与CI(Continuous Integration)流程进行整合去持续构建起对软件产品的质量信心。

 

在互联网行业,除了软件产品的质量得可靠外,风险可控是另一个不能忽视的内容。而风险可控是建立于系统性机制和质量可靠之上的。对于服务端软件来说愈是如此。风险往往出现于资源使用的极端场景,当从外部涌入的过多事务远超软件产品的处理能力时,需要有一定的机制让整个产品能相对平滑地应对,或是扩充资源、或是限制涌入事务的流量。

 

软件所需的机器成本是比较容易忽视的话题,软件成本不只与软件性能相关,还与软件之间的依赖、技术方案等因素相连。当一个软件需要从公司的内部对外输出时,平时忽视对成本的关注就会暴露出成本问题。比如,为了运行某个软件需要数量庞大的计算资源,所导致的资金开销对于客户来讲很可能是无法接受的。

显然,不同岗位、不同职责的工程师对于这三大思维的深度要求是不一样的,但从多维度去思考却应是每个工程师都应该具备的素养。

 

至简,阿里巴巴高级技术专家,是集团Service Mesh方向的重要参与者和推动者。曾出版《专业嵌入式软件开发——全面走向高质高效编程》一书,坚信和倡导软件设计是软件质量之根本,并对软件开发的复杂性本质有着深刻的认识,对如何高质高效实施软件开发有着自己独到的见解和方法。

阅读笔记-工程师思维

产品思维产品思维的起源是用户(或客户)价值。用户价值是通过技术手段以产品或服务的形态去解决用户的痛点,或带去爽点。技术思维技术思维的源头是需求。需求可以分成市场需求、系统需求、特性需求等不同... 查看详情

阅读笔记-工程师思维

产品思维产品思维的起源是用户(或客户)价值。用户价值是通过技术手段以产品或服务的形态去解决用户的痛点,或带去爽点。技术思维技术思维的源头是需求。需求可以分成市场需求、系统需求、特性需求等不同... 查看详情

【完结】梁宁产品思维30讲精华笔记5&6/6

参考技术A梁宁,著名产品人,江湖人称中关村第一才女。湖畔大学产品模块学术主任。百度顾问,曾任联想、腾讯高管,工作经历横跨BAT,与京东、美团、小米等企业有长期深度交流。1、同理心:看懂情绪,找到天分2、机会判... 查看详情

思维导图软件

...:性价比最高的一款思维导图软件,是国产亿图软件的新产品,免费使用,是思维导图软件中的战斗机MindMeister:MindMeister是一款在线思维导图,目前在应用市场上被认为是最好的在线思维导图MindMap是思维导图创始人托尼·... 查看详情

《阿里工程师的自我修养》公开10位阿里大牛解决问题的思维方式

...工程师的自我修养》查理芒格说:“掌握一定数量的思维模型,能解决这世上90%的问题。”今天,阿里技术公开10位阿里大牛解决问题的思维 查看详情

思维思维题——cf1350d(代码片段)

很有意思的题目,感觉看智商。。/*结论:显然只要成功操作一次,就可以把整个数组变成k如何找到这一次操作?把<k,=k,>k的数变成012显然只要存在11,12,101,102,这种类型,就必定可以操作成功一次结论:只要存在1,且存在|i-j... 查看详情

spoj:justoneswap(统计&思维)(代码片段)

YouaregivenanarrayofsizeN.Howmanydistinctarrayscanyougeneratebyswappingtwonumbersforexactlyonce?Thetwoselectednumberscanbeequalbuttheirpositionsinthearraymustbedifferent.InputThefirstlineoftheinputcon 查看详情

js--dom&bom总结思维导图---2017-03-24

  查看详情

横向思维

横向思维https://mp.weixin.qq.com/s?__biz=MjM5MDk2MTIwMA==&mid=2247485962&idx=1&sn=03c4bad2d67848bf70f78154bb75b018&chksm=a6bd915591ca1843334bc2eefa4cd0aad925aad9920d6cbb944e6d0ad1019d23685 查看详情

书单|技术人要有产品思维

...|Backgroundphotocreatedbyrawpixel.com-www.freepik.com为技术人推荐的产品书单一览1.结网@改变世界的互联网产品经理2.结网2:产品经理的无限游戏3.启示录2:打造优秀的产品团队4.用户思维+:好产品让用户为自己尖叫5.谷歌... 查看详情

一道思维题&&递归改循环(代码片段)

  思路:比如5212345-->1245从3开始,这时候5变成了1.剩下4512,对应1234.只需要找到现在n-1,k中的数对应原来的编号的映射。比如1-->3是1+2mod5,4-->1是4+2mod5.这就形成了递归。这样递归到最后剩一个数,结果就是这个数... 查看详情

python的14张思维导图汇总

...题的文章)。首先,按顺序依次展示了以下内容的一系列思维导图:基础知识,数据类型(数字,字符串,列表,元组,字典,集合),条件&循环,文件对象,错误&异常,函数,模块,面向对象编程;接着,结合这些思... 查看详情

数据库查询·联接思维导图&要点&误点(含示例)

思维导图1.联接:(表名)JOIN (表名)ON(表联接的关系),相当于对表做笛卡尔积,再进行筛选。例如结果如下:联接中,各表顺序不分先后2.左联接:()LEFT JOIN()   ON()可以保留外部行例如这样写,会发现结果存在... 查看详情

e-lcmonwhiteboard(数学&思维)(代码片段)

E-LCMonWhiteboard(数学&思维)考虑每个数是否会影响答案,只需判断每个数对应的质因子是否所有的里面的最大的(不包含重复)。然后最后丢进set去重一波。答案就是setsetset的大小+1+1+1,因为其他的下标共同构成了... 查看详情

基于java面对对象编程范式

科学思维&工程思维科学思维:限制条件可有可无,理论可行寻求未解决问题转变为解决问题的最优解;工程思维:限制条件多,现实可行性下寻求折中方案,不坏的解。 软件工程的发展历史:数学-计算机问题 计算机... 查看详情

codeforces963aalternatingsum(思维&&数论)(代码片段)

题意:题目链接 分析:Tutorial 讲的很清楚 至于为什么这样去考虑算是一个经验问题吧如果一个问题要你给出模意义下的答案就多考虑一下答案是要用逆元构造出来也就说明有除法的存在那么可以去考虑等比数列或者等... 查看详情

具备这三大思维模式你就是高级技术人员

...从业者应该当具备的几个思维模型,相当重要,好软件好产品的理论指导也都无出其右。抛开个人的心智模式上的一些思维差异,软件行业从业者应该当具备的几个思维模型,相当重要,好软件好产品的理论指导也都无出其右。... 查看详情

e.robotontheboard1(模拟&思维)(代码片段)

E.RobotontheBoard1(模拟&思维)考虑以左上角(1,1)(1,1)(1,1)为起点,维护四个变量即xxx的最值和yyy的最值。每次把(lx,ly)(lx,ly)(lx,ly)与(1,1)(1,1)(1,1)作变换,即:ansx=1−lx,ansy=1−lyans_x=1-lx,ans_y=1-lyan 查看详情