一线技术人应该关注的四种思维能力(1)

简介: 一线技术人应该关注的四种思维能力


01

引言

Aliware


作为长期奋战在一线的技术人,我深刻体会到如下几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。



  • 抽象思维:帮助我们快速抽取面对问题的关键要素和本质,可以是其他能力的“元能力”


  • 分层思维:帮助我们拆解问题,分而治之,划清问题和职责边界


  • 归纳思维:帮助我们从个性问题中抽象出问题的一般规律和得出共同结论


  • 结构化思维:帮助我们沉淀自己的知识树,逐步系统性的思考问题



02

抽象能力

Aliware


01


什么是抽象能力


提到抽象,程序员第一反应可能是 abstract,抽象能力的官方解释是这样的“抽象是从众多的事物中抽取出共同的、本质性的特征,而舍弃其非本质的特征的过程。抽象表达的是一种思维方式,用来反映事物的本质和规律的方法,抽象强调的是关注要素,隐藏额外细节”。


抽象能力是每个人自有的一种天生能力,可以让我们把一些相似的东西集中概括起来,暂时忽略他们之间的差异。当我们遇到从未见过的事物时,如果能够运用“抽象能力”去寻找记忆中的知识与现有的事物之间的联系,作为解决问题的关键要素,那么我们解决问题的效率将会大大上升,比如当我们碰到下图中左侧这个动物的时候,我们不知道它具体是什么动物,但是因为我们脑海里有一个猫科动物的抽象(如右侧),所以通过寻找记忆中的知识,我们可以知道它是猫科动物的一种,而不会直观的把它当成一匹马。



02

抽象能力的重要性


抽象能力在我们的工作中非常重要,甚至能决定一个人能力水平的上限,一个抽象能力强的人,往往能从复杂的现象中直击事物的本质。这也就是我们生活中常见到的一些人总是能抓住事情的重点、总能看到别人看不到的,或者碰到问题能够快速给出有效解决方案或思路。

03


抽象能力决定你是否能比别人快速掌握技能


作为一线程序员的核心本职工作是编程,编程的本质也是为了解决生活中的实际问题而存在的,通过抽象能力把现实中的内容的本质和特性抽象出来,然后抽象到系统模型上应用于工作中,通过编程的方式来解决一类问题,这也就是“设计源于生活、扎根生活,最终为生活服务”。


举一个例子,阿里西溪园区有一个做麻辣香锅的档口,比较好奇麻辣香锅是怎么做的,正好档口的加工过程是开放式的,所以我就站在那边等餐边观察他们的加工过程,下面是一个完整的流程:



麻辣香锅有 4 个工人,每个工人负责固定的实操,整个麻辣香锅的加工过程按照一个固定的流程扭转,各个工人之间交接的内容标准固定,比如上图:


工人 1: 负责的实操:称重、收银(刷工卡)、摆放(有序摆放) ,工人 1 完成摆放最后一个操作后,会把商品放到一个筐中交给工人 2;


工人 2: 负责的实操:取件(有序取件)、分类(蔬菜和肉类分开)、煮熟、装碗,工人 2 按照上述流程完成自己的工作后,将加工好的商品放到一个碗中交给工人 3;


工人 3: 负责的实操:取件、加料、炒熟、换碗,工人 3 将工人 2 加工后的商品按照上述流程完成炒熟的加工,炒熟后给到工人 4;


工人 4: 负责的实操:取件、加配料、妥投(叫号),工人 4 负责对最后的商家做锦上添花的配料加工。


完成所有的实操之后,工人 4 通过叫号的方式客户上门自取的方式完成妥投.,整个工作流程中不需要单独有个工人来指挥调度(无状态,不需要记录当前的调度节点及进度),他们会按照既定流程完成本职工作。


在回到我的工作中,我的工作内容有一部分跟协同关系比较大,协同这部分的本质和一个麻辣烫的加工过程非常相似,区别在于一个是人之间的协同,一个是作业节点之间的协同,下面给一个协同调度流程示例:


image.png


共性抽象:


这两个看似不相关的东西其实有相同的共性,麻辣烫的每个工人等同于我们的实操节点,他们的工作等同于生成仓作业单、下发仓作业单、仓出库等,仓出库-->创建配作业单等同于工人 2[装碗]之后交给工人 3,仓出库就触发了一个协同事件,触发了工人 3 的作业,仓出库的包裹就是交接的碗(交接物),通过这个我们把现实中的事物本质抽象成了调度协同的基本模型,包含[协同模版]、[协同节点]、[协同事件]、[工序]、[交接物],然后通过编程系统这个能力,借助于此解决了当时域内最大的痛点:协同调度模版的爆炸式膨胀和无法动态编排的问题。因为我们把“调度协同的本质”共性抽象实现了一下,所以天然收割了一波技术红利,第一次把正逆向调度协同业务都融合进来,同时也复用到了 2C 和 2B 的其他业务域中。


下面是我们的调度升级版后的配置化页面:



image.png


本次升级也支持了调度模版的多版本控制、生效规则、审批发布流程等,也从以前一个中心化的调度升级到无状态去中心化的服务协同,降低了系统依赖、提高健壮性。


04


抽象能力是将复杂问题简单化的重要方法


《史记》有云:“大乐必易,大礼必简。”意思是说.“大”的音乐一定是平易近人的;“大”的礼仪则一定是简朴的。世界的表现虽然复杂,但方法的本质却是简单。面对纷繁复杂的万事万物,迎接不断出现的新情况新问题,说难也难,说易也易,关键看你能否把握事情的本质,复杂问题简单化是提高我们生活工作效率的正要途径,通过抽象思维把复杂问题简单化的例子有很多,比如:


05


曹冲称象


孙权送来了一头大象,曹操想要知道大象的重量,询问他的属下这件事,但他的手下都不能说出称象的办法。曹冲说:“先把象放到大船上,在水面所达到的地方做上记号,然后将大象牵下来,再让船装载其它东西,称一下这些东西,那么比较下就能知道了。

06


地铁线路图


即使不标出各个站点之间相隔的具体距离,也没有标出它们的具体位置,仅仅只是提取了必需的信息,就能将整个复杂的地铁体系简单地表现出来。我们只要有地铁路线图,就可以知道要怎样去各个站。

07


系统交接


再举一个最近发生在身边的例子,前几天的一个系统交接会上,交接过程中总感觉有些遗漏,基于我自己记忆中的知识,我判断交接清单至少包含如下几个内容:


  1. 系统架构图、核心领域模型
  2. 核心业务流程、时序
  3. 上下游系统依赖、核心联系人、协议方式
  4. 中间件基础资源依赖、基本账号
  5. 系统操作页面、入口
  6. 以往大促保障手册、应急预案、资损盘点
  7. 系统基础监控、业务监控地址
  8. 遗留线上 Bug 清单和 Owner 分配
  9. 代码权限以及核心 L0 入口


其实上面都是基于对一个系统本来该有的内容的一个抽象,所有的业务系统都具有相同的特征,日常的抽象积累可以让工作更轻松更简单,不至于束手无策、手忙脚乱,抽象思维让我们只关注了要素隐藏了很多细节,按照上面这 9 个大类要素深入进去,我们面对的就是无穷的细节,细节是决定成败的关键。


03

分层思维

Aliware


除了抽象,分层也是我们应对和管理复杂性的基本思维武器。日常生活中的一些分层的例子,比如我们经常所去的大商超,店铺的分布也是有分层的思维,比如负一层一般是小吃档口/停车场,一层一般是化妆品/香水/黄金首饰店铺,二楼是女装、三楼是男装、四楼是儿童/母婴用品,在往上就是餐厅和电影院、健身房等,通过分层思维,商超将一些共性的东西划分到一起,让管理和客户消费更轻松(如一般晚上只有电影院的那层关门最晚,其他楼层相对较早,管理上可以重点保障该楼层的用电和安保。),类似用到分层思想的东西非常多,比如新华字典收录了 8000 字,通过按照汉语拼音的顺序完成所有汉字的分层,同时提供一个目录用于快速检索。这样一个复杂的问题就简单化了。在系统架构和设计中,分层思维也是常用的一个思维方式,比如:

image.png



 


(TCP/IP协议栈的分层架构) (操作系统分层架构)


在我负责的系统架构设计上,分层思维也是比较常用的一个思维方式,比如:


01


业务能力管理[业务逻辑的分层管理]



如上图,业务需求管理上我们采用三层架构的方式来进行业务管理,其本质是采用分层的思想,划分成三层,基础层、行业层、商家层,每一次有不同的定位和职责。


a. 基础层


主要沉淀业务的共性和一些基础标准和规范定义,并提供一些默认实现。


b. 行业层


主要沉淀业务的特性的内容,在基础层的基础上叠加一些特性内容形成具体的行业,不同行业之间也是一个分层思维,通过不同的行业分层管理行业间的差异。


c. 商家层


主要沉淀业务的个性的内容,在行业层的基础上叠加一些个性内容形成具体的业务身份,不同业务身份之间也是一个分层思维,通过不同的业务身份来管理他们之间的差异。


02

系统架构设计[系统模块的分层设计]


比如在数据中心的系统架构设计上,划分不同层次、不同的层次职责边界清晰。



通过分层的思维设计,每一层有自己的基本定位和职责边界,逐级往上提供基础能力。


a. 数据基础层


主要解决多数据源快速接入,数据快速形成一个宽表,核心面临的挑战是数据的质量和稳定性这方面,因为数据实时性的提高必然带来一致性的挑战,对上层提供基础数据支撑。


b. 数据服务层


主要解决业务数据的快速服务化的问题,沉淀数据开发平台来支撑,配套的服务测试、发布审批流程以及支撑多数据源接入,对上层提供数据资产服务。


c. 数据视图层


主要解决数据资产服务的权限管理问题,控制了什么人能看到什么资源以及看到哪些数据范围,对上层开放,支持 appkey 的多资源订阅。


d. 数据 APP 层


主要解决数据开放管理的问题,通过 appkey 来订阅,目前已经支撑异常中心、小时达实时指挥中心、算法等众多消费场景。


通过这四层架构分层设计,实现了数据来源于业务又回归到业务这一过程。


我们在运用分层思维的时候也离不开抽象能力,利用抽象能力去提取他们的共性忽略差异细节。



相关文章
|
12月前
|
数据挖掘 云计算 开发者
呼唤懂技术、有热情的你!阿里云开发者运营招聘火热进行中
阿里云智能集团2024届校园招聘,呼唤懂技术、有热情的你!阿里云开发者运营招聘火热进行中
1466 1
|
12月前
|
人工智能 供应链 搜索推荐
数智实践丨走进名企,解密标杆企业领航之道
编者按: 产业互联网是指传统产业借力大数据、云计算、智能终端以及网络优势,提升内部效率和对外服务能力,是传统产业通过“互联网+”实现转型升级的重要路径之一。
261 0
|
运维 安全 调度
一线技术人应该关注的四种思维能力(2)
一线技术人应该关注的四种思维能力
|
运维 自然语言处理 搜索推荐
BizDevOps:数字化转型浪潮下技术破局之路 | 学习笔记
快速学习 BizDevOps:数字化转型浪潮下技术破局之路
454 0
|
运维 监控 安全
一线技术人应该关注的四种思维能力
低头走路,抬头看天,长路漫漫,不忘初心。
1094 7
一线技术人应该关注的四种思维能力
|
人工智能 运维 监控
一线技术人的成长思考总结
作为长期奋战在一线的技术人,我深刻体会到几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。作为长期奋战在一线的技术人,我深刻体会到几个思维能力对技术人成长的重要性,熟练运用这几种思维可以帮助我们快速的进入到新的领域,在分析、定位和解决问题上有很大帮助。
一线技术人的成长思考总结
|
存储 云安全 人工智能
专访吴海:从线上到云上,住建教育平台明创教育的“再创业”之路
明创教育,一家做建筑类职业培训的企业,2019年做线下教育培训,2020年尝试开始走线上,与阿里云架构师沟通学习,共同探讨中小企业数字化转型之路,在两年内完成了数字化转型,走上了云端。
499 0
专访吴海:从线上到云上,住建教育平台明创教育的“再创业”之路
|
Web App开发 存储 移动开发
思考、创新、坚持——阿里做了七年前端,我的成长经验分享
在成长的未知道路上,我们总会遇到各种各样的问题,但是,所有的迷茫与逆境都能够帮助我们成长,我们要抓住每一个机会让自己进步,而不是徘徊不前。 淘系前端开发同学——林晚,今天就来和大家分享他这七年的成长经历,以及如何摆脱业务前端的职业迷茫感。
2880 0
思考、创新、坚持——阿里做了七年前端,我的成长经验分享
|
弹性计算 前端开发 JavaScript
【实践故事】一个金融专业云计算萌新的第一次
阿里云“在家实践”计划同学分享,一位非CS背景的云计算新人搭建第一个个人网站的心路历程。你是不是也看到了和阿里云第一次亲密接触的你的影子呢?原以为云计算高深莫测,参与阿里云“在家实践”你也能开启全新云上实践的项目经历:活动🔗https://developer.aliyun.com/adc/college/ 老师 & 学生实践故事持续征稿中,欢迎分享至 DAMOEDU@alibabacloud.com
720 0
【实践故事】一个金融专业云计算萌新的第一次
|
智能硬件 定位技术 安全
技术、专业、创新,阿里巴巴公益赛道别具一格
据了解,今年阿里巴巴还将首次通过对公众直播的方式举行“橙点公益榜”颁奖典礼,颁出对社会具有较大社会影响力的“年度十佳公益项目”“年度十佳人物”等奖项,带动员工积极参与公益。
1421 0