如何突破程序员思维

2017-07-31作者:陈逸鹤, 著编辑:谢爽

在成为架构师及开始从事IT管理之前,我也是一个完全用程序员思维去进行思考的人。但我通过一些方法逐渐突破了程序员思维,相信这些方法也能给你以启发。

 

(1)透过技术发现问题的本质

 

我时常会组织开发团队做一些技术问题的讨论,但当一个问题被抛出时,比如,用户时常会在某段时间内重复地单击某一个功能,导致系统压力的上升。团队的大部分程序员都会很快给出他们的解决方案,比如,增加流量阈的控制或在用户会话中加入某些Token来防止用户的频繁重复提交等。但几乎很少有程序员会问,用户为什么会在短时间内频繁单击这个功能呢?是啊,解决问题的关键,往往不是如何通过技术手段禁止用户这样做,而是理解用户这样操作的原因,从而从根本上找出解决的办法。

 

多年的开发工作,使程序员们不自觉地首先想到如何用技术手段去解决问题,然而,真正优秀的程序员一定善于透过技术发现问题的本质。我想这就是我们突破程序员思维的第一步,也是最容易实现的一步吧。说到方法,我最常使用的是反复地追问一件事的原因,比如刚才这个例子,最终我们找到的原因只是系统没有给用户一个友好的提示,导致用户错误地认为系统并没有处理他的请求,而尝试反复点击。因此,我们的解决方案也与之前团队程序员们所提出的完全不同,只需花上几分钟,给系统加上一句友好的提示就行了。


 

(2)像专家一样给出意见

 

在很多场合下,比如,与用户沟通需求、与产品经理沟通方案时,程序员总是处于比较弱势的一方。他们只是被动地去接受这些需求和方案,然后回去将它们转换为代码的实现。

 

而那些真正优秀的程序员在与用户进行沟通时,总是试图去理解用户所提出需求背后的真正原因,因为他们知道用户往往会按照自己对问题的理解去给出他们认为正确的方案,而很多情况下,他们所给出的并不是正确或是最优的。那些优秀的程序员会站在用户的角度,认清问题,并像专家一样给出他们认为最优的方案。

 

如果你对一个问题有充分的理解,并具有足够的信心,那么你就应该站出来像专家一样给出自己的意见,这会让你显得与众不同。如果你每次提出的意见都被证明是正确的,那么不需要多久,你也会被大家认同为是一位真正的专家了。


 

(3)杂学并从中获得不同的视角

 

要做到看清问题的本质并像专家一样给出意见,其实并不简单,这不仅需要你具备极强的技术功底,更需要你对问题所涉及的相关领域有足够的认识。你必须通过大量地学习编程之外的各种知识来完善自己的知识体系,并从中获得不同的视角。

 

我经常听到程序员会抱怨用户提的需求质量有多差,设计师做的设计根本无法实现,而产品经理更是被很多程序员视为一文不值,等等。这其中一定存在一些客观的原因,但程序员无法跳出程序员思维,站在用户、设计师、产品经理的角度看待问题,也是一个重要的原因。

 

我在自学设计之后,获得的不仅仅是一项技能,对我帮助更大的是使自己能够从一名设计师的角度来看待问题,这反过来也促进了我的编程能力的提升。同样,你也可以学习某个行业的知识,即使你无法成为这个领域的业务专家,但这些知识能够帮助你更好地理解用户的需求,从而得到更优秀的技术解决方案。这也是为什么我总是鼓励身边的程序员们去尝试学习除编程之外不同东西的原因。


 

(4)找回创造力

 

虽然编程是一项脑力活动,但程序员们可能都知道,在大多数情况下这并不需要我们发挥创造力。也就是说,我们在按部就班地完成那些开发工作的同时,也正在失去我们的创造力。

 

创造性地解决问题是优秀程序员所需要具备的能力,但我恰恰发现很多具有多年编程经验的程序员,他们的思维却好像受到了禁锢似的,只能凭着那些已经有些过时的经验去给出他们的方案,而很难创造性地去解决问题。

 

其实,有很多方法都能让我们找回创造力,关键是你是否愿意坚持那样去做。而我的方法也很简单,每天进行阅读,每周写一篇博客记录自己想到的东西。另外,我也有一本小本子用来记录那些转瞬即逝的想法,虽然有些看起来是那么不切实际,但我都会把它们记录下来,没事的时候就去翻翻,这个过程中我可能会得到一些不错又可行的新点子,然后,我再尝试着花些时间把它做出来。虽然,它们中的大部分都不会产生什么实际价值,但我知道下一个优秀的创意或想法,可能就来自于它们。

 

突破程序员思维并不是要摒弃它,恰恰相反,突破正是建立在成熟的程序员思维之上的,这将帮助程序员以更全面的视角去思考和解决问题,同时也能为程序员这个职业创造出更多可能。


内容来源:书问

作者陈逸鹤
出版清华大学出版社
定价49元
书籍比价

分享到

扫描二维码 ×

电子纸书

程序员的数学思维修炼(趣味解读)

周颖 等
清华大学出版社[2014] ¥20

创新设计思维——设计思维方法论以及实践手册

鲁百年
清华大学出版社[2015] ¥32

高级英语写作突破:思维和策略

杨桂红、韩丽
清华大学出版社[2016] ¥29

火线高考——高考物理考点分类模拟、实战、突破

王后雄、陈国庆、江向东
清华大学出版社[2015] ¥43

火线高考——高考化学考点分类模拟、实战、突破

王后雄、陈国庆、夏春松
清华大学出版社[2015] ¥38

火线高考——高考数学考点分类模拟、实战、突破(参考答案)

王后雄、陈国庆、宋春雨
清华大学出版社[2015] ¥38

SAS技术内幕:从程序员到数据科学家

巫银良
清华大学出版社[2018] ¥101

程序员修炼之道——程序设计入门30讲

吕云翔、傅义
清华大学出版社[2018] ¥45

程序员的自我修养

陈逸鹤
清华大学出版社[2017] ¥32

出版业领先的TMT平台

使用社交账号直接登陆

Copyright © 2019 BookAsk 书问   |   京ICP证160134号


注册书问

一键登录

Copyright © 2019 BookAsk 书问   |   京ICP证160134号