uhey

Love Frontend and love life

程序猿,除了学习技术,还需要学会表达技术。

前言

第一次参加骥社,认识一位年轻的创业者主动向我咨询。咨询的内容大致为“我什么都准备好了,就差程序猿了,我应该招哪些程序猿?”

在了解了他所持项目,项目规划,和对程序猿的期待等。我及时总结了一些客观性的建议,并给他科普当前IT行业的状态。

最后他友好表示感谢,对我说:你刷新了我对程序猿的印象,我一直认为程序猿都不太善于表达。(开心脸 😊)

事实上我认为,程序猿除了不停下学习技术的步伐以外,表达技术也是同等重要的。

日常我们表达的是怎样的

我们常常在和产品、UI"撕逼",力争己方观点,迫切希望对方能明白“这个功能说是一句话然实现起来可能百转千回”。但总是在争论中中断沟通,或总是败下阵来。因为我们有时无法用专业术语以外的通俗语言更精准得表达实现过程,我们在专业术语和通俗语中难以寻得平衡,额外的沟通显得其成本更高了,所以最终总会说:“这个做不了,至于为什么做不了,我说了你也不懂。”

举个例子,假设我们心里想要表达01 ~ 10。

在表达技术的过程中,普通人想到哪说到哪,可能顺序是:05 02 07 02 08 06 04 01 09 03 10,说到10,可能还需要讲一讲 20 30。
而事实上,我们所期待的表达是01 02 03 04 05 06 07 08 09 10。
那么,为什么我们表述的和我们期待表述的是同一件事,但后者更容易记住呢?

因为有规律的东西更容易记牢

若在表达过程能如期待般那样,那么我们的大脑需要一个工具,结构化思维(自创的哈)。

普通人如何练出有“结构”的思维,从而帮助我们更好的表达。

结构和规律的关系

任何结构都遵循一定的规律。

练习结构化思维的三个技巧

  1. 链路法
  2. 构思流程图
  3. 类分法

这3个技巧是我自己总结的,名字也是自己取的。


链路法

核心:列出所有的点,将有关系的串连在一起。

练习方法

刚开始练习的时候,需要纸笔协助。
依旧拿01~10来举例,每件数字代表一件事情。我们在纸上,分散的列出这些数字,然后把关联的数字用线连在一起。
比如01 03 05 连在一起,07 09 连在一起,02 04 连在一起,06 08 10连在一起。

注解:
1 3 5 是 5以内的奇数,(刚开始一次列3件事,当多余3件时大脑可能不够用哦)。7 9是 5 以后的奇数。随着练习次数多了,大脑慢慢会一次列出更多的事情。

适用场景

遇到bug。将bug相关的知识点、疑问点列出来,将对应的关系串连起来(当然,足够的知识量能列出更多相关联的点)。


构思流程图

核心:借助工具,将流程步骤自上而下/自下而上画出来

练习方法

这个需要你会流程图的基本认识(很容易学习的),网络上也有许多在线流程图制作应用,类似processon,百度脑图等,不过日常情况我基本是在本子上草稿了。
依旧01~10举例,
先1后2再3和4,然5有6就7,否则先7后8,存在9先看看10,对上了,继续走。

适用场景

梳理多方需求,业务式编码。

其实这种方式给我带来的益处是最大的,多练习使得对待任何事情更细腻缜密,在表达、大脑构思、思维广度都是有帮助的,也是锻炼结构化思维非常有用的一招。


类分法

核心:将事情类型划分,求同存异。

归类的方式有很多,重点在于如何组织“类”,如何处理“类”和“类的关系”。

场景1

工作任务贼多

练习方法1

还是01~10举例。
01~10 都是需要做的。
01 03 05 07 09归A类
02 04 06 08 10归B类
其中 01 07 为特殊C类
那么共3类,C类优先级最高,其次A类B类分别为最容易做的和最应该做的。

场景2

新知识学不完又懒得学。

练习方法2

核心 :快速让大脑得到知识回馈

短时间内回馈拿到的越多,学习更有劲哦!技术积累是一个漫长的过程,新语言的深度学习单位可能是1个月甚至更久,短时间内看不到效果。这是我们乏于学习的主力原因。

先过一遍目录,列出的知识点大纲总数,并区分知识点类型,列出总数。从最基础的类型学习,学习过程中尽可能少的回顾旧知识,而是在获取新知识的时候,迅速辨别与旧知识的异同,然后归“类”(类分法)。最后,对每一点知识思考出3种适用场景(用于巩固认知)。


结尾

总得来说,想清晰表达出自己的意图首先需要在脑子里构思出完整的逻辑。以上三个方法都有助于帮助大脑构思哦!


Share this post on

Facebook Twitter