以人为本 我知道的最好的程序员总是把人放在第一位。他们明白他们是在为人写软件,即使那只是一些复杂系统的后台程序或协议,除了程序员没有人会用到它们。他们写文档,因为这很重要。他们帮助其它人如何使用自己的程序代码。他们愿意付出更多的努力去解决更复杂的问题来让人们以正确的方式使用他们的软件。
对学习有很大的胃口 神奇的程序员对知识有一种可笑的饥渴感。他们总是对你说一些新的、有趣的东西。他们习惯于大量的阅读(不论在线的还是线下的),他们喜欢尝试,从中学到经验。他们对新出现的语言和平台毫不担忧恐惧。
掌握问题规律的本领 当你做开发有了一段时间后,你会发现有时出现的问题和你曾经处理过的问题看起来惊人的相似。能够识别这些问题,把过往的解决方案应用到你当前的问题上,这是一个很有用处的本领。如果每次都能改进这个方案,那是更好了。
有一点神经质 我弟弟在高中时上了一次Python课,当我问他是否喜欢这课时,他说我脑袋一定出问题了才去愿意当一名程序员,他说编程是他这辈子子做过的最无聊的一件事。从某种程度上讲,他是对的。大多数的日子里我是对着计算机说话,而不是人。想到这些要把一行一行的基本的长长短短的语句拼成一个软件,我不由的打了大大一个冷战。并不是所有的人都喜欢做这种事情,但是我知道的最优秀的程序员绝对是热爱制作软件的。
执着 软件开发是一个实际上比任何人的想像都要缓慢的开发过程。它很费时间。有时候你必须要有最够的耐心去精雕细琢出你需要的代码。有时,作为程序员,我们会写出非常有趣的代码,但也有时候,我们不得不哭丧着脸去写一大堆过去曾经写过的代码。想想伟大的程序员之所以能坚持下来,是因为他们能看到他们所从事的事业的大蓝景,他们喜欢这一点一点走向目标的开发过程。这就是我想到的构成一个优秀程序员的一些特征,但这并不是全部,所以我想听听你的观点。你认为是什么使一个程序员变的优秀?