原文地址 https://dzone.com/articles/ho...

作为程序员,最重要的资本之一就是具有批判性思维的能力。不管你对编程语言有多精通,不管你写过多少行代码,如果你不能在工作当中采用横向或创造性的思维的话,你就不能做到高效地解决问题,或者用巧妙的方式来实现新的功能。

批判性思维是与众不同的,你不能像学习编程语言一样来“学习”它。它是一种软技能,只能随着时间推移来培养,通过一些微小的策略性思考来积累,而不是像学课程那样就能学到。

怎样锻炼批判性思维

作为一般水平的程序员,通过采用下面列出来的这些策略,可以在改进批判性思维方面收到很好的效果:

  • 利用脑图工具。首先要学会通过将思考过程具象化,来发掘新的信息,令自己在面对问题时,思考能更加的抽象化。比如你碰到难题,可能东一个想法西一个想法,但是如果你在脑图里面把它们都列出来,归一下类,那么你一眼就能看出这些想法有什么关联,各自有哪些欠缺,甚至引导出新的想法。这就是在更高更抽象的层次上看待问题。
  • 尝试从别人的角度看问题。这也叫“横向思维”、“跳出限制思考”,是一种最简单的批判性思维。我们的思考方式通常会受到自身感知、经历和偏见的限制;而要摆脱这些限制,最好的方式就是站在他人的视角去看待问题。这么做很简单,你就直接从与这个问题相关的人当中挑一个,也许就能发现自己之前忽略的方面,或者看到一个新点子。
  • 考虑动机。接下来要做的就是后退一步,思考被这个问题所困扰的人们各自的动机。比如说客户提了个需求,这个需求基本上做不到,这个时候就要想想客户提这个需求的动机是什么,是不是可以有一种可以实现的替代方式,来满足客户的动机。
  • 养成多问问题的习惯。很多时候你可能觉得自己知道是怎么回事了,觉得自己对这个问题了解的很充分了,但永远不要嫌自己知道的太多。哪怕是问最基本的问题,得到的回答也可能会让你发现,自己原来还有一块地方没有想到。比如在询问项目交付期限的时候,你可能听到一些次要的对时间点的要求,这些要求可能会让你重新安排项目开发。你问得越多,得到的细节越充分,你就可以利用这些信息来制定一个独特的解决方案。
  • 把东西列出来。比如说你手上有若干可选方案,你可以把它们各自的长处和缺陷列出来。这个过程会强迫你思考每种方案可能会带来什么结果,并且让你在接下来能有个一目了然的参考。你还可以把每种方案里的每个步骤写出来,把每个难点里的细节难点都列出来。你最终的目的是要把想法都呈现出来,以便对问题的每个点都考虑得更透彻。
  • 假设自己错了。我们平时得到一个想法或结论时,通常会认为这是对的,于是只会去找支持这个想法或结论的证据。这有点自欺欺人的味道。所以我们可以先假设这个想法或结论是有问题的,以此出发去搜寻对立的证据。如果找到了,这就说明你的想法确实有问题,需要改进;如果没找到,那会让你对这个想法更有信心。
  • 在身边放置一些抽象素材。批判性思维要求你具有更高的抽象思维和创造性思维能力。最好的点子经常是一下子冒出来的,比如突然把两个毫不相关的事物联系在一起。这样的灵感你不可能想来就来,但你可以给自己创造一个能触发更多灵感的环境。在身边放置一些抽象艺术品,一些音乐,或其他一些帮助促发灵感的东西。坐在靠窗的位置也是不错的,看看窗外可以帮助你放松和发散思维。

熟能生巧

批判性思维需要长期地不断地应用,才能不断提高。而且它是没有上限的。所以我们应该不断地激励自己去思考新的点子,将自己置身于要求不同心理技能的场景当中。你在培养自身认知灵活性和思维多样化上所花的时间越多,你的工作将会变得越轻松。

程序员怎样锻炼批判性思维相关推荐

  1. 程序员怎样锻炼编程思维(学习方法)

    1.明确学习目的 学习编程对大多数IT业人员来说都是非常有用的.学编程,做一名编程人员,从个人角度讲,可以解决在软件使用中所遇到的问题,改进现有软件,可以为自己找到一份理想的工作添加重要得砝码,有利于 ...

  2. 程序员的数学---数学思维的锻炼

    第三章: 余数–周期性和分组 星期问题 来看一道简单的题目:今天星期日,那么 100 天以后星期几? 这个问题最笨的方法就是数数了.不过那样也是颇为费事,从余数方向考虑:一个礼拜 7 天,100 天等 ...

  3. 创业-程序员独自5大思维障碍

    程序员是最容易创业的,或者说是创业成本最低的职业.只要有一台电脑和投入自己的时间,就可以写出畅销天下的软件,这是每个程序员的梦想.更何况世界首富常年以来就是程序员出身的比尔盖茨,这也刺激了更多的程序员 ...

  4. 低效能程序员的行为与思维

    排过序 不写单元测试. 不主动学习,不看书. 总是拿没时间作为借口. 不会做任务拆解,也没有记录拆解的任务. 做事没耐心. 不 Review 自己的代码,做过的事情,犯的错误. 从不了解架构,不了解设 ...

  5. 顶尖程序员的五种思维模式,值得学习

    <THe Effective Engineer>的作者Edmond Lau采访了很多硅谷顶级科技公司的顶尖软件工程师.他发现这些给世界带来巨大影响的的工程师们至少有以下5个共同的思维模式. ...

  6. 顶尖程序员的五种思维模式,你具备吗?

    <THe Effective Engineer>的作者Edmond Lau采访了很多硅谷顶级科技公司的顶尖软件工程师.他发现这些给世界带来巨大影响的的工程师们至少有以下5个共同的思维模式. ...

  7. 程序员的几个思维惯性

    这些感受是本人这几年嵌入式软件开发的点滴积累.有些是切身体会, 有一些是感悟,也有一些只是见闻. 1."怎么可能". "程序出问题时,他会说:这怎么可能,我的程序前几天还 ...

  8. 程序员必备的商业思维:君子也要言“利”!

    子曾经曰过:"君子喻于义,小人喻于利.",于是乎,当众谈钱似乎成了读书人羞羞的事情.仿佛一谈利,自己就变成了小人.或者说,至少不是君子了.很显然,这样的逻辑是完全没有道理可言的,没 ...

  9. 程序员管理思维修炼,只需要反复阅读本篇

    " 一个技术精湛的程序员,只要有机会,就有可能被公司提拔为项目管理人员,掌控项目中的一切. 图片来源于Pexels 但所谓权力越大责任越大,要想成为一个合格的项目管理人员,我认为最重要的首先 ...

  10. 大牛告诉你,只有突破程序员思维,才不会沦为码农!

    过去我曾一直认为程序员是依靠他们的技术在编程,也是因为技术使得程序员的水平有高低之分,但随着我写代码的时间越来越长,也接触到更多的程序员,我渐渐发现程序员们其实是依靠他们所特有的程序员思维在进行编程的 ...

最新文章

  1. 小米云能同步到华为手机上吗_有没有小米还没涉足的产业?对标百度网盘,小米云盘即将上线...
  2. nginx的反向代理及负载均衡
  3. arcgis python-ArcGIS Python 资源收藏
  4. 讲mysql执行流程书籍_MySQL 基础架构 1. 一条SQL查询语句的执行过程(个人学习笔记)...
  5. python语言中with as的用法使用详解
  6. 实时远程医学影像服务质量保障与网络优化
  7. 更了吗?Windows 11 22000.184 推送
  8. linux下的静态库与动态库
  9. Excel中Countif()函数运用技巧
  10. initramfs 工作原理
  11. 您的浏览器缺少对java的支持_windows10 登录vpn提示:您的浏览器没有得到JVM支持。请安装JVM1.5或以上版本--解决方案...
  12. SQL NOTE-VARIABLE
  13. layer.msg回调函数
  14. 使用canvas上传图片+上传进度
  15. 使用redis做缓存处理时出现的问题
  16. 红帽linux开启vnc服务器,红帽Linux上使用VNC
  17. IT大学生成长周报 | 第 1 期
  18. mc洪磊-2012经典语言大合集 音乐无处不在 老婆无人替代 好听音乐 就用酷狗
  19. 让复杂Json数据和对象自由转换 --- Gson
  20. macbook无法下载软件问题解决

热门文章

  1. 鲜为人知的合作:锐捷和juniper、联想和三茗
  2. 常用数据手册(Datasheet)下载网站
  3. DOS编写脚本常用命令整理
  4. ubuntu18.04安装谷歌拼音输入法(Google Pinyin)
  5. SSM+汽车销售平台 毕业设计-附源码171619
  6. QQ空间自动删除说说的js脚本(亲测有效)
  7. 计算机键盘如何打字课件,电脑键盘打字入门基础.ppt
  8. Android 源码结构简介
  9. 【android】网络定位服务NetworkLocationProvider
  10. 一文带你弄懂 CDN 技术的原理