《程序员职场工具库》 学会更好地思考 —— 思维导图开篇

这是《程序员职场工具库》系列文章,在阅读本文之前,建议先阅读 《程序员职场工具库》 工具导论

引子

请思考这样一个问题:如何提一个问题,快速大概了解一个程序员的职场效能?

如果暂时没有头绪的话,可以继续阅读。

认识思维导图

谈到思维导图,相信大部分人都使用过了,即使没有使用过,那一定也看到过。

任何树型结构的内容都可以使用思维导图来构建和展现

树型结构的内容多吗?多,非常多,我们看下 XMind 默认的模板:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第1张图片

可以看到就有 9 种模板,其中有很多我们常见的:思维导图、组织架构图、鱼骨图、树型表格等等。你用过多少种?

接下来,是不是会觉得我会给大家介绍思维导图工具的具体用法?

不是的,我不会讲这些内容,如果大家想知道思维导图工具的具体使用方法的话,建议网上查找基础教程,或者浏览 XMind 官网。

还有另外一个原因,是我自己也不知道很多思维导图工具的高级用法,我没法教,我基本上就只会使用最基础的思维导图模板和功能,并不会去追求高级的配色和样式。

我想让大家认识思维导图的是,它是一个让自己专注思维、捕捉思维灵感、并让思维清晰可见的工具

我们的思维处理方式,通常可以划分为两种方式,接下来让我们分别看看。

分类&梳理

《程序员职场工具库》 工具导论 中提到过,思维导图工具是展现树型思维的,对于我们程序员来说,这非常好理解。

在数据结构和基础算法课中,还记得我们实现一个堆的时候,是使用哪个数据结构的吗?是用一维数组。

同样的,我们也可以使用一个一维列表,然后通过不断的归类和梳理,慢慢地构建出一棵思维树。

请看下面这个简单的例子:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第2张图片

我们罗列了一些水果,它们都是平等的,这是一个一维数组,从这个数组中,我们只能得出一个信息 —— 它们都是水果。然后我们通过简单的分类,得到了我们的思维树:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第3张图片

这个时候,我们多出了一个信息 —— 水果的分类,我们通过这棵思维树,可以快速地判断出来,跟我对话的人是想给我讲解一些水果分类知识的,接下来,他可能会继续深入地讲解每个水果分类的特性知识等等。

发散&联想

刚刚的 分类&梳理 是把视角放在思维树的底部来看的,从下往上得出思维树。

聪明的你,肯定很快能想到,另外一种角度就是从根节点来看,从上往下得出思维树。这种方式,我把它称为 发散&联想

同样的,我们也来看一个简单的例子,这次的开头,只有一个孤单的节点:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第4张图片

当我看到“水果”这个词的时候,我可能会想到的是什么?

我可能会想到我喜欢吃什么,不喜欢吃什么:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第5张图片

那我到底喜欢吃什么水果,不喜欢吃什么水果呢?

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第6张图片

新的思维树出来了,看到这棵思维树,我们能够快速判断出来,对方可能是准备做自我介绍了。

可以很容易理解,我们有两种思维方式可以构建我们的思维树,从上而下,或者从下而上,而往往,我们会同时使用这两种方式,当同级节点很多的时候,我们很可能需要切换到 分类&梳理 思维,当我们需要扩展和延伸我们的思维的时候,我们就会切换到 发散&联想 思维,通过不断地切换这两种思维,慢慢地构建出我们的思维结晶

思维导图的作用

《程序员职场工具库》 工具导论 中提到过,思维导图工具是一个可以撑起一个门面的工具,它有着巨大的作用。

接下来我会分别讲解思维导图的 5 大作用,希望可以让大家重新认识这个工具,并重视起来。

作用1:辅助思考

思维导图工具可以让我们专注思考和捕捉思维灵感,辅助我们进行思考。它主要通过以下 4 个方面打辅助:

  1. 记录 & 回忆。思考是一个长期的过程,它可能会持续好几天,甚至几个星期,但我们的记忆是不能长久的,我们的大脑容易遗忘事情,好记性不如烂笔头,把我们的思考记录在思维导图中,可以帮助我们回忆曾经的思考,甚至是思考过程,这一点是思维导图相对于把思考项记录在一个 todolist 这种工具要优越的地方所在。另一方面,我们不会在一个问题上一直做思考,因此有很多时候,我们会突然蹦出一个灵感出来,这时,我们可以把这些灵感简单整理到思维导图中,等待后续进行分类&梳理
  2. 查漏。思维导图能够展现我们完整的思维,让我们拥有一个全局的视角,这样方便我们检查自己的思考是否还有遗漏的地方。查漏的技巧是针对同一个父节点的一层进行查漏,每一层都要遵循 MECE 原则,进行 review 思考,检查自己的思考是否有需要补充完善的地方。
  3. 纠正。很多时候,我们再去看过去的思考,会发现错误或者已经过时的地方,这个时候,我们就能进行相应的纠正动作,让我们的思考走在正确的道路上,而这种纠正也往往需要建立在有完整的思维视角上的,思维导图能够很好地帮助我们。
  4. 启发。之前讲到,我们从上而下构建思维树的时候,利用到的就是发散&联调思维模式,这个就是启发。当我们把脑海里的所有思考都记录在思维导图中的时候,可以释放大脑的负担,让它可以专注于某一个模块上面的思考;同时,在有了一个完整思维的视角之后,更容易启发我们的思维。如果我们只关注过去,那我们永远都不会去思考未来,如果我们已经总结了过去,那我们就可以更好地规划未来。思维导图的启发作用的原理类比于此。

作用2:帮助转换自己的思维方式

作为程序员,对于一棵树的处理,我们应该是熟烂于心了。类似树的遍历有广度和深度之分,同样,我们对于事物的思考同样也有广度和深度之分。

正常来说,绝大多数人都是深度优先思考的,因为这是比较容易上手,而且打小就培养起来的思维习惯。在教别人做某件事情的时候,最常见的是第一步做...,第二步做...,直到最后。

走一步看一步,完成一步再思考下一步怎么做,这个思维方式不能说有错,因为它很直接,大部分情况下是高效的。

但是,当我们需要更好地思考的时候,往往需要的是全盘的思考为主,从大到小的思考方式,这种就是广度优先思考方式。

我们来看一个简单的例子,比如我们现在被安排了要做某个系统,我们很习惯地就会开始想怎么开发这个系统,我们有以往成熟的工作经验了:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第7张图片

我们要先做架构设计,然后先开发核心模块,开发完要自测,最后发布。

很有可能,我们在做架构设计的时候,突然想到,啊,我们需要参考业界方案,做一下竞品分析,才能设计出更好的系统;在要发布的时候,才想到,咦,我们要怎样验收呢?怎样才能证明我们的系统是能够解决问题的呢?

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第8张图片

可以看到,这个过程实际上是比较混乱的,非常典型的走一步看一步,碰到问题再思考下一步。

如果,我们转换自己的思维方式,利用广度优先思考方式,我们会这样首先全盘思考第一层:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第9张图片

我们先思考,我们要做好XX系统,大概需要做哪些事情?

嗯,我们需要先了解清楚这个项目的背景,我们碰到的问题是什么;然后要做一下分析,用户调研,竞品调研;这样才能更好地得出我们的最终目标,同时我们还要提前确定可衡量的验收标准;下一步就是我们擅长地系统实现;系统上线之后呢,我们就要给老板验收,并且收集用户使用反馈;最后我们要做一个漂亮的项目总结,给老板汇报。

有了这个大体流程之后,我们心里就有底了,这个时候,我们就可以让自己的思维更加专注于某一个模块去做深入地思考了,比如具体要怎样做背景了解。这个时候,我们就不用去思考其他模块的事情了,可以完全专注于当前这个模块,去思考具体要怎么做。

广度优先思考的方式可以让我们更好地思考,因为我们在思考某一个模块的时候,我们的大脑是放松状态的,因为我们已经记录了其他模块的事情了,我知道,我不会漏掉这个关键的步骤,待会我就会去思考那个模块的事情,现在,我可以全身心投入思考这个模块的事情。

另外,广度优先思考的方式可以防止我们钻牛角尖,太关注细节,这点往往是我们程序员最容易踩的陷阱!我们经常碰到问题,就会钻到技术细节上去,这样就很容易忽略、遗漏其他方面的事情,这样做往往事倍功半,甚至会做无用功。

首先做全盘的思考,这个广度优先思考的思维方式非常重要,特别是对于高级程序员来说,是一项必备的技能。这种思维方式是需要不断练习才能够扭转的,而思维导图工具能够很好地帮助我们转换自己的思维方式

作用3:培养一种习惯

当你喜欢上甚至依赖思维导图工具的时候,恭喜你,你已经培养出了一种非常良好并重要的习惯 —— 遇事先思考清楚

咱们是人类,所以,在做事情之前,肯定是会先思考的,但是,你确定思考清楚了吗?你的思考完整吗?你的思考是对的吗?你的思考可以被验证吗?你的思考经过验证了吗?

在程序员领域,我们有一个非常重要的原则,就是把自己的时间花在流程的越前面越有价值。但绝大多数程序员,在碰到问题、接到任务的时候,会猴急猴忙地开始去 coding,他们会快速地想解决方案,嗯,这个方案想过了,没问题,可以解决问题,那就开干吧!

但是,这个方案确定是最优的了吗?这个方案确定真得能够解决全部问题吗?这个方案还会引发其他问题吗?这些问题他都没想过,他不愿意花时间去思考更多,那么,他很有可能就会踩程序员最经典的坑 —— 返工。

遇事先思考清楚,花这个时间是值得的,而思维导图工具可以让我们更好地思考,可以帮助我们提升这块思考的效率和质量,那我们就更应该使用思维导图工具,慢慢地,如果我们养成习惯,碰到事情,首先打开思维导图工具,做一个全面的思考,然后再去执行,那你的人生将会变得不一样。

作用4:沉淀思考的方法论

思考方法论指的是针对一些通用场景的思考是有一定范式的,可以把这些固定范式整理成模板,这样,在下一次碰到同样场景的问题的时候,可以快速通过模板构建思维导图,比如上文提到过的 XX系统 的思考一样,后面再碰到另外一个系统,也差不多要思考这些维度的事情。

当然,按道理思维导图工具应该有保存模板的功能,虽然我没使用过,我一般都是直接复制,或者是直接手撸,因为这个思考范式已经深入我的脑海了。

经常使用思维导图工具,用多了,自己就会发现,有很多的思维导图都长得差不多,整体的结构是差不多的,那这些就可以总结沉淀为某一类问题的思考方法论,这些,就成为了传说中的“经验”。

作用5:更好地表达自己的想法

思维导图不仅可以辅助我们思考,还能够帮助我们更好地展现自己的思维,把透明的思维有结构,有逻辑地展现给其他人看

如何更有条理地把自己的思路讲给别人听?思维导图是个非常好的选择,可以把内心所想的整体脉络讲清楚,但是如果需要讲很多细节的话,思维导图就不太合适了,这个时候,PPT 是个比较好的选择了,但是相对于 PPT,思维导图的构建更加简单,快捷。

下面我就拿本文举例子:

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第10张图片

大家好,我计划写一篇关于思维导图工具的文章,这篇文章是属于这个系列文章的第一篇。

关于这篇文章,我主要从 3 个方面思考,首先要确定我写这篇文章的目标,然后为了达成这个目标,我需要确定这篇文章的主题,最后根据这个主题,我要构思这篇文章的内容大纲。接下来首先看看这篇文章的目标。

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第11张图片

我写这篇文章是为了推广思维导图这个工具吗?可以说是,但不完全是。

我更希望介绍我对思维导图工具的总结,主要通过以下 2 个方面:

  • 通过思维导图的特点介绍我们的思维模式
  • 围绕 帮助个人成长提升工作效率 两个方面介绍思维导图的作用

我的目标是通过分享上面的总结内容,让读者有所收获,这样才能关注我的公众号。

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第12张图片

那我要使用什么文章主题呢?

介绍思维导图工具?这个不好,不够高大上。

分享思维导图工具的使用技巧?这个放在第一篇不太合适,关于使用技巧可以放在后面的文章中介绍。

我想到了一个高大上一点的主题 —— 基于思维导图工具,学会更好地思考

《程序员职场工具库》 学会更好地思考 —— 思维导图开篇_第13张图片

于是,我确定了这篇文章的大纲。

首先,我会抛出一个问题作为引子,吸引读者。

然后,我会首先带大家认识思维导图,根据思维导图的结构特点引出我们的思维模式。

再然后,我会通过以下 5 个点介绍思维导图的作用:

  • 辅助思考
  • 转换自己的思维方式
  • 培养一种习惯
  • 沉淀思考的方法论
  • 更好地表达自己的想法

最后,我会回答最开头抛出的问题,并总结本文,重申我的主题。

我讲述完了,谢谢大家。

对着思维导图,一步一步地展现并讲述自己的思考过程,是非常有结构和有条理的。在整个讲述过程中,我同样是遵循广度优先的方式,先给出整体,再细化每个模块地讲。

尾声

想要让自己变得高效,就必须要学会更好地思考,思维导图工具是优秀的思考助手,它不仅可以辅助我们思考,还可以培养我们的思维习惯并沉淀我们的思考方法论,让我们的思考变得更加高效。

回到我们最开头的那个问题:如何提一个问题,快速大概了解一个程序员的职场效能?

我会这样问:请问,思维导图工具在你的工作中的使用率是多少?

首先这个问题不会泄露我的提问意图,是一个简单型的提问。接下来要看他们的回答。

如果低于 20%,那基本上,他的工作就像是在抛一枚硬币,好与坏只在弹指之间,听天由命。

如果是 20% ~ 60%,已经开始入门了,小有成效,但仍有发展空间。

如果是 60% ~ 80%,明白思考的力量,至少是高级工程师级别的,能够独立负责项目,并完成的很好。

如果高于 80%,有自己的做事方法论,可以自我管理,达到非常高的效能程度了。

这里的关键核心,不在于真正的使用率是多少,而是看对方对于思考的重视程度,擅于思考的人一定会使用各种工具辅助自己完成思考,并深谙思考的力量,这个数值代表了自己在工作中做思考的依赖程度,当他觉得自己在工作的时候需要经常进行全面并深度的思考,那他就会答很高的占比。

你的答案会是多少呢?

这是思维导图工具的开篇,比较偏于“道”,希望能够让大家重新认识思维导图工具,并明白它的真正意义所在。接下来我会分享一些思维导图工具的应用总结,属于“术”的部分,敬请期待。

----------------【END】----------------

欢迎加我v【longyiyiyu】,进行无负担沟通,我会

  • 长期职业发展规划指导
  • 近期工作重点交流
  • 职场解惑
  • 面试辅导

也欢迎关注公众号【潜龙在渊灬】,收获程序员职场相关经验、提升工作效率和职场效能、结交更多人脉。

你可能感兴趣的:(程序员职场程序员发展)