|
合格的程序员不仅仅有过硬的技术,还需要具备一些无关技术的素质,这些看来微不足道,但是想要成为一名合格的程序员却是必不可少的,java私塾的陈老师根据多年的经验总结了一下关于合格程序员应该具备那些素质,个人觉得很好,所以转来跟大家分享一下。
1、 不轻易言败,充满自信,但是切忌浮华不实,自满自大
在程序设计的过程中,可能会遇到不计其数的困难和问题,一个问题解决了,可能又有其它的问题出现,有极多的挫折和失败,而成功只有一次。要相信自己,每时每刻鼓励自己,这样才能坚持下去,轻易言败、没有自信的人做不了程序员。
2、 团队合作精神
任何个人的力量都是有限的,即便如linus(Linux 创始人)这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为Linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。
3、 面向对象思维能力
面向对象的编程语言的共同的精髓就是面向对象的思想,掌握思想比面向对象语言本身更重要。
4、 编程语言能力
作为合格的程序员,精通一门语言是必须的,学习一门语言不是个把月就能精通的事,而是需要长时间的积累,一个程序员只有不断的学习才有可能熟练的掌握。
5、 规范化,标准化的代码编写习惯
做为一个软件产品,哪怕只是一个小小的功能的实现,其中不同的变量及方法可能很多,更不用说像Linux这样的大工程了,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。代码具有良好的可读性,是程序员基本的素质需求。
6、 需求理解能力
程序员需要理解一个模块的需求,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
7、文档习惯
良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
8、复用性,模块化思维能力
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。
9、测试习惯
软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
10、英语能力
新的技术资料都是英文的,要想第一手学会这些新技术就必须能看懂英文,多阅读英文资料,使用金山词霸等工具配合,长时间的处在这样的环境里,自然而然英语的阅读能力就提高了。
11、学习和总结的能力
程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。 善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。 |
|