程序员(英文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、说明不了什么,它们只是让别人认识和获取的,顶多代表这个人在某个技术有一定的知识。
原文作者在文末写道:以上所说的标准并不是绝对的,因为有些优秀的程序员确实不符合上述,而有些bad程序员却符合了。但相信这些对大多数真正的程序员都适用。
总结而言,优秀的程序员通常有一下特点:
n 对技术充满激情;
n 将编程作为一种爱好
n 如果你允许会滔滔不绝地跟你谈论技术
n 有过个人的开发经历(与4意思相同)
n 坚持认为某种技术最好
n 如果让他用他认为不好的技术他会非常别扭
n 聪明、健谈、兴趣广泛
n 在大学和工作前就开始接触程序
分享到:
相关推荐
【关于程序员述职报告的主要知识点】 1. **公司认知与文化**:报告中提到,通过面试和入职培训,程序员对XXXX公司的企业文化和理念有了深刻理解。公司重视正规化、专业化,并强调以人为本、尊重人才,这种企业文化...
关于程序员的转正述职报告,这是每位初入职场的程序员在试用期结束后,为了申请正式员工身份,向公司提交的一份重要文档。通过这份报告,程序员会回顾试用期的工作经历,展示自身成长和技能提升,同时也指出自身不足...
It人生(关于程序员发展道理的文章), 有多章都是从程序员上摘取的
关于程序员述职报告范文.doc
读书笔记:关于程序员的自我修养
关于程序员述职报告4篇.doc
关于程序员述职报告4篇.docx
《程序员面试宝典》是一本专门针对程序员面试的书籍,旨在帮助求职者充分准备,提升在面试中的竞争力。这本书涵盖了编程基础、数据结构、算法、操作系统、计算机网络、数据库等多个核心领域,为读者构建了一个全面的...
根据提供的标题、描述、标签及部分内容,我们可以提炼出与程序员学习和发展相关的关键知识点。尽管原文存在较多非标准字符和难以理解的部分,但仍然可以从中提取一些有用的信息。 ### 关键知识点 #### 1. 学习...
《富士康主管笔记 毕业出狼窝工作入虎穴》
【程序员自我评价范文参考】 在IT行业中,程序员的自我评价主要关注个人的技术能力、学习态度、团队合作精神以及解决问题的能力。以下是对范文中提到的几个关键知识点的详细说明: 1. **技术能力**:程序员应具备...
这是我们技术总监写的关于针对“成人学习”的方式,特别针对软件从业人员的(程序员,测试人员)。此人是个技术大牛,曾独立给很多知名公司完成过开发任务,如:土豆网的客户端等。
【程序员顶岗实习总结】 程序员顶岗实习是IT专业学生从理论走向实践的重要步骤,它不仅提供了实际操作的机会,还能让学生深入理解编程语言、软件工程、团队协作等关键技能。以下是对实习经历的总结和提炼出的知识点...
【程序员顶岗实习总结】 这篇文档是对程序员在2020年进行顶岗实习的总结,主要涵盖了两个实习生的经验分享。实习是新入行程序员积累经验的重要阶段,它提供了从理论到实践转换的机会。 首先,实习生提到对于刚入...
程序员顶岗实习总结 一、工作质量、成绩、效益和贡献 在程序员顶岗实习中,作为行政助理,我主要负责协助行政经理完成行政工作。通过两个月的努力,我逐渐熟悉了本职的工作,明确了工作的程序、方向,提高了工作...
这些文章包括普通的,有名的的程序员的经历,还有一些让人深思的程序员问题, 我把它们分成奋斗篇,中国篇,外国篇,反思篇,如果你想进入程序设计的世界,这 些文章应该能给你一些启示,也一定能给你一定的鼓励! 整理者: ...