Luna思 | 优秀程序员的十大共性

January 14, 2021 字数 1528 4 min


0. 前言

在没有进入 IT 这行之前,我对于程序员的理解是:

  1. 数学很好
  2. 逻辑很强
  3. 非常聪明
  4. 有创造力

这些品质看起来都是跟天赋相关的,但是我通过对身边大神的观察,发现他们除了以上几点之外,还有一些共同的、普通人也可以培养的品质,本文就来稍微总结一下我的观察。


1. 优秀程序员的品质

1. 细心

程序员其实是一个细致活,假如大小写弄错,标点符号忘记加,甚至多打了一个空格,都有可能导致程序出现错误。

好的程序员往往是非常细心的,观察力很强,比如能看出 ,的区别。

在 debug 的时候,细心也是一个极其重要的品质,假如漏看了一行重要的代码,就可能会漏掉一个逻辑错误。

对待自己的代码,好的程序员都有一种工匠精神,不会潦草地写 commit message,不会提交没有美化格式的代码,也不会给变量取一些没有实际意义的名字,让别人看不懂。


2. 耐心

程序员不光需要细心(能发现问题),还需要极大的耐心去了解问题是如何出现的,要如何去解决,以及如何测试问题是否真的得到了解决。

你可能需要花大量的时间去找到问题,然后再去查各种资料,了解问题出现的原因,有时候一个看似简单的问题也要花费很久才能找到一行有问题的代码。

优秀的程序员往往有极大的耐心和兴趣去重复这样的事情,这其实是个心态问题。

​而有一些程序员则在遇到问题时经常显得不耐烦,不愿意花时间去钻研,这些就是反面教材啦~


3. 乐于接受挑战

在日常的工作中,程序员有时需要紧急解决一个重大的问题,有很大的时间压力,在这种情况下,千万不能做逃兵。在看到问题的时候,怀着一种积极的心态,运用自己的经验和知识去接受挑战,解决问题,并以此为乐,是所有我见过的优秀程序员都拥有的品质。

举个例子,曾经有个老的项目在修改的时候出现了一些没有任何人见过的问题,大家都被卡住了,一筹莫展。但我没想到的是,在两个月之后,某位同事还在研究这个项目,并且最终把问题修改掉了。

对于这样的同事,我真的是大写的佩服。我也从他们身上学到了:优秀的程序员从来不会被问题所打倒,即使今天解决不了,也不会让这个问题就这么过去,TA 会一直去思考不同的方法,并且最终解决问题。


4. 快速读代码的能力

大型的项目是多人合作完成的,程序员不可能了解每一行代码,但是优秀的程序员总是能从几百行代码里面找到最重要的那部分,并且还能在第一次看到代码的时候,就边按下拉按钮边解释这段代码到底在做什么。

代码阅读理解能力是优秀程序员的必备技能。

另外,优秀程序员往往有很好的沟通表达能力,能把复杂的问题用简单的话表述出来,让别人能理解。


5. 工具使用能力 + 动手能力强

我身边的优秀程序员都能熟练使用编辑器或者 IDE 的各种快捷键,当然啦,网络检索能力也很强,能快速找到自己需要的信息。

并且他们都很擅长去写 demo,快速验证自己的想法是否正确。


6. 谦虚 + 乐于助人

我发现越是真正有实力的程序员,越是谦虚,他们从来不说自己有多么厉害,甚至在帮助我解决了难题之后还会鼓励我:“我相信你只要花点时间也能解决这个问题的。”


7. 努力

大神的能力不是天生就有的,你可能会发现那些优秀的程序员比你还努力……


8. 大局观

优秀的程序员会从项目整体、公司目标、客户需求多方面进行考虑,而不是简单地认为,我只要把自己的事情做好就行了。


9. 责任心

好的程序员会有主人翁的精神,假如自己负责的功能出了问题,第一反应一定不是甩锅,而是去着手解决问题。

即使不是 TA 负责的功能,只要 TA 有余力就会去协助。


10. 刨根问底

大神会去理解问题,而不是满足于当下问题的解决,并且会愿意给别人解释问题的原理。

当他们有不懂的地方,他们也会花时间去理解这个东西到底是怎么回事,而不是简单的满足于知道结论或者道听途说,比如【xx 告诉我这个东西是这样的】。


2. 结语

以上 10 点就是我身边优秀程序员的共同品质,你身边的大神是这样吗?欢迎分享你的观察~


Talk to Luna


Support Luna