前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >做一个“吵架”的程序员,可能更优秀!

做一个“吵架”的程序员,可能更优秀!

作者头像
用户4044670
发布2020-03-02 10:17:35
5640
发布2020-03-02 10:17:35
举报
文章被收录于专栏:安徽开发者圈
最近我一直在思考一个问题:就算懂很多道理,读很多书,有很多见识,人这一生,就一定能过好吗?

前几天我一个好朋友打电话,他和我聊起最近一些苦恼,他最近接了一个电商项目,后台技术选型选了nodejs。我问他为啥要选nodejs,他说,nodejs很火,很多大公司的大牛都在用,还说nodejs是web领域拯救世界的语言。

结果,开发团队开始学习,开发代码,慢慢的就出现了很多问题,新手有些问题搞不定。同时也发现开发效率并不高,管理运维也十分艰难。

他现在非常苦恼,项目也停滞不前,要我帮他推荐专业的nodejs开发人员。这就是典型一个错误的跟风!

这个时候,我们需要质疑的态度,那就是批判性思维。

那么批判性思维到底是什么呢?怎么做才算拥有呢?

结合我的理解和认知,我将从以下三个方面进行阐述,文笔拙劣,欢迎各位看官斧正!

01

我们需要这种能力:批判性思维

所谓批判性思维,其实就是对待外部的输入,首先持一种怀疑的态度,过滤掉那些自己认为错误的东西之后,剩下的才是自己的。

作为程序员你肯定review过其它同事代码,review代码不是让你夸赞他代码写的有多好,而是需要帮助他找出他代码的问题,有没有符合编写规范。

在review的过程中自己也能主动思考一些问题帮助自己认知错误,也可以找到新的学习方向和突破自己思维的限制。

可见,作为程序员拥有批判性思维的能力是多么重要。不管你对编程语言有多精通,不管你写过多少行代码,如果你不能在工作当中采用批判性思维的话,你就不能做到高效地解决问题!

02

为什么需要批判性思维?

互联网信息大爆炸的时代,我们每天充斥着各种信息,但真假难辩。

比如看微信文章、使用开源代码、使用新技术,今天看到这个新技术比较好,明天又看到另一个新技术更好,但技术实现方式不一样,我们要怎样辨别所使用的新技术确实符合要求?又怎么通过信息来做出自己的选择呢?

就像我那位朋友,如果当初他对nodejs能再进一步了解,或者能跟团队进行讨论:

为什么选择nodejs?它跟其它语言对比有什么优缺点?团队能否快速接受学习这种语言?

他对于别人传递的信息虽然本着相信的态度,如果那位朋友能对此提出一些问题进行不断的证明,那么他应该不会出现这样错误的跟风。

我不想根据错误的信息作为影响自己的决定,那么批判性思维可以助我们一臂之力。

03

怎么锻炼批判性思维

加拿大阿尔伯塔大学的教授Stephen P. Norris曾提出:批判性的思维方式不是与生俱来的,需要后天的塑造。

我们可以从3方面锻炼批判思维,达到刻意练习的效果!

1

学会提问

每天我们都能从各种渠道看到各种书籍,微信公众号等,得到某种观点结论,在可有没有思考提出观点的人是具有某种专家领域资格?或者他们是不是有权威的信息来源?

那怎么样提问,提问也是有模式和方法的,WYH模型就是一套很好用的提问模式。

[what]:是什么

他说了什么,他说的是事实还是观点,事实是可以被证实的,而观点是表达情感、信念,是不需要证实的。

[why]:为什么

说话的人,说这话的目的是什么,他说话的有依据吗,他是为了美化或丑化一些人或一些事。

[how]:怎么做

他说的时候是开心,悲伤,气愤,真心……是口头说还是书面表达。

例如:你要学习一个新的技术,我们要知道新技术是什么?为什么要用新技术(优缺点)?以及在项目中怎么用?顺着这条思路去学习新技术,就很容易掌握这门新技术。

程序员不仅要学会百度,更要懂得提问!

2

换位思考

换位思考指的是站在他人的角度思考问题,从他人的前提、假设和观点进行推理,从而真正地理解他人的观点。

思维的同理心让你能理解他人的思想、感受和情感,从他人的角度出发理解他人的观点,能让我们更公正地评判他们的观点和信念。

技术是为产品服务的,而产品是要满足市场需求的。所以技术归根结底是为市场服务的,切莫舍本逐末。市场具体需要什么产品、什么功能,需要市场自己来告诉你,这不是在技术范畴里能探索出来的。

很多时候,作为程序员从技术角度关注的问题,实际上用户可能并不在意。你可能连续花了几周的时间去增加一个微不足道的功能,而这个功能可能不是用户所关注和需要的。你这时候必须站在用户角度考虑,就是换位思考!

现在大家都在强调换位思考,可换位思考真的很难做到,很多人所谓的换位思考还是站在自己的立场上去为对方思考问题,这里就不多叙述,想多了解可以阅读赵周老师的《拆出你的沟通力》。

判断一个程序员是否具备“换位思考”的能力有一个好方法,那就是看他怎样向没有技术背景的人解释技术问题。

3

高效学习

我最近在看《学会提问》这本书,书中提到了两种学习思维:海绵式思维和淘金式思维。

海绵式思维:

这种思维方式是被动的,不需要我们绞尽脑汁的苦思冥想,我们被动的吸收外部的信息。但这样我们对于林林总总的信息很难做出真假判断。

淘金式思维:

这种思维方式需要我们积极主动的参与进来,当接收到外部信息时,我们随时准备好与之辩驳,这种情况下我们拥有掌控权,对于所接收到的信息以提问的方式并从中思考如何做出辨别。

淘金式的思维就是能对于所得到的信息能以互动的方式进行批判性的提问,能从众多信息中淘出金子,得到我们想要的信息。

那么我们怎么让自己具备淘金式学习的能力呢?

前哒哒技术vp教我一个好办法“可以围绕以下几个问题来跟知识进行互动:“观点是什么?支撑它的理由或者论据分别是什么?”、“证据的可靠性有多大,推断中是否存在谬误”、“是否有其他信息被遗漏”。

然而我在学习开源框架的时,也用到这种方法,阅读了开源框架源代码之前,查看该项目是否提供架构和设计文档,然后就给自己提了一堆问题,很想了解的问题,接着下一步就是阅读源码把一个个问题给解决掉,在寻找答案的过程中,不知不觉就把这里源码翻了好几遍,而且由于我是主动学习,学习的时候十分专注,效率非常高。

关于学习和读书的一些技巧,大家可以去看看前哒哒技术vp写的《一周读7本书的秘密》《成长必须避开的5个陷阱》

总之,面对良莠不齐的信息,批判性思维技能助我们一臂之力来辨别真假。尤其在这个信息爆炸的时代,能够冷静的思考并作出正确的选择,掌握批判性思维是重中之重。它能帮助我们更好的去认识这个世界,而不会再轻易被情绪所控制。做一个清醒思考的程序员。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-02-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 安徽开发者圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档