..

《程序员的思维训练》读书笔记

技术从业人员的五个级别

书中开篇介绍一项技术领域的从业人员,大体可以分成五个级别:新手,高级新手,胜任者,精通者,专家。从名次表面就很好理解这五个级别所代表的意思。有意思的地方在于现在国内的大型互联网公司内部,技术人员的职级分类也是如此:初级工程师,工程师,高级工程师,资深工程师,专家。文中列举了一些各个级别的人的一些有意思的特征,如新手非常在乎他们是否成功,新手不是特别想要学习,他们只是想要一个立竿见影的效果,如果出错,他们非常容易慌乱。高级新手能够根据过去的经验,逐步在正确的情景中采纳建议,但他们不想要全局思维。胜任者是可以独立解决问题,并开始考虑如何解决新的问题,胜任者的工作更多的是基于谨慎的计划和过去的经验,如果没有更多的经验,在解决问题时,他们难以确定关注哪些细节。精通者能够纠正以往不好的工作表现,他们会反思以前是如何做的,并修改其做法,期望下一次表现得更好,如此,自我改进就会出现。专家根据直觉工作,而不需要理由,专家的数量很少,大概占总人数的1%~5%。

而要想而从新手一步一步升级成为专家,自身要发生如下三个重要变化才行:

  • 从依赖规则向依赖直觉转变
  • 观念的改变,问题已不再是一个相关度等同的所有单元的集合体,而是一个完整和独特的真题,其中某些单元是相关的。
  • 最后,从问题的旁观者转变为问题涉及的系统本身的一部分。

然后,令人沮丧的是,研究表明,大多数人的大多数技能,在他们生命的大多数时间里,从没有高于第二阶段高级新手,这里的大多数指的是70%的人。

大脑的两种思考模式(L & R)

书中第二部分介绍了大脑两种思考模式,L模式-线性模式,R模式-富模式。R型对直觉。L型让你细致工作并实现目标。要想获得最佳性能,需要两种模式协同工作。

L型提供以下9种能力:

  • 语言能力
  • 分析能力
  • 符号能力
  • 抽象能力
  • 实践能力
  • 推理能力
  • 数字能力
  • 逻辑能力
  • 线性思维能力

这些都是白领们,信息工作者和工程师们最渴望的本领。上学的时候测验也是这些能力。

R型提供的能力:

  • 非语言
  • 非理性
  • 综合
  • 空间性
  • 具体
  • 直觉
  • 分析
  • 全面
  • 非线性

R型是非语言的,注重整体的,直觉的,跳跃的,这些特点似乎更适合艺术家。但R型的类比和整体思考方式对软件架构和设计非常有价值,好的设计就是由这些组成的。R型还负责综合,而综合是一项非常强大的学习技术。乃至于麻省理工学院媒体实验室创始人建议,真正想要了解一只青蛙,传统的解剖不是办法,更好的方式是构造一直青蛙。(联想到软件开发中,如果想真正搞透某个模块,重造轮子应该是最好的方式)。

接着书中谈到相对于L型,为何R型也如此重要。一家公司的产品是否能够成功,R型思维起到很重要因素。因为R型管理美学,而商品化意味着美学品味的竞争。**作者强调产品的设计胜于功能,是否有吸引力很重要。**好的设计,会给用户带来积极的情感,而积极的情感对学习和创造思维非常关键。处于“高兴”的状态可以扩展你的思维过程,激活更多的大脑物质(意味着用户从产品获取到快感,成就感,自然就会愿意使用产品)。

当然了,美学不仅仅指的是用户界面,产品的Logo,也包括代码和注释的布局,变量名的选择和桌面的整理,还有其他领域的方方面面。(此时,想起了乔布斯的那句“It’s all about the taste")

##如何利用L型和R型协同工作## 然后书中第四章介绍了如何利用右脑,也就是如何促成R型到L型的转换。其中我觉得很有意思的是酒醉写作,酒醒修改。因为酒醉的时候,你拥有自由的创造空间,不受“常识”或者“实用”束缚,可以尽情发挥自己的创造力或随后抛掉那些荒诞的东西。

下面是举了几个关于 L 型和 R 型协调工作的其它几种方式:

  • 结对编程:工作时,一个人用L型,一个人用R型
  • 隐喻相通:隐喻,语言和意像共同的地基,是在左右脑半球之间,在潜意识和意识之间来回游弋的途径。隐喻时一种激发创造力的强大技术。
  • 并列参照系
  • 幽默:幽默既不是浪费时间,也不是无害的消遣,而是反映了思维,学习和创造所必需的重要能力。他与联系有关。幽默产生于在不同的想法中制造新奇的联系。在任何情况下,幽默的能力都来自于发掘或扩展常规之外的关系,真正突破思维界限。

文中还有一段关于外向和内向的人讨论。外向的人乐于与人交往并参加社会活动。内向的人则不是,他们具有领地意识,需要私人的精神和环境空间,内向的人从独立的活动中获得力量,厌倦社会活动。百分之七十五的人偏于外向型,剩下百分之二十五的人则希望单独呆着。

##学习

在当今技术和文化环境下,学习能力可能是成功的最重要因素。它决定了你是“大获全胜”还是“勉强通过”。

  • 技术本身不重要,持续学习才是最重要的。
  • 学习不是强加于你的,而是需要你主动做的事情
  • 仅仅掌握知识,而不去实践,没有用
  • 随机的方法,没有目标和反馈,往往会导致随机的结果

那如何在现实中使学习更有效率?需要使用SMART目标和实用投资计划管理目标和计划。

SMART 代表具体的,可度量的,可实现的,相关的和时间可控的(Specific,Measurable,Achievable,Relevant,and Time-boxed)。

  • 具体的:一个目标任务应该是具体的。也就是说,只说“我想学习swift”是不够的。应该把事情具体化,例如“我想要用Swift编写一个记账软件”
  • 可度量的:如何知道你何时完成?为了努力实现目标任务,不管采用什么办法,你必须能够度量它。可度量的与具体的相辅相成。很难度量笼统抽象的事物,但是很容易度量具体和详细的事物,只要使用确切的数字即可。如果你认为无法度量自己的目标任务,那么可能它还不够具体。“写一部小说就像在黑夜里开车。你只能看到车灯照亮的部分,但是你却可以走完整个旅程”。你不必看清你去往何处。不必看清你的目的地和沿途的一切。你只需看清面前的一两米即可。
  • 可实现的
  • 相关的:目标需要相关,需要在你掌握之中
  • 时间可控的:没有期限,目标会逐步衰退,永远被每天更紧急的事情所排挤。

##管理知识投资

  • 制定具体计划:制定计划就是巨大的进步。计划要具体,要运用SMART目标理念,要为不同时间段设计不同层次的目标。记住艾森豪威尔将军对我们的建议:作计划比计划本身重要得多。
  • 多样化:不要把所有的鸡蛋放在同一个篮子里,需要很好地组合语言,环境,技术,行业和非技术领域(管理,公共演讲,,人类学,音乐,艺术,等等)
  • 主动投资:需要客观地按天来评估你的计划,如实地判断运行状况。
  • 定期投资:需要定期投资最低限度的时间量,养成一种习惯。并非每期学习都同样富有成效,但是只要定期安排学习,长期来看一定会成功。

##控制注意力

在我们生活的这个信息丰富的时代,过多的信息导致了知识和注意力的匮乏。置身于应接不暇的信息中,很容易失去思考的重心。要更好地管理自己的思维需要从以下三个方面做起:

  • 提高注意力:可以通过冥想来提高自己的注意力。关于如何冥想,文中提到的是,打坐,然后所有事情就是注意自己的呼吸。详细的步骤需要自身对着书中的介绍去实践。
  • 管理知识:使用wiki
  • 优化当前情境:多任务处理对生产力会造成重大损失,记住,无论你做什么,请不要同时都做,避免分心。

改变

一些帮助我们管理有效改变的建议。

  • 制定计划
  • “不作为”是敌人,而“错误”不是
  • 给新习惯适应的时间
  • 信念是真实的
  • 采取步步为营的细小步骤

最后,选择开始做什么并不特别重要,重要的是主动尝试学习到的知识,做出改变。

不管你能做什么,或者期望自己能做什么,现在就开始做。勇敢可以给人智慧,力量和神奇。现在就开始做吧。 --歌德

以上是我读书过程中做的一些书摘。作为一个软件从业人员,我对文中作者的很多观点都很是赞同,对这本书也有点相见恨晚的味道。读这本书的时候,最重要的环节就是尝试去做书中提到的种种实践;就像我们在研究一门新的技术的时候,重要的一环是用新技术去解决某个问题。这种学习方式是我从业以来一直惯用的方式。 很好的一本书,值得推荐给别人去看,不论这个人是不是程序员。