`
angelbill3
  • 浏览: 252910 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

【分享】《程序员的思维修炼:开发认知潜能的九堂课》读后感

 
阅读更多

《程序员的思维修炼:开发认知潜能的九堂课》
作者:Andy Hunt
ASIN: B007VARUIM

这本书对我有一定的启发,本书把本行业从业人员划分为5个等级,即新手、高级新手、胜任者、精通者、专家,并分别描述了各自的特点。对于大多数新手的自我认识会高于其实际水平,这点我深感认同。想起以前刚毕业时的自狂,刚做出一个小网站就觉得自己很厉害,所谓的初出牛犊不怕虎!现在工作几年后,接触的技术人员多了,也深感沧海一粟。本文讲到从业者的现状分布以及困惑,最后提出一些解决方法,如训练左右大脑、有效的做计划、积极的管理干扰等。
最后,正如文章的结尾说的,不管你能做什么,或者期望自己能做什么,现在就开始做!!!
PS:该作者的另一本书《高效程序员的45个习惯:敏捷开发修炼之道》在亚马逊上卖的也很好,有空拜读下。

---------------------------------------------------------------
以下是文章摘录:
考虑到社会各个相关团体的复杂交互影响和社会的持续变化,在我看来当前最重要的两项技能就是:沟通能力、学习和思考能力。

可能一个开发人员声称拥有十年的经验,但实际上只是一年的经验重复了九次,那么就不算是经验。

德雷福斯模型(Dreyfus)的5个阶段:



专家知道哪些是无关紧要的细节,哪些是非常重要的细节。也许不是有意识的,但是专家知道应该关注哪些细节,可以放心地忽略哪些细节,专家非常擅长做有针对性的特征匹配。

达尔文说过,无知往往来自于自信而不是知识。

可悲的是,研究似乎表明,大多数人的大多数技能,在他们生命的大多数时间里,从来没有高于第二阶段:即高级新手(advanced beginners)。



大多数人都是高级新手。

敏捷开发是非常有效的工具,但它不适用于一个完全由新手和高级新手组成的团队。

元认识(Metacongnitive)能力,或者自我认识的能力,往往在较高的技能层次中才会具有。不幸的是,这意味着处于较低技能层次的从业者会明显高仨他们自己的能力——有研究表明高出50%。

那么,你想成为专家是吗?你需要投入大约十年的努力,不论哪个领域。

对形式模型的过度依赖往往会鼓励羊群行为,而贬低个人创造力。

不要屈服于工具或者模型的虚假权威,没有什么可以替代思考。



很多能力就这么浪费了。

完美主义是压迫者的声音,是人们的敌人。它会束缚你的想法,毁掉你的生命,同时它也会妨碍你创建较差的草稿初案。我认为完美主义基于一种强迫性的想法,如果你足够细致,每件事情都做得很好,那你就不会失败。但事实是,无论怎么做你都有可能会失败,可是很多人即使不太仔细也会做的比你好,而且其间也会拥有更多欢乐。

我们对定论的渴望意味着我们总是努力消除不确定性,但是过早的下结论减少了你的选择,甚至可能消除了成功的选择。

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

与人交往请记住一个重要的背景信息:别人的性格缺陷肯定与你不同,当你想与人争辩时,请想一想这点:尊重不同人的不同性格。

像高级动物一样行动,请做深呼呼,而不要中张口嘶鸣。

总会有新技术或者现存技术的新版本需要学习,技术本身并不重要,持续学习才是最重要的。

正如普卢塔赫在本章开头文字中所说的,大脑不是一个用于灌输的容易而是一束需要点燃的火焰——你自己的火焰,这不是别人可以帮你做的,而是一件你必须自己做的事情。

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

如果你持续中断正在进行的任务,去检查电子邮件或者回复即时消息,你的有效智商会下降10分。相比之下,吸大麻烟卷导致下降的智商仅4分。所以无论你在做什么,请不要同时都做。

艾伦提出了技巧和窍门来帮助你更有效的处理工作:
仅扫描输入队列一次;
顺序地处理每组工作;
不要在头脑中保留清单

积极地管理干扰。

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




分享到:
评论

相关推荐

    2023年美赛特等奖论文-F-2305794-解密.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,2023年美赛特等奖O奖论文

    亚太经社会:2024年亚太贸易便利化报告.pdf

    亚太经社会:2024年亚太贸易便利化报告.pdf

    消费者价格指数下的年通货膨胀率(1960-2021年).xls

    消费者价格指数(CPI):按消费者价格指数衡量的通货膨胀反映出普通消费者在指定时间间隔(如年度)内购买固定或变动的一篮子货物和服务的成本的年百分比变化。通常采用拉斯佩尔公式进行计算。

    node-v8.10.0-linux-x86.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    网页制作基础学习--HTML+CSS常用代码.txt

    网页制作基础学习--HTML+CSS常用代码

    IEC TS 60364-8-3-2020 低压电气装置.第8-3部分:功能方面.生产用户电气装置的操作.pdf

    IEC TS 60364-8-3-2020 低压电气装置.第8-3部分:功能方面.生产用户电气装置的操作.pdf

    智能制造数字化供应链全栈解决方案.pptx

    智能制造数字化供应链全栈解决方案.pptx

    yolov5训练自己的数据集.docx

    yolov5训练自己的数据集

    Windows 10系统上安装和配置Tomcat的步骤

    附件是Windows 10系统上安装和配置Tomcat的步骤,文件绿色安全,请大家放心下载,仅供交流学习使用,无任何商业目的!

    2018美赛O奖论文C题合集.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,历年美赛特等奖O奖论文

    超级实用简洁的反色软件,支持部分区域反色!!

    超级实用简洁的反色软件,支持部分区域反色!! 界面简洁,易于使用! 源码可以联系

    2024年中国NAD+抗衰补剂行业研究报告.docx

    2024年中国NAD+抗衰补剂行业研究报告

    高德地图API+Python解决租房问题内含源码和设计文档.md

    高德地图API+Python解决租房问题内含源码和设计文档.md

    QYResearch:2023年前10大壁纸刀企业占据全球39%的市场份额.docx

    QYResearch:2023年前10大壁纸刀企业占据全球39%的市场份额.docx

    广东工业大学-数据库简答题考试试题回忆版以及答案解析.doc

    此试题是考试后回忆版本,你会发现是惊喜。恭喜你考个好成绩。

    node-v9.11.0-linux-s390x.tar.xz

    Node.js,简称Node,是一个开源且跨平台的JavaScript运行时环境,它允许在浏览器外运行JavaScript代码。Node.js于2009年由Ryan Dahl创立,旨在创建高性能的Web服务器和网络应用程序。它基于Google Chrome的V8 JavaScript引擎,可以在Windows、Linux、Unix、Mac OS X等操作系统上运行。 Node.js的特点之一是事件驱动和非阻塞I/O模型,这使得它非常适合处理大量并发连接,从而在构建实时应用程序如在线游戏、聊天应用以及实时通讯服务时表现卓越。此外,Node.js使用了模块化的架构,通过npm(Node package manager,Node包管理器),社区成员可以共享和复用代码,极大地促进了Node.js生态系统的发展和扩张。 Node.js不仅用于服务器端开发。随着技术的发展,它也被用于构建工具链、开发桌面应用程序、物联网设备等。Node.js能够处理文件系统、操作数据库、处理网络请求等,因此,开发者可以用JavaScript编写全栈应用程序,这一点大大提高了开发效率和便捷性。 在实践中,许多大型企业和组织已经采用Node.js作为其Web应用程序的开发平台,如Netflix、PayPal和Walmart等。它们利用Node.js提高了应用性能,简化了开发流程,并且能更快地响应市场需求。

    MVIMG_20240506_214323.jpg

    MVIMG_20240506_214323.jpg

    2023年美赛特等奖论文-B-2318300-解密.pdf

    大学生,数学建模,美国大学生数学建模竞赛,MCM/ICM,2023年美赛特等奖O奖论文

    数据库课程设计的概要介绍与分析

    数据库是计算机科学中的一个核心领域,它用于存储、管理和检索数据。随着信息技术的发展,数据库技术已经渗透到我们日常生活的方方面面,从简单的网站用户信息管理到复杂的企业级数据仓库系统,无一不彰显其重要性。以下是一个关于数据库的综合资源描述,旨在为初学者和专业人士提供一个全面的视角。 ### 1. 数据库基础 数据库的基础知识包括了解数据模型、数据库管理系统(DBMS)以及SQL语言等。数据模型主要有关系型模型(如MySQL、Oracle)、非关系型模型(NoSQL,如MongoDB、Cassandra)等。关系型数据库遵循ACID特性(原子性、一致性、隔离性、持久性),适用于需要高度一致性的场景;而非关系型数据库则以灵活的schema设计和高可扩展性见长,适用于大数据处理和实时Web应用。 ### 2. 学习资源 - **在线课程**:Coursera、edX、Udacity等平台提供了多门数据库相关的课程,涵盖从入门到高级的各种主题,比如Stanford大学的《数据库系统概念》课程。 - **书籍**:《数据库系统概论》(Silberschatz, Korth, Sudarsha

    《统计与数据分析基础》03数据处理.pptx

    《统计与数据分析基础》03数据处理

Global site tag (gtag.js) - Google Analytics