0

了解这些技术思维,让你变成更受程序员欢迎的产品经理

 1 year ago
source link: https://www.woshipm.com/pmd/5846680.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

懂技术对于产品经理来说有诸多好处,这并不是为了让产品经理变成研发,其主要目的在于降低产品经理和开发的沟通成本。要想了解技术,首先需要知道技术源头在哪里,本篇文章分享了相关的技术基础知识,希望能对你有所帮助。

f097cb12-da8e-11ed-a86f-00163e0b5ff3.jpg

产品经理在技术那人人平等,但如果你懂点技术,你会比其他人更加平等。

懂点技术的好处毋庸置疑,作为公司中最受技术欢迎的产品经理,现身说法。简单来说,因为你要和技术对接,如果你知道他们平时在怎么做事、核心在关心什么问题,那会让你们沟通成本大大降低。

所以,明确目的,我们懂技术是为了降低沟通成本,而不是为了自己变成研发。当然如果你从此激发了兴趣,那算另一回事。

一、要懂技术,那技术的源头在哪里

技术同学的能力并不是从石头里蹦出来,一出生就有的。简单来说,绝大多数技术的起点都是因为大学选了计算机专业而已,大家都是平常人,不存在什么“技术有不同于常人的思维”。所以想了解技术,我们只需要知道他们大学学了什么就能有个大概轮廓。

那么计算机专业到底在学什么,又是为了解决什么问题呢?

下面是一些底层知识,虽然没法直接应用,但能帮助你了解计算机世界的大体轮廓。

想看实际运用的同学,就跳到下一个标题处吧~

那首先,我们来说计算机要解决什么问题,可以这么认为:计算机的发明就是为了处理数据。

我们可以把计算机想象成一个黑盒子,盒子一头是“输入”,另一头就是“输出”,盒子内部就是“处理过程”。比如我们让小朋友计算“1+3等于几”,那这个问题就是“输入”,小朋友比着手指一个个数的过程,就是数据的“处理过程”,最后他说是“4”,那就是“输出”。

整个计算机专业的核心原理就可以概括为“输入”、“处理过程”、“输出”

但这种模型还是过于粗糙,为了进一步了解,我们就来看看计算机专业的四大专业课吧。这四位天王分别是:《计算机组成原理》、《计算机操作系统》、《数据结构与算法》、《计算机网络》。

它们共同组成了我们熟知的计算机世界。那它们是怎么配合的呢?

众所周知,计算机是由硬件和软件两部分组成的。

《计算机组成原理》书入其名,讲述的是怎么用硬件来组成一台计算机。

拓展一下:计算机硬件中最核心的就是晶体管。晶体管的本质就是一个开关,它有三个种类:与门(and)、或门(or)、非门(not),通过这三种逻辑控制电流的输入、输出,人们就在这个基础上,搭建了无比复杂的计算机世界。

9cf15ae0-09b0-11ee-a1ce-00163e0b5ff3.jpg

《操作系统》讲述的是配置在计算机硬件上的第一层软件,比如window、Linux等等。

我们把《计算机组成原理》和《操作系统》组合在一起,就得到了一台PC机。

而无论表现形式多么不同,人们使用计算机的最终目的就是处理数据。

比如你玩王者荣耀会看到伤害数字、刷抖音背后支持你的是推荐算法。你可以把计算机里流动的数据想象成一个个Excel表,那游戏和抖音的表格肯定不一样,研究如何组织、提取这些数据的就是《数据结构与算法》了。而不同的《数据结构与算法》决定了计算机处理数据的效率。

上面说的都是单独的计算机,那研究如何把单独的计算机组织起来,成为“互联网”的就是《计算机网络》了。

至此,《计算机组成原理》、《计算机操作系统》、《数据结构与算法》、《计算机网络》就组成了计算机技术中最核心最基础的知识。

在我们实际工作中,产品经理用到最多的就是《数据结构与算法》、《计算机网络》了。

二、了解你需求的数据结构

用研发的语言定义好你需求的数据结构,就能帮助研发快速理解你想要啥,极大降低沟通成本。而且,这种方法我亲身实践过,非常简单。

数据结构分两种,基础数据结构和复合数据结构。基础数据结构就像不同形状的砖块,复合数据结构就是用砖块自由设计搭好的房子。

基础数据结构和实例

那首先看下基础数据结构,比如:

你需要整数,就给研发说要:int

需要小数,就说要:float,最多保留X位

要文本,就说:str,或者说“字符串”

如果是想表示要么是“true”,要么是“false”,这种二选一的情况的,就说此处是个“布尔值”

比如,像这种需求描述:

练习试次:游戏中的操作次数

正确率:游戏的正确率

你就可以改为:

练习试次:int,含义是游戏中的操作次数

正确率:float,最多保留1位小数。含义是游戏的正确率

还有像这种:

在进度条区域,根据单元完成情况配置一条文案描述

单元全部完成:今日训练已全部完成!

可以改为:

在进度条区域,if 单元状态==已完成

展示一条str,内容为:

“今日训练已全部完成!”

这样的好处就是改起来很方便,研发同学也容易找到重点。

不过在基础数据结构中,我日常用的最多的,其实是“变量”这个概念,因为我们需求中的文案可能常会变来变去的,所以用变量提前把它标示出来,给研发同学一个心理准备,是不错的选择。

比如,在开发一个报告的需求时,我会这么告诉研发:

【】里面是 变量

再生成一个表格,一列title为“内容”,比如:

【报告完成日期】,【用户名称】完成了【测评报告名称】

一列title为“数据结构”,比如:

【报告完成日期】 实例: 2023年1月21日

【用户名称】

If 是后台生成的随机id: 则【用户名称】==“孩子”

If 是用户手动改的值: 则【用户名称】==【用户手动改的值】

【测评报告名称】 值==“暂未确定,待确定后@相关人员”

说完了应用,我们来唠唠为什么有数据类型这回事。主要是因为计算机能处理的数据太多样了,如果啥类型都不分,找起来很难找,比如,文本、图形、音频、视频、网页(就好像最近大家常提的AI的多模态能力一样),你可以直观感觉到它们的类型不太一样。

人脑处理复杂信息能力有限,而分类,就是为了更好地开发。

三、复合数据结构和实例

你有可能看到研发在群里发过类似的东西:

{“name”: “John”,

“age”: 30,

“isStudent”: false }

这种由花括号括起来的玩意就是复合数据结构,它叫做JSON。你可以把JSON这种格式理解为TXT之于文本格式。

JSON在Web开发被中广泛应用于前后端通信、配置文件、数据存储等场景,也就是说它在前端、后端、运维、测试、数据分析那都是通用的。

那如果我们会用它写需求,可就太方便了。

说回到上面的例子,换你用自然语言表达,可能就会写成:“一个名叫John的用户,不是学生,现在30岁”,和JSON格式对比,还是JSON清晰一些。

以前,你可能会这么写:

“展示由当前单元的全部任务串成的进度条,包含任务icon、任务名称及任务的一级能力名称”。

现在,你可以这样写:

“任务icon”:png,分辨率待定

“任务名称”:str,长度不超过4个汉字

“任务一级能力名称”:str,长度不超过4个汉字

四、进一步,定义你的异常

计算机网络包含了大量异常判定,比如我们常见的“404”,其实就是在说“客户端(也就是发起请求的电脑)请求的东西在服务器上找不到”。

所以,我们看一看计算机网络对异常的分类,就能对大部分异常有所了解。

上面说的“404”学名叫:HTTP状态码,它由三位数字组成,其中第一个数字定义了响应的类别。

以下是一些常见的HTTP状态码及其含义可供你检索:

1. 看到4开头,就是客户端的问题

4xx(客户端错误状态码):请求包含错误语法或无法完成请求。

  • 400 Bad Request:服务器无法理解请求的格式。
  • 401 Unauthorized:请求要求身份验证。
  • 403 Forbidden:服务器拒绝请求。
  • 404 Not Found:服务器找不到请求的资源。

2. 看到5开头,就是服务器的问题

5xx(服务器错误状态码):服务器在处理请求的过程中发生了错误。

  • 500 Internal Server Error:服务器遇到错误,无法完成请求。
  • 501 Not Implemented:服务器不具备完成请求的功能。
  • 503 Service Unavailable:服务器暂时无法处理请求(可能是过载或维护)。

五、最后,产品经理需要了解技术到什么程度

要说得出OSI模型的7层结构吗?要能选择出哪种技术实现路线更好吗?

这都是我在面试时遇到的真实问题,实话说,我一向不理解这种问百度一下或者GPT一下就能出来答案的问题意义何在。

产品经理了解技术,目的只是为了和技术在沟通时更方便而已,如果要选出技术路线,不如直接去找个研发。

感谢你看到这里,如果还想了解产品经理的技术学习路径或者还有什么其他建议,请留言。

作者:探索者,公众号:探索者的神庙

本文由 @探索者 原创发布于人人都是产品经理,未经许可,禁止转载

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

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK