作一个真正合格的程序员,应该具有的素质。
1:团队精神和协作能力
团队精神和写作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。
2:文档习惯
文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果没有缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间写用于技术文档。没有文档的程序员势必会被淘汰。
3:规范化的代码编写习惯
知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。 一些所谓的高手甚至叫嚣高手写的代码一般人看不懂,我只能说他不是一名合格的程序员。
4:需求理解能力
程序员要能正确理解任务单中描述的需求。在这里要明确一点,程序员不仅仅要注意到软件的功能需求,还应注意软件的性能需求,要能正确评估自己的模块对整个项目中的影响及潜在的威胁,如果有着两到三年项目经验的熟练程序员对这一点没有体会的话,只能说明他或许是认真工作过,但是没有用心工作。
5:模块化思维能力
作为一个优秀的程序员,他的思想不能在局限当前的工作任务里面,要想想看自己写的模块是否可以脱离当前系统存在,通过简单的封装在其他系统中或其他模块中直接使用。这样做可以使代码能重复利用,减少重复的劳动,也能是系统结构越趋合理。模块化思维能力的提高是一个程序员的技术水平提高的一项重要指标。
6:测试习惯
测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。
7:学习和总结的能力
程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,我们只能说他是一名熟练的代码民工,他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员、项目经理。
作为高级程序员,乃至于设计师而言,除了应该具备上述全部素质之外,还需要具备以下素质:
1、 需求分析能力
2、 整体框架能力
3、 流程处理能力
4、 模块分解能力
5、 整体项目评估能力
6、 团队组织管理能力
这个问题,我给你举个例子:就拿Java软件开发工程师为例。
初级工程师—中级工程师—高级工程师—系统架构师—产品经理。当然每个公司具体的岗位设置不一样叫法也不全都一样。但是这里面通用的准则,就是从业年限,另外还有你的参与的项目经验。当然,以上是技术岗路线。如果你想走管理岗你也可以选择
一般都是初级、中级、高级,然后在往上就是偏管理了。我是在优就业学的,现在做到中级,路漫漫其修远啊
如何一种技能的入门都是至关重要的,IT入门技能掌握的如何直接影响接下来技能的掌握和发展,对于刚开始进入IT的新人来说,“必备技能”往往意味着一个长长的、标有重要度的学习列表,但是过长的列表通常会导致新人不知如何开始学习,压力倍增。本文尝试列举出最重要的几个技能,也期望通过此列表能给新人一个比较明确的学习重点和路径。
一、IT入门学习:深入学习一门编程语言
没有掌握任何一门编程语言,就不可能成为一名编程人员。
许多程序员试图在学习之初一次学习几种编程语言,以便应对他们第一份软件开发工作的需要。虽然我认为开发人员最终会学习多种编程语言,但建议不要在开始时这样做。
因为同时学习多种语言只会导致混乱,也会分散学习其它技能的精力。相反,我建议深入的学习一种编程语言,这样也会对使用这种语言编写代码感到非常有自信。
二、IT入门学习:如何组织代码?
新手程序员在完成编程语言的学习之后,或者最好在学习编程语言的同时,需要掌握的是如何正确的组织代码。
通过StevenMcConnell所著的《CodeComplete》,可以帮助学习这个宝贵的技能。
组织代码意味着编写良好的、清晰可理解的、不需要大量注释的代码,因为代码本身是可自注释的。许多软件开发人员究其整个职业生涯都不曾具备这样的技巧,但是这个技能却是判断一个软件开发人员的技术和能力的首要标准。良好的代码结构代表的不仅仅是完成了编码工作,而是对编码事业的热衷奉献。
对于新手程序员来说,简洁清晰且含义明确的代码,能让你轻松地通过面试。
提升代码结构已经成为了软件开发的重要部分,但是提升的过程却是十分严格的。在这个过程中,虽然不需要编写新的代码,但是却需要和团队成员一起花费大量时间来维护现有的代码。
三、IT入门学习:测试
现在,很多的软件项目都采用了所谓的敏捷流程,软件开发人员和测试人员合作的更加密切。代码质量成为了整个开发团队的责任,所以开发人员也需要对测试知识有一定了解。
四、IT入门学习:开发平台与相关技术
应该至少对一个开发平台以及与之相关的技术或框架有一定的经验。
平台通常意味着 *** 作系统(OS),但它也适用于与 *** 作系统类似的其他抽象系统。例如,你可能是专注于Mac或Windows *** 作系统的Mac开发人员或Windows开发人员,同时你也可以是专注于特定Web平台的Web开发人员。
具备某个特定平台的专业知识,不仅仅意味着需要熟悉平台本身,还需要掌握开发平台常用的开发工具、模式和通用框架。
五、IT入门学习:数据库基础知识
目前,南邵北大青鸟认为主要有两种数据库技术:关系数据库和文档数据库。
现在的开发人员应该很熟悉关系数据库,但同时也应该对文档数据库有所了解。
在软件开发中,数据库通常用于存储应用程序的数据。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)