【小州分享】好的程序员到底好在哪里?

【小州分享】好的程序员到底好在哪里?

请输入标题我这些年和许多程序员工作过——他们有些人超级棒,有些明显比较平常。由于我近来和一些熟练的程序员工作的很愉快,我花了一些时间斟酌我羡慕他们甚么。是什么让一个好的程序员那末好,差的程序员那末差?或,简短一些,是什么让一个好的程序员那末好呢?

根据我的经验,成为一个 的程序员与年龄、教育或你挣钱的多少没有关系。关键在于你的表现,更深入的说,是你如何思考。我注意到我羡慕的程序员有一致的习惯,比起他们所选语言的知识、对数据结构和算法的深入理解、或几年的工作经验——更多的是他们交换的方式,管理自己的方式,和根据他们精深的技能可以知道他们接触编程的方法很有意义。

固然,成为一个好的程序员需要的比任何人可以罗列的都还要多,我不会基于这些实践的存在(或缺失)而单独评判任何程序员。但当我看到时我确切能明确的知道,当我看到一个具有这些性情的程序员时,我会想,“这个人真的知道他们在做甚么。”

他们做研究或称作“三思而后行”,或称作“谷歌一下”。

不管你怎样称呼它,你可能遇到的大多数编程问题几近在一定形式上都已被解决了。传道书早就记录在案,阳光底下无新事。在GitHub上的库文件列表中,在因特上的博客中,或恰好与某个人经验交换中,好的程序员知道要在解决一个问题之前先做研究。

我曾见过伟大的程序员急于给出解决方案,但是我曾一起工作过的最糟的程序员,从来不咨询他人,从而致使做了大量的重复性工作或恰好使用了毛病方式来解决问题。因而很不幸的,他们终究为他们的毛病付出代价。

读错误信息(并以之行事)这包括对堆栈追踪的符号解析。是的,使人讨厌而且不幸——但如果你不愿意这么做,怎样知道哪里出错了?我知道的 效的程序员不畏惧深入发掘问题。 效的程序员看到毛病乃至都不愿读错误信息。(这听起来挺可笑的,但我遇到的频率会让你吃惊。)

更进一步说,伟大的程序员看到问题,会急迫的去解决它。对他们来讲,读错误信息仅仅是 步;他们渴望深入问题并找出毛病的本源。他们对推辞没有兴趣,他们对找到解决方案有兴趣。问题确切在他们这里止步。

他们会去看源代码文档,测试和人:这些都可能会说谎。未必是故意撒谎,但是如果你想确切的知道代码是怎样工作的,你就必须亲身观察源代码。

即便这不是你非常熟习的语言也不要畏惧——比如,如果你主要是一个Ruby程序员并且你怀疑Ruby的C语言包里有毛病,那就去解压它看看再说。不错,你可能会一无所获。但是谁知道呢,你也可能会找到问题所在,比起甚么都不做,你最少选择了一条更有机会的路。

如果你工作在一个非开源的环境中,就不太好办了,这很不幸,不过道理是不变的。糟的程序员对查看源码通常没有太多兴趣,结果就是,跟那些愿意去研究一下源码的人相比,他们通常会被这些问题困扰的更久。

他们说做就做好的程序员总是趋向于采取行动。他们仿佛有种控制不住的强迫性——一旦他们确认了一个问题或看到了一个新的特性需求,就会立即着手解决,有时乃至过早或过于勇往直前。他们遇到问题的直觉反应就是正面解决它。

有时这会带来麻烦——但是他们的热忱正是他们能够做的很好的关键因素。当某些人还在拖延躲避或空想问题能自己消失的时候,好的程序员已开始动手了。

更简单的来讲(或许,太过直白),如果你看到一个人兴奋的发现并处理问题,很有可能你得到了一名好程序员。

他们防患未然这可能是一个坏的程序员的特点——他们总是纠缠于一个又一个的人为失误,历来都是没有明白上一个就转向下一个。他们总是在抱怨他们程序中的毛病部份,却耗费数小时对完善运行的代码来debug。他们让情绪占据主动,相信直觉而不是仔细明确的分析。

如果你突然遇到一个问题——或每个问题看起来都像是世界末日一般,你极有可能是在犯错误而不是在解决潜伏的问题。伟大的程序员会花费一些时间来了解是什么出了错,哪怕是真的是一场灾害,除这些,他们还会把常出现的问题当做分配任务来处理掉。由于他们能更精确的解决大部分问题,从而不会提高你的团队的紧张程度。

他们善于交换说到底,编程也是一种交换的方式。能够简洁明了地表达出你的观点之于写代码就如其之于写诗一样重要——长久以来,我发现那些能够写出精炼的电子邮件、优雅的报告或仅仅是高效的备忘录的人通常也会是更 的程序员。

这个发现对写程序和对英语一样使用。固然,把充斥着括号和只用一个字母命名的函数写在一行里面也是可以的,但是如果没有人能够理解你写的代码,又有甚么意义呢?不管使用甚么媒介, 的程序员会把时间花在如何将他们的观点更好地表达出来上面。

他们豪情四射我想这是最能够体现一个好的程序员的地方(并且,不但在计算机行业,这点适用于任何行业)。

如果你真正关心你做的东西——不只是把它当作一个工作去应付,而是一个兴趣、一件对你有着莫大魅力的事情,那末在这个行业里,相较于其他人而言,你就具有了一项巨大的优势。好的程序员会一直保持着写代码的状态,他们每天花在这个行业里的时间都不低于8个小时——包括工作和空余时间。在编写项目和授业解惑二者之间,他们不会偏向任何一方。他们不会只是为了搞清楚某个东西的工作原理而整天痴迷于新技术或新的编程语言。

当我视察一个周日正在做自己感兴趣的项目、在创造自己需要的工具、被新的、有趣的事物吸引的程序员的时候,我意想到我正在视察一个会令所有人都不由自主心生敬意的人。 ,伟大的程序员不会将他们的专业看作赚钱的工具,而是一种改变世界的手段。我想这就是早就一个伟大程序员的真正缘由吧。编程,对他们来讲也就意味着创造世界。也只有这样的人,才值得我们由衷地敬佩和景仰。

小州-

北京白癜风的有效治疗方法
北京医院看白癜风多少钱



转载请注明:http://www.xxcyfilter.com/gailian/640.html