优秀程序员最重要的两个能力
【回复“1024”,送你一个特别推送】
我之前,应该是好久了,写过一篇文章就是:程序员的核心竞争力。但是我现在回想看来,感觉之前写的不是很准确。或者说随着自己经验和阅历的增长,对于程序员的核心竞争力有了新的理解。
我之前说程序员的核心竞争力是两点:学习能力和责任。感觉那时脑袋抽筋了一样,怎么会把责任放到核心竞争力的呢?态度的问题,不应该是核心竞争力,它不是不可替代的一种能力。
现在,我对程序员核心竞争力的理解其实很简单,其实也不是应该算是核心竞争力了,应该是一个优秀程序员应该具备的能力,我认为是如下两点:
解决问题的能力和持续的学习能力。
解决问题的能力
其实放眼望去,程序员在工作过程中经常在干的一件事是什么?我用脚丈量得知,大概估计认为:程序员至少60%的精力都在解决问题上,而解决问题80%的时间都是在解决逻辑和 Bug 当中。所以,我认为一个好的程序员解决问题的能力绝对很强,而解决问题的能力不仅仅可能只靠自己经验的积累,而且有时需要一定的敏锐嗅觉一般的天赋。
很多人都有开发能力,编程能力,但是解决问题的水平确实一般。除了用搜索引擎意外,好像不知道其他解决办法了?现在可以说绝大多数的程序员离开了 Google ,百度之类的搜索引擎,都没有编程能力,更没有了解决问题的能力了。这时思考一下自己,是不是这个情况呢?
所以,解决问题的能力的提升真的很重要。你掌握了这个能力,并且可以很好的解决问题,其实说明你编程水平已经很高了。
持续的学习能力
我在之前的文章中说过了,程序员的核心竞争力包含了学习能力,现在我的认知感觉是:持续的学习能力。而且这次我把学习能力放在了解决问题的能力之后。是因为我认为解决问题的能力是绝对核心,而学习能力是辅助,现在持续的学习能力是引擎。
一般来说,学习能力的强弱决定了自己技术知识的基础能力,而解决问题的能力是工作中不可或缺且尤为重要的必杀技,而持续的学习能力是让你的必杀技,技术知识更上一层楼的发动机啊!
现在的技术发展太快,一年更新迭代不知道有多少回?你说没有个持续学习能力行吗?干这行,真的是老了也得有年轻人的心态才行,活到老,学到老。
论程序员的核心竞争力或者优秀的程序员应该具备哪些能力?你认为是什么呢?欢迎大家留言跟我一起交流探讨。