写在前面的一些话:
这是一个比较有争议的问题:产品经理需要懂技术吗?懂到什么程度。你要说懂,也对,你要说不懂,也没错。因为产品经理这个岗位不能被单纯得划分为技术岗、运营岗、策划岗,它是一个多种技能糅合的岗位,在我的个人从业经历来看,我比较倾向的是产品经理需要“懂”技术。
早期的互联网公司基本都是以技术为中心驱动产品的,因此在很多公司里,产品经理这个角色都是技术或者项目经理兼任,他们是有一定的技术背景的。然而随着互联网的迅猛发展,以技术为中心逐步走向以产品和用户为中心。接下来就是一大波从事技术、运营、设计、编辑、市场的人转型做了产品经理,非技术职位转型做产品经理的人占了绝大部分。所以,不夸张的说,绝大部分产品经理是不“懂”技术的。
但是,这个“懂”技术不等于要会写代码。产品经理学习技术不是为了在技术人员面前证明你很牛逼,而是为了更好地与技术人员沟通需求、更好地合作,一起做好产品。
书中提到:
产品经理是处于业务需求和技术实施中间的桥梁和枢纽,肩负着理解、明确、界定业务需求,将其翻译为技术研发工程师能够听得懂的语言,并交付给工程技术团队实施这样一个关键而重要的职责。
这个观点我比较同意,但是我觉得产品经理并不是一个单纯的“翻译”,“翻译”只是产品经理工作的一个比较重要的部分,或者说,在互联网公司中,“翻译”这个角色占了产品经理工作的60%以上,但是就是因为这样,在这个过程中,懂技术不仅能够让产品经理用更准确、更缜密的语言跟工程师们描述业务需求和逻辑,更能让产品经理在产品需求设计阶段就能够有前瞻性地预见到技术落地时可能存在地挑战和障碍,提前对设计方案进行优化、折中和取舍,以避免后期可能会遇见的技术瓶颈。
一种新的认识:产品除了需求、功能设计和需求文档,还有产品战略、产品定位、市场环境、业务切入点、产品运营,以及财务模型和商业模式。
这其实也是我对于产品经理这个角色基本观点,对于我现在负责的“井井打印”项目来说,除了APP和后台管理系统上肉眼可见的迭代、原型文档、需求说明,这个APP项目的:战略定位(实现公司的盈亏平衡,今年赚1块钱)、产品定位(学习打印机的APP操作端)、业务切入点(学习和教育场景)、市场环境(K12的小初中学生)、产品运营(微信公众号的吸粉和引流),这些其实我都有研究,但是像一些财务模型和商业模式(这是一个项目存活之根本),我的认识并不是很清晰,还需要探索。
1、产品思维与技术思维:
产品思维侧重从用户和商业视角出发,技术思维侧重在技术实现和系统架构层面,两种思维方式也有交叉点,那就是产品的需求、设计和产品功能。产品经理需要思考产品的用户价值和用户的产品使用场景,同时还需要考虑产品缩承载的业务闭环和商业价值,工程师是技术思维的代表,首先是基于产品需求的实现方式的考虑,工程师看到产品设计后在脑海里构建的是拆解后的实现要点,好比一栋房子的内部结构,需要先构建产品的技术架构,然后评估产品功能的技术价值和开发成本。
高阶产品经理的思考方式:产品思维
产品思维是一种结合工程思维、功能思维、商业思维的综合思维模式,包括对商业目标的理解、对目标用户及用户使用场景的理解。
战略层:决定了业务和产品需要实现什么目标,为谁和什么场景服务;
范围层:需要定义清楚再既有战略的基础上做哪些东西来实现战略目标;
结构层:需要基于范围层的内容完成基础信息架构和交互设计;
框架层:完成我们能看得到的界面设计;
表现层:视觉表现设计,让产品看起来更友好。
产品经理必须回答的8个问题(以井井打印APP作为示例来说):
1、产品的目标用户是谁?
产品的目标用户是小、初、高学生,年龄层分布在10~18岁之间,以及这些学生们的家长,年龄层分布在35~45之间。
2、产品为目标用户解决了一个什么核心问题?
用户在进行错题整理的时候,往往会花很多时间去抄题、画图,然而在真正的做题的时间上却很少,学习效率不够高。
3、产品的核心功能是什么?
拍照打印和搜题打印。
4、产品的使用场景是什么?
学生用户会有整理错题的习惯,然后整理错题还要抄题或者画图其实是比较浪费时间和精力的,而且还不一定画得好,可以用我们的产品直接拍照-处理-打印-粘贴,会节省很多抄题时间。
5、产品给目标用户带来的价值是什么?
提高学习效率,节省不必要的时间。
6、如何用一句话介绍产品是什么?
我们是一款能够帮助目标用户提高学习成绩的工具。
7、与同类产品的定位差异是什么?
这个定位差异说实话没有办法从软件APP端去说,因为现在才是1.0.0版本,并没有太多亮点功能,这个还需要在产品的发展和迭代中去寻找。
8、产品的盈利模式是什么?
卖机器、卖耗材,后期可以在APP上卖内容、卖服务,或者实现流量的变现。
2、互联网技术与产品:
使用最广泛的服务器操作系统:Linux
网上支付的基础保障协议:openssl(open secure sockets layer)
数据库标杆:MySQL
服务器的“温床”:apache
工程师的造物利器:eclipse
下个时代的技术主角:AR(augmented reality)与VR(virtual reality)
所有的互联网技术产品,不管是使用只能手机还是使用计算机浏览器,不管是使用手机与计算机进行交互,还是使用手机与手机交互,起背后的实现模型基本都是请求和响应模式。
在移动互联网时代,智能手机成为主要终端入口,移动互联网的技术特点相对于传统互联网阶段具备了移动性、随时性、永远在线的特点,也正式技术的升级,带来了很多产品创新的可能。
未来的产品经理能力不仅包括设计产品的能力,也包括能基于产品定位把产品运营起来的能力。产品经理会从产品结构和功能设计者慢慢向全流程服务设计者转变,从产品定位、用户需求、技术方案、服务流程、市场推广等多个环节实现全流程打通,单一技能的产品经理时代即将过去,“全栈产品经理”的时代即将到来。
3、产品经理学编程:
C语言:运行在世界各地的各种系统中,包括个人计算机、大型和超大型计算机、路由器及可编程的集成电路。
Java:面向对象的语言,灵活性更高,同时其抽象现实世界的特点对程序设计人员的学习和理解也更有帮助。
PHP:开源脚本语言,以文本形式被保存,更轻量化而且更灵活,学习成本较低,主要运用于web开发领域。
Javascript:脚本开发语言,主要运行在浏览器中,可以为网页增加动态功能,具备跨平台的特点,可以运行在绝大多数的浏览器下。
基本数据类型:
1、表示整数的“整型”
所有不带小数点的数字都是属于整型,在变成语言中,用关键字int来表示整型。
2、表示文本的“字符型”
字符型是一种文本类型,字符型的内容没有规则限制,可以是任意内容。在不同的编程语言中,表示字符型的关键字略有不同。在Java语言中,使用关键字string表示字符型数据,在c语言中,使用关键字char来表示,在objective-c语言中用NSstring来表示字符型数据。
3、表示小数的“浮点型”
浮点型的数据都是带小数点的数据。在编程语言中,一般使用float或者double标记浮点型数据。
4、表示是非判断的“布尔型”
布尔型的数据只有两种值,即“true”和“false”.“true”对应的序号是1,“false”对应的序号是0.
编程语言中的逻辑结构:
1、条件判断“if else”
2、条件选择“switch case”
在“switch case”的条件选择中,条件值得数据类型必须是整型的,“case”是对应输入值的条件分支,每一个“Case”分支都会有一个对应的执行结果。若输入的值在所有的“case”中都没有匹配项,那还有一个关键字“default”表示的默认执行模块。多选一的操作都可以使用到。
3、循环操作“while/do while”
使用“while”实现循环的逻辑控制,让一个事件在某一个条件下重复发生,在循环停止前持续让这个事件发生一段时间。还可以通过“do while”控制循环逻辑,“do"的意思是做什么事情,”do while“控制循环逻辑的意思就是先做一件事情,再判断条件,如果条件满足,就继续循环该动作。
数据的组合方式:数据结构:
1、数组:统一数据类型的集合
具有相同数据类型的数据元素组成的集合。
2、栈:汉诺塔结构
栈又可以叫做堆栈,是一种满足一定规则的数据结构,这种规则通常叫做“后进先出”。
3、队列:排队的艺术
只能在对头执行出队操作,在队尾执行入队操作。
4、树:长在树上的数据
在树状结构中,根节点是起始节点,从根节点出发,有一条路径可以索引到下面的每一个兄弟节点和叶子节点。从末端的叶子节点出发,也肯定有一条路径可以索引到根节点。