`

(转)作一个真正合格的程序员

阅读更多
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程序员却符合了。但相信这些对大多数真正的程序员都适用。
  总结而言,优秀的程序员通常有一下特点:
  对技术充满激情
  将编程作为一种爱好
如果你允许会滔滔不绝地跟你谈论技术
有过个人的开发经历(与4意思相同)
  坚持认为某种技术最好
  如果让他用他认为不好的技术他会非常别扭
  聪明、健谈、兴趣广泛
  在大学和工作前就开始接触程序
分享到:
评论

相关推荐

    作一个真正合格程序员的七种素质

    ### 作一个真正合格程序员的七种素质 在IT行业中,成为一名合格的程序员不仅需要扎实的技术基础,还需要一系列软技能和个人素质。以下是成为一名真正合格程序员所必备的七种关键素质。 #### 1. 团队精神和协作能力...

    作一个真正合格的程序员要知道的

    ### 作一个真正合格的程序员要知道的关键点 在IT行业中,成为一名合格的程序员不仅意味着能够编写代码,还需要具备一系列的专业素质和技术能力。本文将根据给定的标题、描述及部分内容,详细阐述一名真正的合格...

    合格程序员应具备的素质

    根据给定的文件信息,我们将深入探讨一个合格程序员应具备的关键素质。 ### 1. 专业技能与知识体系 首先,一名合格的程序员必须拥有扎实的专业技能,这包括但不限于对至少一种编程语言的精通,理解计算机科学基础...

    如何成为合格程序员

    ### 如何成为合格程序员 成为一名合格的程序员不仅仅是掌握一两门编程语言那么简单,它涉及到对技术的深刻理解、良好的编码习惯、以及持续的学习能力等多个方面。以下是对文章中提到的关键知识点进行深入解析。 ##...

    合格的程序员必看的书

    本文将基于提供的部分信息进行深入解析,并结合实际需求,提炼出对合格程序员至关重要的几大知识点。 #### 一、技术交流与合作能力 在IT领域,技术交流与合作是非常重要的技能之一。程序员不仅需要具备扎实的技术...

    程序员的八重境界

    **定义:**合格程序员不仅能够独立完成任务,还能在一定程度上解决较为复杂的问题。他们是团队中的中坚力量。 - **特征:** - 拥有扎实的编程基础,能够写出高质量的代码。 - 在团队中承担重要的角色,如模块负责...

    《程序员》2011年第2期

    作一个真正合格的程序员,应该具有的素质。 1:团队精神和协作能力 团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以...

    程序员那点儿事儿

    记得,学习是一个持续的过程,不要急于求成,要有耐心和毅力,逐步积累经验,最终你会发现自己已经成为了一名资深的程序员。 ### 结语 成为一名出色的程序员并非易事,但通过不懈努力和持续学习,每个人都有机会...

    2006年程序员试题帮助你实现程序员梦想

    这些是成为一名合格程序员必备的知识体系,也是考试的重点所在。 计算机基础部分,你需要了解计算机硬件、软件的基本原理,比如CPU的工作原理、内存管理、输入输出设备等。数据结构与算法是程序设计的核心,包括...

    给程序员的建议.pdf

    以下几点是成为一名合格程序员所必需的: 1. 团队精神和协作能力:编程不再是个体行为,而是团队合作的结果。如同 Linus Torvalds 创建 Linux 一样,强大的团队协作是成功的关键。程序员需要具备团队精神,能够与...

    想成为嵌入式程序员应知道的0x10个基本问题

    成为一个优秀的嵌入式程序员,掌握C语言是必不可少的基础,因为C语言能够直接操作硬件,效率高且通用性强。 在招聘嵌入式系统程序员时,C语言测试是一种常见且有效的评估手段。测试不仅考察应聘者的语言技能,还...

    宅男程序员写给老婆的计算机课程【全章】

    理解基础算法如排序、查找和图遍历等,是成为一个合格程序员的关键。 作者指出,语言的选取并非重点,因为编程思想、数据结构和算法才是通用的。熟悉了这些基础,学习新的编程语言只需花费少量时间熟悉其语法和特性...

    [计算机]C语言测试:想成为嵌入式程序员应知道的0x10个基本问题

    - `#define`用于定义一个宏,它不是一条真正的C语句,因此不需要分号结尾。 - 宏定义可以包含括号来确保计算顺序正确。 - 在此例中,宏定义了一个长整型常量,其中`UL`表示无符号长整型。 ### 2. 最小值宏的定义 ...

    《IT职业素质修养》论文

    作一个真正合格的程序员,或者说就是可以真正合格完成一些代码工作的程序员,应该具有的素质。 1:团队精神和协作能力 这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在...

    java经典书籍--程序员必备武器

    《Java经典书籍——程序员必备武器》 在编程领域,尤其是Java世界中,扎实的基础和实践经验是程序员成功的基石。...通过阅读经典的Java书籍,结合实战练习,才能真正提升自己的技术水平,成为合格的Java程序员。

    程序员的四个等级,请对号入座!.pdf

    在Java领域,架构师是一个非常重要的角色,他们的年薪通常在40万到80万之间,这是因为他们的工作不仅涉及编写代码,更重要的是解决业务和技术问题。架构师需要对整个软件开发过程有深入理解,并在不同阶段承担不同的...

    JAVA六大问题程序员必须知道--在此给予详解

    这意味着`s`本身并不是一个对象,而是一个引用,它指向内存中的某个位置,该位置存储着真正的`String`对象。 进一步地,如果执行以下代码: ```java String string = s; ``` 这里我们声明了一个新的引用`string`...

    C#初级教程(.net程序员不再是梦想)

    C#是一种广泛应用于软件开发的面向对象的编程语言,...只有不断编写代码,解决实际问题,你才能真正掌握C#,成为一名合格的.NET程序员。在这个过程中,这个初级教程会是你宝贵的指南,引领你进入精彩纷呈的C#编程世界。

    黄老师入门级C语言视频教程带你零基础学C语言 视频.txt

    如果你想真正成为一名懂底层、懂C语言的合格的程序员. 如果你想进世界五百强或研发型的技术公司.那么你都需要此套教程!都需要真正深度理解C语言的精髓! 此套教程以专题的形式探讨C语言的本质,探讨人们不常知道的...

Global site tag (gtag.js) - Google Analytics