俗话说,艺多不压身。
或许放在在其他身份上,这句话要辩证看待;但对于产品汪,那是真真儿地适用。首先,你要明白自身从事的领域,其市场是怎么运作的,这需要数年的经验积累;然后呢,你要懂心理学,要懂行为学,更要懂经济学;说不定哪天你的产品国际化了,你还要懂几门外语和民风民俗...当然,设计、开发方面的知识也是必不可少的,这其中又要涉及到很多东西。
总体来说,我将产品汪应该具备的技能分为硬技能与软技能两个方面,硬技能多指工具,软技能多为认知。硬技能又大致分为四种:策划技能、开发技能、设计技能与运营技能;软技能则分为经验、见解、视野、执行力与逻辑性四个方面。今天先讲讲开发技能。
产品汪应当具备哪些开发技能,程序猿最有发言权;因此,我特意采访了一些猿友:“你认为产品经理应该掌握哪些开发技能或者开发知识?”答复如下:
A:“对开发流程要非常清楚,如果涉及到客户端和服务端的合作,应该非常了解服务端和客户端是怎么工作的,分别具备哪些开发优势和局限性,毕竟PM才是核心。”
B:“1、学习基本视图控件的结构,知道自带的系统显示方式;2、了解ios系统本身特性;3、了解系统动画表现”
C:“越多越好,网站的至少能写html,手机能独立发布简单应用。”
D:“流程图,能够知道哪些东西应该在服务端做哪些应该在客户端做。”
E:“了解 安卓的页面设计规范”
F:“把PC客户端,网页,移动分清楚就好了”
G:“我希望PM了解:1、客户端和服务端各自的区别,这样在碰到问题时,能够找对负责人。2、能够了解内、中、外、公,这四个网段各自的权限级别。客户端这里内容比较多,比如兼容性,比如会不会用浏览器自带的一些调试工具。这样更便于分析问题。”
H:“我觉得,如果PM发现项目中某个问题后,应该要自已能够区分出这是前端的问题还是后端的问题,不需要任何一个问题都问一下这个是前端修改还是后端”
I:“1、了解项目整体的需求,了解数据流程(需求的把控);2、增加新的功能要考虑会对现有的数据流程产生什么影响(整体流程的把控);3、测试,测试不止是输入正确的流程数据,也需要输入一下奇奇怪怪的数据进行测试(测试程序的健壮性);4、要换位思考,系统是给那些对象使用的,功能操作是否方便合理(产品的体验)”
……嘛,暂且忽略这些猿猿对汪汪的要求有多大的差异性,我们先试着按梯度划分一下PM应当具备的开发技能框架:
第一阶段:明确问题归属,避免流程混乱;
清晰准确的流程是开发效率的最大保障。后端除了问题,你跑到前端争论;客户端除了问题,你跑到服务端那里反馈。来来回回,会耽误很多时间。这也是开发人员最讨厌产品人员地方。那么,怎样提升呢?
其实,这并不需要专门去学习什么,单纯靠经验的积累就可以掌握了;当然,平时体验产品时多思考数据、页面元素、功能逻辑各自在前后端的归属,就能迅速提高并加深理解了。
第二阶段:掌握一些简单的调试、测试工具,帮助程序更精准地发现问题;
刚入职时,发现bug很兴奋,屁颠屁颠地跑到程序猿面前:“你看,你看,这里有问题!”然后演示给他看。回头想来,简直不能再业余了。作为产品汪,你要做的,不是发现问题,而是精准地描述问题。以移动端开发为例:假如你发现了一个bug,不要急着上报;首先你要能精准地描述出bug出现的位置,出现的频率,再现的步骤、影响的范围、影响的机型、有无牵扯到其他功能逻辑、可能的改善方法等;你描述的越是精准详尽,程序猿改起来的效率就越高。这就要求产品汪一要对产品逻辑有着非常深刻的认知,不能停留在表层;二要掌握一些测试手段;
所谓测试手段,主要是web端的一些调试,各位自行百度;
移动端在权限许可的前提下,多利用一些测试网站,如百度MTC,Testin;
第三阶段:对各平台的设计准则要有所了解,甚至熟知;
如今主流的三大移动平台:Android、iOS、WP,各有各的设计准则;尽可能地按照各自的平台准则进行设计,不仅能最大程度地保证用户体验,还能节省不小的开发成本。在iOS上整一个安卓的界面,我保证你会收获程序猿十足的厌恶感。
这方面三个平台官网都有公开文档,作为产品汪,要尽量多地掌握。
第四阶段:掌握一些开发语言,能够编写简单的应用程序或网页应用;
这算是进阶要求了。伟大的乔帮主曾经说过:“这个国家的每个人都应该学习如何编程,因为它教你如何去思考。”整个世界都能用二进制描述和解析,然而你还不会编程..扯远了,先不说世界,单从开发效率来看,产品汪掌握一门开发语言也是十分必要的,因为它能让你尽可能地靠近程序猿的思维,从而避免在沟通上出现问题。
相信C应该是大部分童鞋的必修课,如果你还在上学,请学好它,很重要;
另外,可以选择自学Java;H5和Swift足够简单,也是不错的选择。
以上是开发技能的部分,漫漫长路,我也在不断修习。产品这条路,越往下走,发现自己越水。真诚希望能和各路大牛交流学习。