优秀程序员必备素质

程序员(英文Programmer)是从事程序开发、维护的专业人员。一般我们将程序员分为程序设计人员和程序编码员,但两者的界限并不非常清楚,特别是在中国。
作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。
作为高级程序员,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
1,激情。
我曾经遇到许多“职业程序员”,他们从事IT是因为觉得这是一种职业,他们只在工作时间编程,除非送去培训否则他们不会学习新东西,这不是好的程序员。我认为一个好的程序员总是对编程充满激情,而且好的开发者会做一些编程工作即使这没有报酬。激情是一个优秀程序员的重要指标。
2,自学好学
编程领域始终发展变化着,不出一年有些新技术就变成了老技术,这并不是说好的程序员要对所有新技术跟进,但有些却对学习任何新技术都没有兴趣。他们通常在学校学习了编程,然后工作后单位安排学什么就学什么。如果在招聘中你听到“让我培训一个星期我就会胜任这个工作”那不要雇佣他。实际上,真正优秀的程序员始终谈论着你所不知道的新技术,向人们解释为什么你必须用这个技术,哪怕没有听众听得明白,哪怕他自己也不明白。
3,聪明
聪明包括很多因素,情绪和社会交际只是其中之一。好的程序员绝不木讷,他们是最聪明的人,他们中的许多善于交际,健谈、兴趣广泛。
4,隐性的经验
—好的程序员通。常有自己的私人的一些研究、爱好、项目,而这些是他们不写在简历上 (通常觉得不值得写),但表现出来却可能恰恰是他的潜能、深度和后劲所在。
5,技术多样性
由于好的程序员喜欢学习和涉猎新技术,所以一般来说超过22岁的都熟知很多新技术,而且对多种技术的长短有 “强烈”的个人意见/见解,喜好尝试新鲜技术。
6,资格证书
资格证书并不是识别真正程序员的方法,MCSE、SCJP、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
时间: 2024-10-11 01:28:35

优秀程序员必备素质的相关文章

<转载> 优秀程序员必备的24条好习惯

<转载> 优秀程序员必备的24条好习惯 转自 优秀程序员必备的23条好习惯 ,But add some my comments of TerryXia in Green. 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了“十大最痛苦工作”排行榜,其中IT主管成了最让人痛苦的职业.程序员如何才能让自己的“痛苦”的职业不那么痛苦呢? 世间少有天才,所谓天

优秀程序员必备十大习惯

想成为一个优秀的软件开发人员,在今天,你该怎样发展你的职业生涯?这个是我总结的优秀程序员必备十大习惯.按照这些技巧和规则,你可以改善你的现状,由一个普通的程序员,成为一名优秀的程序员. 学会学习 作为开发者,就算是你有了3-5年的工作经验,你还是需要不断地学习,因为你在计算机这个充满创造力的领域,每天都会有很多很多的新事物出现,你需要跟上时代的步伐.你需要去接触新的程序语言,了解正在发展中的程序语言,以及一些编程框架.还需要去阅读一些业内的新闻,并到一些热门的社区去参与在线的讨论,这样你才能明白

优秀程序员必备的好习惯

 (本图为:优秀程序员必备的好习惯之美女聚精会神的编程) 怎么样才能成为一个优秀的程序员?这是一个颇为奇怪的问题.怎样才是一个优秀的软件开发人员. 对于以上问题,其实并没有标准答案,但是除了这些特质,习惯也是非常重要的因素.而这一点则只能在已经进入正轨的团队组织中可以窥见. 伟大程序员必须具备的7个好习惯 除了必需的技术技能和逻辑能力,下面讲一下一个团队应该具备怎样的好习惯: 1. 良好的时间管理迟到对于任何一家公司都是个头痛的问题.作为一个程序员,有时候为了完成任务常常不得不熬夜,从而导致第二

优秀程序员必备的23条好习惯

这一点错,那一点错,错到一起就是大错.--<我是特种兵之利刃出鞘> 编程是一项聪明人玩的游戏,它既是对智力的考验,也是对习惯的考验,智力的好坏取决于父母的基因,人们无从左右,但习惯的好坏却是可以不断培养.一项由美国芝加哥大学国家研究组织进行的综合社会调查,公布了"十大最痛苦工作"排行榜,其中IT主管成了最让人痛苦的职业.程序员如何才能让自己的"痛苦"的职业不那么痛苦呢? 世间少有天才,所谓天才,只不过是把别人喝咖啡的功夫都用在工作上了.所以,对于绝大多数

干货!优秀程序员必备软件

每一个优秀程序员总有那么几款压箱底的好货,作为程序员多年,看到新入行的程序员小白东翻西找,我觉得有必须向他们说说程序员这一行该会的软件,这样也许会让他们少走很多弯路. Navicat 数据库管理工具 这个是程序员必须要用的一款专业级别的数据库管理软件,可以帮助程序员更好的管理数据库,视觉化创建 SQL 语句,自动生动生成报表,下载一个Navicat Premium 就可以进行深度体验.Navicat Premium 获取地址 Navicat Premium是一套数据库管理工具,可以同时连接到My

优秀程序员必备的四项能力

前言 一个优秀的程序员需要具备挺多特质的,比如好奇心,学习能力等,但在我看来一个优秀的程序员必须具备四项核心能力,哪四 项,先卖个关子,程序员最喜欢说的话是「Talk is Cheap, show me your code」,那我们先来看一道很常见的面试题 如何快速定位IP对应的省份地址? 我们知道,每个省市都分配了一个 ip 段,如下 [202.102.133.0, 202.102.133.255] 山东东营市 [202.102.135.0, 202.102.136.255] 山东烟台 [20

一个优秀程序员必备的6个好习惯

一个伟大的程序员需要具备哪些特质呢?也许大部分人回答的是逻辑.机智.耐心和勤奋当然,其实这个问题并没有标准的答案,但是除了这些特质,习惯也是非常重要的,而这个特质可能在已经进入正轨的团队组织中才得以窥见. 除了必须的技术和逻辑思维,下面看一下在团队中应该具备怎样的好习惯吧~ 好的时间管理 亲有木有经常遇到迟到的问题,对于任何一家公司迟到都是很让人头疼的.作为一名程序员,有时候不得不熬夜加班,从而导致第二天上班迟到啦~(这点小编要投诉一下我们戴维,总是踩着点打卡,哪怕你来早那么一点点,都不会有那么

优秀程序员必备的7点

只是一般的开发工作撰写程序解决问题,或是能够运用数据结构或算法,还不足以成为一位顶尖的程序员!知名顾问公司Conigent的架构师Justin James在美国科技网站TechRepublic上发表了"Seven Traits of Effective Programmers"这篇文章,列出了能够成为编程领域中的大师们所具备的七项特质. 1.乐在学习,除了关注新的技术发展,也了解非技术知识的重要性 普通的程序员,通常是在需要某项技能时才会开始进行学习:杰出的程序员,对于各种知识都保持开

程序员必备素质-团队

最近看了<极客与团队>,我想这是我目前看过的,对我触动最大的讲述团队作用及重要性的一本书.一直知道团队合作的重要,现在才发现自己以前认知的肤浅,只知其然而不知其所以然.下面是我的一些感触. (一)在开发初期,与人多交流 很多人在初期写程序时,喜欢埋头苦干,不与人交流.这样做通常有2个原因:1)不愿意被别人看见自己初期的错误,希望等一切做完功成名就之后将其展现给众人,显示自己的"天才".2)害怕被别人窥视自己的创意. 事实上,在开发初期,我们并不能保证自己的思路一定对,缺乏交