程序员的 职业素养

程序员的 职业素养,第1张

程序员因其致力于程序开发、设计、维护、编程等这一特殊领域,使其天生具备了坚定的职业信念、超强的职业知识技能、良好的职业行为习惯等职业素养。

简介:

程序员(英文Programmer)是从事程序开发、维护的专业人员。一般将程序员分为程序设计人员和程序编码人员,但两者的界限并不非常清楚,特别是在中国。软件从业人员分为初级程序员、高级程序员、系统分析员,系统架构师,测试工程师五大类。

岗位职责:

1、对项目经理负责,负责软件项目的详细设计、编码和内部测试的组织实施,对小型软件项目兼任系统分析工作,完成分配项目的实施和技术支持工作。

2、协助项目经理和相关人员同客户进行沟通,保持良好的客户关系。

3、参与需求调研、项目可行性分析、技术可行性分析和需求分析。

4、熟悉并熟练掌握交付软件部开发的软件项目的相关软件技术。

5、负责向项目经理及时反馈软件开发中的情况,并根据实际情况提出改进建议。

6、参与软件开发和维护过程中重大技术问题的解决,参与软件首次安装调试、数据割接、用户培训和项目推广。

7、负责相关技术文档的拟订。

8、负责对业务领域内的技术发展动态进行分析研究。

职业认证:

考试介绍:

软考程序员考试属于计算机软件水平考试(简称软考)中的一个初级计算机职称考试。对于软考程序员考试并无学历及资历条件限制,更无论年龄、专业与资历。一年可报考软考程序员考试两次,但一次考试只能报考一种资格,因此报考了程序员考试则无法再报考软考其他级别或科目的考试。同时软考程序员考试采用笔试形式,考试实行全国统一大纲、统一试题、统一时间、统一标准、统一证书的考试方式。

通过国家统一组织的考试,资格考试分为:程序员级(原初级程序员)、软件设计师(原高级程序员)以及更高水准的:信息系统项目管理师、系统分析师(原系统分析员)、系统架构设计师、网络规划设计师、系统规划与管理师。

考试目标:

通过本考试的合格人员能根据软件开发项目管理和软件工程的要求,按照程序设计规格说明书编制并调试程序,写出程序的相应文档,产生符合标准规范的、实现设计要求的、能正确可靠运行的程序;具有助理工程师(或技术员)的实际工作能力和业务水平。

1、CVEQC认证持有者已经通过了中国职业教育资格认证指导中心组织的培训和相应的考试,具有相应的专业技能和知识。

2、CVEQC证书可作为劳动者岗前培训、在职培训、提高培训、继续教育的培训认证;也是劳动者“先培训、后就业,先培训、后上岗”的凭证。

3、CVEQC证书是中国职业教育资格认证指导中心颁发的专业技能证书。标有证书序列号、证书编号、培训者及证书持有者身份z号码,并盖有全国职业教育管理委员会、中国职业教育资格认证指导中心的证书专用章。

4、 证书证明参加培训及证书持有者具有系统地接受岗位技能培训的经历,证书在全国范围内有效。

二、报考条件:凡遵守中华人民共和国宪法和各项法律,恪守职业道德,具有一定计算机技术应用能力的人员,均可根据本人情况报名参加相应专业类别、级别的考试。[1]

考试要求:

(1)掌握数据及其转换、数据的机内表示、算术和逻辑运算,以及相关的应用数学基础知识;

(2)理解计算机的组成以及各主要部件的性能指标;

(3)掌握 *** 作系统、程序设计语言的基础知识;

(4)熟练掌握计算机常用办公软件的基本 *** 作方法;

(5)熟练掌握基本数据结构和常用算法;

(6)熟练掌握C程序设计语言,以及C++、Java、Visual Basic中的一种程序设计语言;

(7)熟悉数据库、网络和多媒体的基础知识;

(8)掌握软件工程的基础知识,了解软件过程基本知识、软件开发项目管理的常识;

(9)了解常用信息技术标准、安全性,以及有关法律、法规的基本知识;

(10)了解信息化、计算机应用的基础知识;

(11)正确阅读和理解计算机领域的简单英文资料。

相关书籍:

很多程序员响应,他们在推荐时也写下自己的评语。 以前就有国内网友介绍这个程序员书单,不过都是推荐数 Top 9的书。

其实除了前9本之外,推荐数前30左右的书籍都算经典,笔者整理编译这个问答贴,同时摘译部分推荐人的评语。

下面就按照各本书的推荐数排列。

1、《代码大全》 史蒂夫·迈克康奈尔

2、《程序员修炼之道》

3、《计算机程序的构造和解释》

4、《算法导论》

5、《重构:改善既有代码的设计》

6、《设计模式》

7、《人月神话》

8、《计算机程序设计艺术》

9、《编译原理》(龙书)

岗位分类:

世界上第一位程序员是英国著名诗人拜伦的女儿AdaLovelace,曾设计了巴贝奇分析机上解伯努利方程的一个程序。她甚至还建立了循环和子程序的概念。由于其在程序设计上的开创性工作,AdaLovelace被称为世界上第一位程序员。美国国防部开发的ADA语言就是为纪念这位世界上的第一位程序员而命名的。

计算机科学发展到今天(21世纪初期),程序员从事的人群很多,分工也不相同,从大的方面可以分为以下几类:asp程序员、jsp程序员、delphi程序员、php程序员、powerbuilder程序员、C程序员、linux程序员、net程序员、vb程序员、java程序员、javascript程序员、C++程序员、Python程序员、android程序员、iOS程序员。

职业要求:

一般的程序员都有四年的在专业领域的学习,需要一个在程序领域的学士学位获得者,不论是数学方面的还是工程方面的都是可以的。

大约有20%的人在这一领域的计算机科学和工程学拥有更高的学位。还有很小一部分程序员是自学的,尽管一些专业性的学校或者综合大学可以提供,但是也需要一些别的途径来提供相关的人才。尽管学历是比较重要的,但是公司经常把重点放在应聘者的工作经验上,很多刚从大学毕业的大学生虽然有引人注目的学位证书,但是他们找不到工作是因为他们缺乏经验。一个程序员虽然没有正规的学历,但是如果一个人拥有程序设计的深厚知识背景或者丰富的工作经验的话,那么他的机会要比有学历的应届毕业生大得多。所以要尽量抓住有用的工作和实习机会,这样的话在毕业后你就会发现,多实习让你有更多的经验,在找工作的时候就有更多的机会。

对于职业程序员,另外一个重要的方面就是,程序员需要不断提升自己的业务技术,他的技术必须一直保持在一个较高的水平,并且要不断发展,程序员也要寻找贸易的机会,要参加研讨会,在周刊上发表文章和接受职业教育,这些使程序员在自己的领域中分级或者不断并排前进。

素质要求:

团队精神和协作能力:

团队精神和协作能力是作为一个程序员应具备的最基本的素质。软件工程已经提了将近三十年了,当今的软件开发已经不是编程了,而是工程。独行侠可以写一些程序也能赚钱发财,但是进入研发团队,从事商业化和产品化的开发任务,就必须具备这种素质。可以毫不夸张的说这种素质是一个程序员乃至一个团队的安身立命之本。

文档习惯:

文档是一个软件系统的生命力。一个公司的产品再好、技术含量再高,如果缺乏文档,知识就没有继承,公司还是一个来料加工的软件作坊。作为代码程序员,必须将30%的工作时间用于写技术文档。没有文档的程序员势必会被淘汰。

规范化的代码编写习惯:

知名软件公司的代码的变量命名、注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。

测试习惯:

测试是软件工程质量保证的重要环节,但是测试不仅仅是测试工程师的工作,而是每个程序员的一种基本职责。程序员要认识测试不仅是正常的程序调试,而要是要进行有目的有针对性的异常调用测试,这一点要结合需求理解能力。

学习和总结的能力:

程序员是很容易被淘汰的职业,所以要善于学习总结。许多程序员喜欢盲目追求一些编码的小技巧,这样的技术人员无论学了多少语言,代码写起来多熟练,只能说他是一名熟练的代码民工(码农),他永远都不会有质的提高。一个善于学习的程序员会经常总结自己的技术水平,对自己的技术层面要有良好的定位,这样才能有目的地提高自己。这样才能逐步提高,从程序员升级为软件设计师、系统分析员。

拥有强烈的好奇心:

什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。

日常工作:

确认通过审查方案的目标,输入数据,分析师,监事,和客户的输出要求的项目要求。

安排项目要求在编程序列分析要求;准备工作流程图和使用计算机知识的能力,题材,编程语言和逻辑图。

编码工作流程的信息转换成计算机语言的项目要求。

通过输入编码信息的计算机程序。

确认程序 *** 作进行测试,修改程序序列和/或代码。

准备写 *** 作指令供用户参考。

保持历史记录,通过记录方案的制定和修订。

维护客户的信心和保护保密的业务。

技能/资格:一般的编程技巧,分析信息,解决问题,软件算法设计,软件性能优化,注重细节,软件设计,软件调试,软件开发基础,软件文档,软件测试。程序员其实分为很多种,大家开发的语言可能不尽相同,但是都是有他们的共同点。

1PG,Point Guard,控球后卫又称组织后卫

控球后卫(Point Guard)是球场上拿球机会最多的人。他要把球从后场安全地带到前场,再把球传给其他队友,这才有让其他人得分的机会。如果说小前锋是一出戏的主角,那么控球后卫便是这出戏的导演。

还是一样,我们先说一下,怎样才算是一个合格的控球后卫。首先,他的运球能力是绝对少不了的,他必须要能够在只有一个人防守他的情况下,毫无问题地将球带过半场。然后,他还要有很好的传球能力,能够在大多数的时间里,将球传到球应该要到的地方:有时候是一个可以投篮的空档,有时候是一个更好的导球位置。简单地说,他要让球流动得顺畅,他要能将球传到最容易得分的地方。再更进一步地说,他还要组织队上的攻势,让队上的进攻更为流畅。

那么,我们对于一个控球后卫还有什么要求呢?在得分方面,控球员往往是队上最后一个得分者,也就是说除非其他队友都没有好机会出手,否则他是不轻易投篮的。或者以另一个角度说,他本身有颇强的得分能力,而以其得分能力破坏对方的防守,来替队友制造机会的。总而言之,控球员有一个不变的原则:当场上有任何队友的机会比他好,他一定将球交给机会更好的队友。所以,控球员的出手经常何队友的机会比他好,他一定将球交给机会更好的队友。所以,控球员的出手经常都是很好的投篮时机,自然我们对他的命中率要求也就比较高,一般而言应该要在五成以上,要比小前锋和得分后卫高。而在得分能力方面,外线和切入是他必备的两项利器。

举例说明一下应该会更清楚。斯托克顿(John Stockton)是非常典型的控球后卫,他的控球四平八稳,往往能够将球传给场上机会好的队友,做一次篮下或外线的轻松出手。他没有很花俏的传球招式,但却都是很安全地将球送到队友手上,而且他的外线相当稳,命中率经常都能维持在五成以上。要了解一个称职的控球后卫该做的事,斯托克顿是标准的典范。此外,托玛斯(Isiah Thomas)则是不太一样的类型,他的运球动作已到了出神入化的境界,而他那富乐感的传球也是令人印象深刻。不过托玛斯是比较偏向于得分欲望高的控球,也因此他的得分经常在二十分以上,但命中率却不及五成。比较起来,托玛斯已经具有全能球员的特性,算得上是全能型的控球后卫。历史上著名的控球,应以库西(Bob Cousy)及罗勃逊(Oscar Robertson)最让人耳熟能详。此外,在现役球员中,哈达威(Tim Hardaway)、普利斯(Mark Price)等亦都是众人皆知的名将,在此无法一一提出说明。

说到CBA中的控球后卫,我们来看一看辽宁队的李晓勇。他不仅保持了外围远投的特长,本赛季还经常移动到小前锋的位置上,进攻能力更加全面。当然,李晓勇最擅长的还是助攻,平均每场79次的助攻在联赛中笑傲群雄。

接下来就是介绍我心目中的最佳控球后卫了,相信大家也已异口同声地念出他的名字:魔术师约翰逊(Earvin "Magic" Johnson)。其实,就此我曾考虑很久,因为若要提一个真正的控球后卫,斯托克顿应是最佳典范,但最后选了约翰逊,最主要便是因为他得天独厚的领导能力,以及他在场上能够带动士气的本领。首先,约翰逊的控球、传球能力应是毋庸致疑,虽然他横步运球的动作不甚好看,但球于掌中控制得恰到好处,背后传球、指东杀西更是不用多说。而在其他方面,无论外线或切入上篮、破坏,亦都让对手伤透脑筋,而唯一美中不足的是,他的命中率稍低了点,刚刚够五成,三分球则更差。但这也多少与他较强的得分欲望有关。然而,真正让他成为一个伟大控球员的因素,也正是前面所提及的-领导能力。一个控球员能够在场上指挥全队攻守,甚至只要他在场上,就能让所有队友有赢球的信心,这种在心里上的助益,绝非是几个助攻所能比拟的。简单地说,约翰逊就是能让在场上的队友发挥出超过百分之百战力的人,而非任何数据所能说明,这也就是约翰逊之所以为魔术师之处。

职业定义

软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。

职业分析

软件工程不等同与软件开发,软件工程是一个工程学科其指导意义更多。一个比较贴切的比喻:把一款软件比做一座大桥,那么软件工程师相当于施工总指挥,而一般的开发人员相当于建筑工人!

软件工程师从扮演的角色来看大致可以包括以下这些:一种是既懂技术又懂管理的软件高级人才,他们更注重项目进度管理统筹;另一种是系统分析及设计人员,主要职责是分解一个项目或程序,使之变成一个一个相对独立的模块交程序员开发,最后还负责集合所以功能模块,还有统一项目中的所有规范等。还有一种就是称为一般的软件工程师或程序员。软件工程师是在IT中最普通的职位,几乎每个IT企业不论你做什么内容,或多或少都需要这样的人才。

考试科目

软件工程师是中级职称,考试的题目包括了软件工程、数据库、数据结构、编译原理等计算机学科的基础课程

发展前景

当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。所以学好学校所能提供的专业课程是相当重要的。

软件工程师主要做指导程序员的工作。参与软件工程系统的设计、开发、测试等过程。协助工程管理人保证项目的质量。负责工程中主要功能的代码实现。解决工程中的关键问题和技术难题。协调各个程序员的工作,并能与其它软件工程师协作工作。

软件工程师是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。

它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。

软件工程师介绍

软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。

工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。

以上就是关于程序员的 职业素养全部的内容,包括:程序员的 职业素养、PG是什么职位、软件开发工作描述等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zz/9390743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-27
下一篇2023-04-27

发表评论

登录后才能评论

评论列表(0条)

    保存