测试人生什么原因成就了一位优秀的程序

  这些年我曾和很多程序员一起工作,他们之中的一些人非常厉害,而另一些人显得平庸。不久前因为和一些技术非常熟练的程序员工作感觉很愉快,我花了一些时间在考虑我佩服他们什么呢?什么原因让优秀的程序员那么优秀,糟糕的程序员那么糟糕?简而言之,什么原因成就了一位优秀的程序员呢?

  根据我的经验,成为一个优秀程序员同年龄,教育程度,还有和你赚多少钱没有任何关系。关键在于你的做法,更深入地说,就是你的想法。我注意到我所钦佩的程序员都有一些相似习惯。不是他们所选语言的知识,也不是对数据结构和算法的深入理解,甚至不是多年的工作经验。而是他们的沟通方式,他们管理自己的方式,以及以他们精湛技术水平编程演讲的方式。

  当然成为一个优秀的程序员还要具备更多特质,我也不能单单依靠是否存在(或者缺少)这些特质来评判一个程序员。但是我知道当我看见它,当我看见一个程序员具备这些特质的时候,我认为,“这个人真的知道他们正在做什么”。

  他们做调查研究

  或者叫“三思而后行”,或者叫“谷歌一下”

  不论你怎么称呼它,大多数可能会遇到的编程问题已经以某种形式解决,传道书早就记载着世界上本来就没有什么新鲜事。优秀的程序员在解决问题之前知道通过GitHub图书馆、网络博客,或者通过与经验丰富的程序员交流等形式来做调查研究。

  我见过甚至是优秀的程序员可以快速找出解决方案,但是和我一起工作过的糟糕的程序员从来不求助于他人,结果做了大量的重复工作或者错误地解决问题,不幸的是,后来他们终将为自己犯下的错误付出了代价。

  他们阅读错误信息(并按照它们行事)

  这包括解析堆栈路径信息。是的,这是一件非常不幸的事情。但是如果你不愿意这么做的话,怎么才能知道哪里错了呢?我知道的高效程序员是不会害怕深究问题的。低效的程序员看见有错误,但就是不愿意甚至是去读这些错误信息。(这听起来很可笑,但你会惊讶我遇到它的频率)

  更进一步地说,优秀的程序员发现问题马上就解决它。读错误信息对他们来说仅仅是个开始,他们渴望深究问题并查出问题的根源。他们不喜欢推卸责任,而是愿意查找解决问题的方案,问题在他们这里止步。

  他们去看源代码

  文档、测试、团队,这些都会说谎。尽管不是故意的,但是如果你想确切地知道事情是怎么回事,你必须自己亲自看源代码。

  如果它不是你最擅长的语言,你也不要害怕。如果你是一个Ruby的程序员,你怀疑在Ruby的C语言库中有个错误,破解打开看看。是的,你可能拿不到源代码,但是谁知道呢?你只是可能而已,你有更好的机会,总比你根本不去尝试好吧。

  不幸的是,如果你处在一个封闭源代码的环境中,这会变得非常难,但道理是不变的。糟糕的程序员对于查看源代码没有丝毫的兴趣,结果问题困扰他们时间,要比愿意看源代码的时间长得多。

......









































如何防止白癜风复发
怎样治疗白癜风



转载请注明:http://www.jiaju1314.com/pxxx/pxxx/10010.html

  • 上一篇文章:
  •   
  • 下一篇文章: 没有了