产品经理需要懂技术吗?(原创)

作为一个有着多年开发经验的产品,我总是会被问“产品经理需要懂技术吗”这个问题,和另一个问题“你为什么从技术转产品”一样频繁。所以我就花点时间认真的来阐述一下。

首先,我需要非常明确的告诉各位:产品经理不需要懂技术!

为什么这么说呢,是因为当你在纠结自己不懂技术是不是会对工作有影响时,你已经意识到了技术的重要性,此时如果告诉你技术非常重要,极有可能造成主次不分,花费大量的时间来补充技术知识,其实得不偿失。因为技术永远都不是产品经理的核心竞争力。

作为产品经理,我们应该把更多的时间花在提升产品技能、理解业务上,我们需要将大量的时间去研究用户,挖掘需求,体验竞品并思考产品背后的逻辑,而不是将时间花在一个有合作关系的团队所掌握的技能上。本质上,对待技术和对待运营同样的态度即可,不需要把技术放在一个非常高的位置。

同时简单的技术思维能在工作沟通中快速获取,经过无数次的和同事讨论技术相关话题,以及评审中暴露的技术限制,大部分同学都能很快的掌握和工作相关的技术要点,并没有必要针对技术做特别的学习和培训。

那么我们还有另外一个问题:产品经理懂技术有什么好处吗?

我的回答是:非常有好处。

懂技术对产品经理有哪些好处

首先第一点,懂技术的产品能和技术同学更快的建立信任感

这个信任感建立在,技术同学知道你不好糊弄,不会简单的跟你说一句“这个需求实现不了”就能打发你。

另一方面,产品同学也需要理解技术同学的辛苦和难处,毕竟技术架构、数据结构在产品之初就已经设计好了,变动技术底层,或是需求变更造成的返工是产品同学无法想象的巨大调整,因此在合作中懂技术的产品更能体谅和理解技术同学。


第二,可以了解技术的可行性,平衡需求和技术的矛盾

虽说“没有实现不了的需求”,但是放在特定的项目环境以及有限的资源下,完全不考虑技术的可行性并非最优解,所以我们在方案设计阶段就需要考虑到技术的可行性、复杂度和局限性。

技术可行性简单来说就是某项技术是否可以实现特定的功能需求,举个前段时间很火的“根据手机壳颜色变更手机主题”的需求,这就是典型的不了解技术可行性导致的。

虽说理论上技术是可以实现这个需求的,比如NFC技术,但是在当时特定的项目背景和当前的市场手机壳环境,以及这个需求的重要程度,远远没有达到一定要实现的地步,所以可以认为这个需求在技术上是不可行的。

另外还有一些常见的技术成本比较高的,比如多数据源的聚合查询分页,改动到数据结构的看起来很小的需求,低版本浏览器或手机端兼容问题等,这些都需要产品在设计阶段做出取舍。


第三,快速判断需求的复杂程度

如果对于需求的分拆仅局限于UI和前端,对于产品来说肯定是不够的。需求是否牵涉到服务端,是否要修改数据结构,甚至历史数据如何处理,是否要依赖模块做改动等都需要产品经理在第一时间做出判断和预估。

另外,如果是一个大型项目,需求拆分到各端的工作量是不同的,是前端工作量大,还是服务端工作量大,最耗费资源的是哪个部分,资源不充分时对需求如何取舍,这些都是懂技术而带来的天然的好处。


第四点:提高自己的效率

是不是很多产品经理在上线后都只能看预先设置好的数据模板或图表,如果想查询一些特定的数据还需要提需求给数据部,短则几个小时,多则数天才能拿到数据。或者是天天烦对口的开发同学帮忙查询数据,搞得自己都不好意思。

如果稍微懂点sql知识,那么这个问题就能迎刃而解。找开发同学帮忙申请好数据查询权限(相信他们是非常乐意的),自己动手写几条select语句就能查到自己想要的数据,效率高并且数据实时。

同理,很多产品同学在做需求、竞品或行业分析时需要大量的统计数据,只能寄希望于统计机构。如果能学会简单的爬虫技术,很多数据都可以自己统计,非常灵活且新鲜度高。


最后一点,也是我认为意义最大的一点:技术思维在产品设计上有非常大的借鉴作用

计算机编程技术基本是随着计算机的发明而出现的,距今至少有七八十年的历史了,而互联网产品经理至今最多也不过二十年的历史。相比较而言,技术思维,特别是软件设计层面,比产品设计的方法论要先进很多。

比如最近很多公司都在做的中台化产品设计,就是将多条业务线的通用逻辑抽象出来,定义好边界和输入输出,整合打包后赋能给其他业务。这种做法是不是有点像我们编程时抽象出一个通用方法,然后被其他业务调用的做法。

另外软件设计过程中的面向对象思想,领域驱动设计的领域模型,设计模式中的高内聚低耦合等思想,都可以在产品设计中发挥很大的作用。

产品经理需要懂哪些技术

我们明白了懂技术对产品设计有很多好处后,我们来看看到底要了解哪些技术的基础知识。

一个完整的产品,大部分情况下会包含前后端和数据库,因此我们需要对此有个大概的了解。

前端

此处的前端包含了web产品的网页技术,以及移动互联网产品的客户端,如Android、iOS,甚至还包含了新兴的小程序等。前端是直接展示给用户的界面,所以和产品的体验有非常大的相关性。熟悉前端技术可以大大提高产品设计的效率。

后端

顾名思义后端不是用来给用户看的,而是在后面默默支持前端的部分。他是整个业务逻辑的核心,负责处理各种不同的业务需求,存取数据并最终提供结果给到前端。

我们常说的编程语言,大部分都是后端的开发语言,比如Java、C#、PHP等。熟悉后端知识能有效的了解技术边界和需求的复杂程度。

数据库

数据库是持久化数据的地方,可以把数据库想象成多张Excel的表格,业务需要的所有数据都会被保存在数据库中,需要时通过后端存取来展示给用户。

了解数据库知识不但能让我们对数据底层的设计有一定的感知,还能让我们自己取数,增加效率。

基本的设计原则

设计原则是更高层级的编程能力,涉及到技术思维。熟悉设计原则就能深入到技术同学的思维模式和做事方法上,也就能很好的理解在技术设计时的选型和取舍。这能给我们带来与技术的无障碍沟通和技术底层设计,在后面的产品方案设计上也能更好的权衡。

此外还有一些需要了解的技术细节,比如网站的技术架构,服务器、域名等知识,“同步”、“异步”等技术名词,这些可以在工作中慢慢熟悉。

如何学习技术知识

产品经理学习技术知识有个先天的优势是和技术同学离的很近,平时有不懂可以直接请教,大部分的技术同学都非常nice,也非常愿意分享自己的技术心得。

当然这种方式也有弊端,毕竟技术同学只关注技术,也没有当老师的经验,因此在介绍技术的内容,以及介绍的深度不太好把握火候,因此可以借助市面上专门针对产品经理写的技术文章来补充。

我也会慢慢的分享一些适合产品经理学习的技术文章,当然如果有技术问题也可以后台联系我。

相关推荐
新闻聚焦
猜你喜欢
热门推荐
返回列表