程序员的思维修炼 开发认知潜能的九堂课

清晰的表述专业技能十分困难
实用主义(pragmatism)的本质就是做对你有用的事情

从新手到专辑的历程

德雷弗斯模型5个阶段

1.新手需要指令清单
新手没有经验(如果一年的经验重复了十年,这不算十年的经验),不知道自己的行为是否正确,他们很在乎是否成功,只想实现一个立竿见影的目标,他们不知道如何应付错误,但是如果给新手提供与情景无关的规则去参照,他们就会变得能干起来(当X发生时,执行Y)
规则只能让你启程,不会让你走的更远

2.高级新手不需要全局思维
高级新手可以独自尝试任务,当任然难以解决
当学习一门新语言时,你会快速的浏览文档,你不想在此刻寻根究底

3.胜任者能够解决问题
胜人者可以独立解决自己遇到的问题,并开始考虑如何解决新的问题(那些他们之前没有遇到过的问题)
胜人者会探寻和解决问题,通常被认为“有主动性”和“足智多谋”

4.精通者能够自我纠正
精通水平的从业者需要全局思维,他们能纠正以往不好的工作表现,期望下次表现的更好
精通者有足够的经验,他们知道什么地方可能出错,下一步会发生什么,如果没有发生又需要改变什么。

5.专家凭直觉工作
专家是各个领域知识和信息的主要来源,他们总是不断的寻找更好的方法和方式去做事,他们有丰富的经验,可以在恰当的情境中选取和应用这些经验,他们可能对如何得到结论完全说不清,只是“觉得是正确的”

现实中的德雷弗斯模型

新手使用与情境无关的规则,专家使用与情境相关的直觉,规则断送专家
新手能力差,信心十足;专家愈发谨慎,自我怀疑。

新手到专家

  • 从依赖规则向依赖直觉转变
  • 观念的改变
  • 从问题的旁观者变为问题涉及的系统本身的一部分

现实生活中,大多数人的大多数技能,在他们生命的大多数时间里,从来没有高于第二阶段 高级新手,“执行他们需要做的任务并根据需求学习新任务,但是从来没有对任务环境获得更广泛的、概念上的理解”。

正确自我评估的唯一办法就是提高个人技能层次(元认知metacognitive能力,自我认知能力)

二阶不胜任(second-order incompetence):不知道自己不知道多少

专家并不总是最好的老师,教学是一门技能,你在某个领域是专家,这并不能保证你可以把他教给别人

有效的使用德雷福斯模型

勇于承担责任(我只是执行命令,是无用的)

通过观察和模仿来学习(模仿、吸收、创新)
如果你有孩子,你可能注意到他们很少照你说的做,却总是模仿你的所作所为

没有实践就没有技能,没有什么东西可以代替实践
在实践中保持技能,保持实践以维持专家水平

《高效程序员的45个习惯》

警惕工具陷阱

规则无法告诉你在某种情况下应该采取的最合适行为或者正确路线
良好的问题解决能力对我们的工作很重要,但解决问题的是一件很难形式化的事情,你无法对创造力和发明限定时间。
针对新手创建一套工作方法,对经验丰富的团队成员来说,你会建立一个恶劣的工作环境
阐明太多细节会适得其反,无限倒退(infinite regress)
把复杂的局势过于简化,每个项目、每种情况都“按部就班”更复杂
同样的标准不可能放之四海而皆准
形式方法针对典型情况,而不是特殊情况
什么时候适合打破规则?你如何知道?(在遵从规则和自行判断之间犹豫)
语言表达如果过于口号化,就会变得微不足道,并最终完全失去意义
不要屈服于工具或模型的虚假权威,没有什么可以代替思考

认识你的大脑

从你出生的那一刻起,大脑就开始运转,只有当你站起来向公众演讲时才会停止
运用类比,我们的大脑就是 双CPU,1号CPU主要负责线性、逻辑思维、语言处理,按部就班的处理指令。2号CPU就是大脑中的Google,负责处理搜索和模式匹配,当你“思考”其他事情时,它可以去搜索,然后异步返回结果集,可能数天后。每次只有一个CPU可以访问内存。
1号CPU的线性处理风格称为线性模式 L模式
2号CPU的异步、综合处理风格称为富模式 R模式

你可以立刻认出大量熟悉的人的面孔,无论他们是否改变了发型、穿着、体重,还是过了20年

你的每一次经历,不论多么平淡乏味,都会被存储,但是它不一定被索引,如某个清晨你驱车上班,然后突然意识到你记不起刚刚过去的十分钟的驾车过程?大脑认为那些不是非常有用的数据,所以没有建立索引或者指针,这导致想要回忆那些过程有点困难。

随时记录想法,每个人都有好点子,但很少有人付诸行动

L型特点:语言、分析、符号、抽象、时间、推理、数字、逻辑、线性思维
R型特点:非语言、非理性、综合、空间性、具体、分析、直觉、全面、非线性

R型看森林,L型看树木

利用右脑

增加感官体验以促进大脑的使用
如果想法过早的受到束缚,那么创造力就会扼杀;如果你还没有全局的概念就视图记忆细节,那么学习就会陷入僵局
不要太着急,解决问题时,学会轻松面对不确定的事情。进行创造时,坦然面对荒谬和不切实际的东西。学习过程中,不要太迫于学会和记忆,首先适应他。试着先理解其意思,掌握主旨思想

TODO: 未完待续

本文标题:程序员的思维修炼 开发认知潜能的九堂课

文章作者:史彦超

发布时间:2017年06月16日 - 16:06

最后更新:2021年07月20日 - 16:07

原始链接:https://doingself.github.io/2017/06/16/2017-06-16-%E7%A8%8B%E5%BA%8F%E5%91%98%E7%9A%84%E6%80%9D%E7%BB%B4%E4%BF%AE%E7%82%BC-%E5%BC%80%E5%8F%91%E8%AE%A4%E7%9F%A5%E6%BD%9C%E8%83%BD%E7%9A%84%E4%B9%9D%E5%A0%82%E8%AF%BE/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

Donate comment here