产品经理的技术学习之路

12 评论 32507 浏览 361 收藏 15 分钟

懂技术的产品经理,在日常工作中会更加顺畅,能更好地管理团队。本篇文章给不懂技术的小白或有一些技术基础的产品经理分享对应的技术学习路径,适合很多想学习计算机基础操作的人。希望本篇文章能对大家有所帮助。

产品经理究竟需不需要懂技术?这个问题已经“折磨”了行业多年,每个人都有不一样的观点。

而我的答案是:要懂,但不用懂太深。如果很懂,请在产品思考时控制住。

产品经理本质上是一个偏商业的岗位,对产品的价值负责,懂技术其实不算是产品经理的“义务”

但是,懂技术的产品经理和不懂技术的产品经理,在职业发展过程中一定会天差地别,懂技术的一定能够上升地更快,日常工作也一定会比不懂技术的要更加顺畅。

为什么?

一、产品经理懂技术的好处

  1. 沟通顺畅。产品本身就是由技术开发出来的。产品的开发过程并不是一个简单的工作,沟通会非常繁杂。懂技术的产品经理在产品开发过程中能够更加顺畅地与开发测试人员进行沟通,更高效地确认事项。我们都知道,沟通最高效的方式,就是“理解”和“共情”。
  2. 可实现性。并非所有天马行空的想象都能通过代码实现,产品经理能够理解技术边界以及实现方式,有助于在产品规划前期就更好地确认产品规划“范围”内容。
  3. 成本评估。懂得一定的技术知识可以更加准确地评估项目成本,包括时间、资源和金钱等方面的成本。这可以帮助产品经理更好地制定预算和规划,并更好地控制成本。
  4. 跟上市场。快速变化的技术行业中,懂得一定的技术知识可以帮助产品经理更好地了解市场需求和趋势,以便制定更符合市场需求的产品战略和计划。
  5. 优化体验。产品经理了解产品设计和技术实现之间的联系,能够更好地优化用户体验和提高产品质量。
  6. 管理团队。如果了解技术,当产品经理同时兼任项目经理时,能够根据版本或迭代的需求量,对设计、开发、测试等资源进行更加合理的规划与分配。

二、警惕技术陷阱

但同时,产品经理的“技术知识”是需要被控制或警惕的,因为它有可能会带来以下后果:

  1. 脱离了产品本身,去追求技术。在做出产品决策时,更多地需要考虑到公司战略、市场需求、用户体验等多种因素,而不是仅考虑技术实现的可行性。
  2. 影响团队和谐。部分产品经理以为自己很懂技术,在和团队的开发的沟通过程中,往往会“指导”开发工作,甚至会深入到“前端应该用什么框架”、“后端这个接口怎么写”、“这个SQL查询语句应该用什么语法”等地方,典型的外行指导内行,同时也会伤害团队的团结。
  3. 被自己已知的技术知识束缚住。当你有一些好的Idea,但以你的技术知识判断这个Idea不可行时,请不要放弃,可以把这个Idea拿去分享给技术同事,或上网寻找技术解决方案。你认为实现不了,不代表真的实现不了。你认为实现起来要花很多资源,不代表它没有其他更节省成本的解决方式。

三、技术知识学习路径

这里总结了一份给技术小白产品经理的技术学习路径,按照这个路径学习完,能够基本做到与开发、测试,甚至算法工程师进行有效交流,增强对彼此的理解能力。同时,面对日新月异的市场,你也能更好地理解那些最新、最热、最火的那些项目的本质逻辑。

在学习的过程中,一定要结合自己的产品工作去学习,去理解产品的每一个页面、模块、逻辑的来源是什么样的,会更加有效。

1. 前端

首先学习HTML和CSS,理解Web网页如何被开发出来的,包括结构、样式等。然后学习JavaScript并能够做到与页面进行联动,通过这个过程可以了解到页面的“交互”是如何实现的。

HTML、CSS、JavaScript,是前端的基本功。

然后可以学习JQuery。这是一个非常老牌的JavaScript框架,它可以让我们更加简单地控制页面元素(DOM)。它可以它的语法也非常轻便和简单,非常易于上手,也非常易于让技术小白了解前端交互的实现逻辑。

以上内容可以去到w3cschool菜鸟教程中学,免费,知识完善,而且它们都提供的编辑器,供大家边学习边编程,可以有效提升学习效果和学习体验。

同时,为了增加一些趣味性。在学习的过程中,也可以捣鼓一些前端库。font-awesome可以让我们非常简单地网页面中增加emoji图标,而animate.css则可以让我们非常方便地为网页元素实现动效,例如点击按钮后按钮的震动、弹跳等效果。还有很多很有趣的库正在等待你的挖掘。

再往后,可以进阶学习前端框架,如vue.js,以便更好地理解“工程化”、“组件化”、“前后端分离”等概念。同时,也可以学习一下微信小程序的编程,其编写方式与vue.js是十分相似的。

自从出现了“大前端”的概念后,前端框架如雨后春笋一般,每天都有新鲜玩意。

但作为产品经理,学习技术的目的是了解技术的实现方式,并不需要去学习那么多新鲜的框架,只需要选择目前很成熟的、或较热门的技术学习即可。

至于iOS和Android的前端开发,大可不必去学。因为其技术本质是相通的,只是使用的开发语言(Objective-C、Swift、Java…)和应用承载的平台(iOS、Android)不一样而已。也可以通过阅读苹果和谷歌的官方开发文档,了解一下各自系统所提供出来的数据或能力,这些都是为了达成产品目标所可以利用的资源。

同时,你也可以了解到,Web页面是可以被挂载到iOS或Android应用上的。同时,Web页面可以与iOS或Android原生页面进行一定范围内的数据传递或交互。这一点对于产品经理在时间紧急的情况下设计APP的一些活动板块或临时性页面时尤为重要,因为一次开发就可以通用在iOS和Android的APP上。

因此市面上也有Flutter这样的通用开发框架,一次开发,可以让应用同时运行在不同平台上。但这类开发框架,虽然节省了开发成本,但在部分场景下的体验和技术方面,也还是有它们自身的问题的,在此不展开详述。

2. 后端

人生苦短,我用python。

甚至还有人说:“python不用学,直接用”。所以,学python就好了。因为python学习起来最容易,学习的人也多,资源也多。

python免费学习的地方很多,除了w3cschool或菜鸟教程外,还有廖雪峰的官方博客也是一个不错的学习处。

学习python最好遵循一个顺序:先学习基本知识,至少搞清楚数据类型、函数、对象、属性、模块、正则表达式等基本概念,同时理解什么叫“面向对象”。

然后你就会了解到,python作为“胶水语言”,有大量的第三方库可以使用。

你可以通过这些库,去做一些你感兴趣的事情,以下是几个例子:

  1. 网页爬虫。可以通过requests、beautifulsoap、urllib等库,去爬取你感兴趣的网页内容,你甚至可以自己搭建一个爬虫脚本,帮助你定时获取信息。
  2. 数据分析。可以通过openpyxl等库,操作excel数据。可以通过pandas、numpy等库进行数据分析计算,并通过matplotlib进行数据可视化绘图。
  3. 图像处理。可以通过pillow对图片进行各种处理,体验一把用代码P图的感觉。
  4. Web开发。可以通过django或flask库体验网站开发的过程以及一些细节。
  5. ……

3. 数据库

了解数据的结构,以及开发同学口中常说的“CRUD”。廖雪峰的官方博客也是学习数据库查询语言的好地方。

一般会先学习“关系型数据库”,了解行、列、字段、属性、主键等概念。这些概念需要与在学习后端时所学到的对象、属性进行结合,会更好理解系统对象的构成。

SQL是数据查询语言,学习它,能够让你更好地理解数据的组织方式。尤其是B端的同学,能够进一步地提升对系统各业务数据的流转的感受。

“非关系型数据库”也需要接触一下,主要是了解它和“关系型数据库”的异同处,以及它的一些组织或处理方式。

4. AI

AI的时代正在强势到来,学习AI相关的技术知识也显得非常有必要。

要了解AI,首先要接触的是算法。这对于没有一定数学基础的同学来说会感觉很难入手。

即便如此,也并不代表它们是无法被理解的。

可以先简单回顾一下高中曾经学习过的概率论和线性代数知识,然后了解机器学习的几个类型:如分类、聚类、回归、降维,以及他们对应的几种算法。在实际应用的案例(例如,垃圾邮件的分类,就是一种二分类算法),结合起来理解。

推荐大家去百度AI平台,使用免费的额度,通过python去使用里面的一些AI方法,来帮助你更加深刻的理解AI应用。

例如可以通过NLP(自然语言处理)对文本进行分类、理解、识别、打标签等,通过OCR(光学字符识别)体验从不同类型的图片中获取文本的乐趣等。

在进一步地学习过程中,还需要了解到样本、特征、评估、模型、算法,及他们之间的关系。

几乎所有的AI应用都基于该五要素。

关于以上内容,给大家推荐两本书:《策略产品经理:模型与方法论》《人工智能产品经理:AI时代PM修炼手册》。如果你有不错的数学基础,则推荐《裂变:秒懂人工智能的基础课》

然后,可以了解大语言模型(LLM),大火的ChatGPT就是LLM的一种,同时也可以进一步了解一些垂直行业领域的LLM,如京东的产业LLM和彭博的金融LLM,了解LLM的运作原理和应用场景。

可以通过对提示词工程(prompt-engineering)的学习,了解如何与LLM交互和沟通。推荐prompt-learning网站,或B站吴恩达与OpenAI联合推出的prompt课程

另外,可以尝试通过langchain库,进行一些简单的AI应用开发,能够帮助你更加深入地了解AI应用。

5. 项目管理

最后,最好也学习一下软件项目管理。因为项目管理的本质,是将不同角色、不同人员、不同分工进行串联的一门学问,让我们能够从一个更加宏观的视角去解决产品管理问题。

传统的瀑布流模式可以简单了解一下,但更建议去深入了解当下较多使用的敏捷模式(如:scrum),推荐《敏捷革命》。深入地学习敏捷开发,不仅能够了解这种开发管理方式,同时也能理解“敏捷思维”,并将这种思维方式运用到自己工作的其他方面。

四、最后

通过对以上内容的了解和学习,基本上能够让你在日常工作中涉及技术的场景中进退自如,有效地提升个人的工作效率,也能有利于扩展见识。

作者:吸猫狂魔;公众号:吸猫狂魔 。

本文由 @吸猫狂魔 原创发布于人人都是产品经理,未经许可,禁止转载。

题图来自 Unsplash,基于 CC0 协议。

该文观点仅代表作者本人,人人都是产品经理平台仅提供信息存储空间服务。

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 麻烦问下文中提到的“百度AI平台”网址是哪个吖?

    来自上海 回复
  2. 这样一套的学习周期大概需要多久?作为非理工科出生的产品经理来说

    来自浙江 回复
    1. 只能说学不完,根本学不完,技术这块学下数据库会比较有用,其他的根据兴趣了解一下就行了,产品不光要学技术,设计知识和管理知识同样重要

      来自四川 回复
    2. 不用学深,除非感兴趣。能了解到技术实现原理,能和开发测试有效沟通,能团队成员相互理解对方的工作,就是OK的。再进一步,能够理解市场最新的最火的东西的原理,就更好了。

      来自广东 回复
    3. 嗯谢谢分享,我是做项目管理的,但是非技术出身,现在想转互联网行业的项目管理,所以觉得这些都是我需要了解的,只是说学海无涯,看着太庞大了啊

      来自浙江 回复
  3. 非常受用

    来自北京 回复
    1. 非常高兴帮助到你~

      来自广东 回复
  4. 我大学也是信息管理,内容很受用

    来自黑龙江 回复
    1. 很高兴帮助到你~

      来自广东 回复
  5. 很受用,写的很全面,值得循序渐进的学习成就自己。

    来自陕西 回复
    1. 很高兴能帮助到你~

      来自广东 回复
  6. 我是本文作者。
    我本科是信息管理专业、研究生是传媒专业。严格意义上和技术有一定沾边,但不完全沾。我也没当做程序员(学代码的过程中有开发过一些自己的小应用)。
    对于技术的学习和理解都是自己在入行产品经理之前,学习产品经理知识的过程中并行学习的。这是自己个人经验的总结,希望能帮助到大家,尤其是非理工科出身的产品经理们,一样能够有方法接触技术、了解技术。

    来自广东 回复