我们在面试的时候,经常会问这样一个问题——一个优秀的程序员需要具备哪些素质。大多数人以逻辑、机智、耐心和努力工作来回应。对于这个问题,其实并没有标准答案,但是除了这些特点之外,习惯也是非常重要的因素。而这只有在已经步入正轨的球队组织中才能窥见一斑。除了必要的技术能力和逻辑能力,这里还有一些团队应该具备的好习惯:1.良好的时间管理迟到是任何公司都头疼的事情。作为一个程序员,有时候为了完成任务经常要熬夜,导致第二天上班迟到。但是我们忘记了我们的工作时间是至关重要的,因为在这段时间里我们必须与客户同步,并与团队的其他成员协作。2、深入了解客户需求仅仅了解单个用户的表面含义是远远不够的。一个优秀的程序员应该有能力理解繁琐的需求并将其分解为项目的技术任务或子任务,最终的结果应该恰好满足客户的需求。3、编程前准备全套算法案例、伪代码和流程图,这些都是非常重要的软件开发工具。一个伟大的程序员如果不先准备好算法,就不会像傻瓜一样开始编写代码。编写代码实际上只是一项编码任务。4.理解并帮助定义验收标准是否需要高级测试脚本取决于产品负责人,但优秀的程序员必须能够在深刻理解跳过这些步骤可能产生的后果的情况下编写技术测试脚本。5.绞尽脑汁还是“NO”挠头还是找不到解决办法,怎么办?一个伟大的程序员在处理困难情况时足智多谋且灵活。他们问同事,或者问组长;上网搜索,然后耐心地反复试验。我相信,没有退路,没有出路,柳暗花明,自首这个词,从来没有出现在他们的字典里。6.承认你的缺陷内向是我们大多数程序员常见的软技能问题之一。但是一个伟大的程序员一旦知道了自己的不足,就会立刻主动提升自己,积极践行“客户至上”的服务理念。7、一个积极优秀的程序员,不需要别人告诉他怎么做,他的主动性更强。他有这个意识,会主动关注过程;改进可以提高软件开发生产力的工具,例如SVN;提高应用程序的灵活性并解决软件开发中发现的错误。***,我想说的是,无论你是雇员还是自由职业者,都要清楚——软件开发的目的是为客户服务。伟大的程序员深刻理解每一项任务的价值,尊重他人的成果,感同身受的艰辛过程!英文原文:SevenHabitsofaGreatProgrammer翻译链接:http://www.codeceo.com/article/7-habits-good-programmer.html
