职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。

需求分析师

在确定项目后需求分析师和客户进行深入和细致的沟通。理解业务和客户在他们中业务中用到交互方式;还需要理解这个项目中牵涉到的各种利益相关人员,要充分的从他们的想法中得到规范的业务需求。重要的是深入的理解业务需求,梳理出需求的各个功能点,每个功能的业务性质,另外还需要挖据出系统的非功能性需求。因为客户并不懂软件专业,他们的口述完全是对未来系统的模糊想法,有些客户可能前后描述的需要自相矛盾,好的需求分析师不仅能清晰的掌握业务需求,不仅将需求从业务人员的口述的功能提炼出需求分析报告,这份报告在不需要接触客户的情况下,开发人员都能清晰一致地理解,高级的需求分析工程师还能从需求中抽象出本质的内容,对于不稳定的需求找出其中的本质问题,可以给出各种重用的方法。能够挖据出潜在的需求问题,对于业务能够提出可兼容、可扩展的需求解决方法。除对需求本身的分析,还得能够理解客户的组织机构、人员组成,关键人物的业务要求。他作出的分析报告,不仅客户中的基层人员能够接受,还能满足高层领导的要求。经过需求分析师的辛苦劳动,最后会给出一份《软件需求规格说明书》,这份说明书为以后的工作奠定了重要的基础。它详细的描述了系统有哪些功能点,每个功能点的操作和数据格式,系统使用者的分类,功能点的优先级,系统的非功能性需求,数据字典,系统的应用环境,扩展点,维护功能,甚至界面要求。

需求分析方法:

1。 绘制系统关联图,这种关联图是用于定义系统与系统外部实体间的界限和接口的简单模型。同时它也明确了信息流和实物流。

2。 创建用户接口(系统操作界面)原型,开发一个可能的局部实现,这样使得许多概念和可能发生的事更为直观明了。用户通过评价原型将使项目参与者能更好地相互理解所要解决的问题。注意要找出需求文档与原型之间所有的冲突之处。

3。 分析需求可行性,在允许的成本、性能要求下,分析每项需求实施的可行性,明确与每项需求实现相联系的风险,包括与其它需求的冲突,对外界因素的依赖和技术障碍。

4。 确定需求的优先级别。以优先级为基础确定产品版本将包括哪些特性或哪类需求。当允许需求变更时,在特定的版本中加入每一项变更,并在那个版本计划中作出需要的变更。

5。 为需求建立模型,需求的图形分析模型是软件需求规格说明极好的补充说明。它们能提供不同的信息与关系以有助于找到不正确的、不一致的、遗漏的和冗余的需求。这样的模型包括数据流图、实体关系图、状态变换图、对话框图、对象类及交互作用图。

6。 创建数据字典,数据字典是对系统用到的所有数据项和结构的定义,以确保开发人员使用统一的数据定义。在需求阶段,数据字典至少应定义业务数据项以确保客户与开发小组是使用一致的定义和术语。分析和设计工具通常包括数据字典组件。

7。 使用质量功能调配,将产品特性、属性与对客户的重要性联系起来。该技术提供了一种分析方法以明确那些是客户最为关注的特性。QFD将需求分为三类:期望需求,即客户或许并未提及,但如若缺少会让他们感到不满意;普通需求;兴奋需求,即实现了会给客户带去惊喜,但若未实现也不会受到责备

使用的工具:UML,VISIO,思维导向工具MindManager。

精选阅读

软件业职位总结5 开发类[3]


系统分析师

经过几年的开发工程师经历,积累了丰富的开发经验,在不断的努力下你的职位得到提高已经不用再每天Coding了,可以写写文档、画画图做设计了。

系统分析师主要参与或主管以下工作:包括业务需求、实现功能、性能要求的分析和总体技术设计工作。参与并指导开发工程师完成详细设计文档和代码编写,解决系统关键部分的设计和开发工作,制定技术文档的格式、内容。对系统实现的程序代码、脚本、数据库等交付物进行审计和质量管理。

系统分析员要不断的学习,不断的实践,不断的更新知识,不断的优化自己的知识结构,这一切都使得系统分析员成为稀有人才。在软件组织中属于高级职位。好的系统分析员师都是从优秀的开发工程师中产生的,有着坚实的开发功底,丰富的编程经验。没有对系统本身进行过透彻剖析和编码实践,很难领会到其中一些难以言述的精华。

系统架构师

在软件和硬件系统没有发展到现在的应用规模时,人们普遍的认为,教科书也在说程序=数据结构+算法。但是随着系统的发展,程序处理数据量、并发介入客户、系统的需求变更、运行维护等等的工作使得大家对软件的架构越来越重视。不仅数据结构(数据库设计、类、字段等)算法的实现技术有很大的进步,而且对系统技术结构,系统各组件的设计,系统的部署等等方面更加重视了。随着计算机网络操作系统、虚拟化技术、WEB服务器、应用服务器、中间件、应用程序容器,SOA,企业服务总线等技术的推广架构设计已成为软件系统的首要考虑。在经过一些项目的实施之后,人们逐渐意识到,即使你对系统有良好的分析和设计,但是由于没有在软件架构方面做深入的分析在随后的系统运行中,麻烦越来越多。比如我们怎么在不影响业务运行的情况下将需要更换的组件撤下,将新开发的组件上线。一个大单位中上线的系统越来越多,怎么统一管理这些系统共享的数据资源,使各系统在任何时候都能拿到同样的数据又能及时地更新。系统架构师是要站在系统之上和企业所有系统系统之间去分析,在未来多少年之内采用何种技术企业的信息系统能够轻松应对业务需求。

结束

经过了解以上这些职位,我想大家对一个软件公司都有些什么样的人有了一定的了解,在一个有一定规模的软件组织中分工是非常详细的。希望这次讲座大家对软件公司的技术类职位不再陌生,不要只知道我我将来就要搞软件呀,能够清楚自己的目标。

软件业职位总结1 销售类[1]


目前软件界职位分类:

销售类:售前工程师、售后工程师、系统集成工程师;
测试类:测试工程师,产品测试经理;
项目管理类:项目经理,QA工程师;
系统类:网络工程师,基础设施工程师;
安全类:安全系统管理员,网络安全管理员,安全开发工程师;
维护类:数据库管理员,系统管理员,系统运行维护管理员
开发类:需求分析师、开发工程师、人机系统开发工程师、系统分析师、架构师;

1、随着软件的复杂度越高,软件业中的职位进一步细分。有利于合作,以更好地解决问题,提高效率。越来越细分的软件职位对与有志从事软件业的人员来说是个不好的消息,不知道将来向上往哪个职位奋斗!帮助大家了解目前软件业有哪些职位,这些职位具体承担哪些工作,这些工作大致需要哪些技术知识或素质。确定从业信心,看到从事软件行业自己会有哪些可能的选择。在大家的软件职业生涯中可能会遇到各种各样的工作机会,每种职位的发展各不相同,每个人的特点或性格都不同,对于日新月异的IT业发展,提前确定目标并规划是非常有益的。

在介绍每类职位的同时,我们来了解一些业内常用的工具比如:测试类会用到:WinRunner、LoadRunner、TD;项目管理会用到SourceSafe、StarTeam、ProjectManager;开发设计类会用到Enerprise Architect、Rose Rational。对于有志向未来从事某类职位的人了解一些业内使用的工具和一些工作情况,避免闭门造车、盲目学习,或是在面试中能够提出这些工具表明自己用过或者接触过这些提升自己的竞争力。

2、帮助大家了解典型的软件企业的技术组成,当看到一个陌生的企业发出的招聘时能够真正理解这些职位的技术要求,在应聘时良好的心理准备。每个软件企业专著的领域不同,比如有的主要业务电信通讯业,有的专著医药软件,有的主要做物流软件。虽然这些企业的主要业务和客户都不相同但是工作机制基本相同,总归都有类似的组织结构,各个职位和技术力量可能分配的比重不同而已。不要看到招聘中的要求有些自己没有掌握也没有接触过就退缩,只要你以前确实为这类职位类型准备过经过刻苦的学习积累过工作经验,那就去试试。

3、既然已经了解典型软件技术类职位组成,这些职位要求的技术要求的性格素质各不相同,有着不同的职业特点,你在哪方面有兴趣,你的特点更适合在哪方面发展,希望此次讲座对你有所帮助。

售前工程师:

软件行业与其他行业一样都有类似的营销人员,相比那些在商场、电视购物中推销产品的销售人员,软件业的销售类职位要求很高的技术知识、对软件产品详尽掌握(包括产品应用的范围、技术特性、同类产品的技术比较、客户技术应用的环境、软件的行业特点、性价比的演示),售前工程师之所以是工程师就在于他要掌握非常专业的专业技能,不像商场销售电视、电饭锅的导购员经过几天的培训就能上岗,一个优秀的售前工程师可能做过多年某个行业软件开发,积累了多年对此行业软件的理解,非常了解这类软件的行业需求,在各类企业中的应用情况,他会知道如何配置或者实施自己的软件来满足用户的需求,当用户问起一些技术特点时他能从容应对并且展示出自己对销售软件的信心,还能将销售的软件的某些技术优势潜移默化的传递给客户。现在的软件市场巨大多数是买方市场,客户的业务需求被软件公司挖掘的都差不多,如何使自己的产品在客户的客户的心理中的技术面上占据重要的地位,不仅要完全掌握当前流行的技术,还得充分了解客户的详细需求,能将这些产品的技术和功能和客户的需求合理亲切的吻合在一起,这些是一个优秀的售前工程师要具备的基本素质。还有一些公关方面的能力。

举个例子:有一个客户是国内一家著名的电器制造企业,正准备上一套计算机管理系统。售前工程师在拜访客户的之前详细地准备了一套产品ppt来演示涉及生产计划、采购、制造、仓库、销售、财务、考核等各方面的功能。由于系统实施很复杂,用了将近一星期的时间来准备材料,自以为得很充分了。在客户那里给客户演示产品刚开始一段时间,客户就打断了售前的介绍问了三个问题:

你知道我的企业管理中有那些问题吗?你的软件具体能解决我企业的什么问题?
你有多了解我这个电器行业你的软件在那些方面有所体现?
我花几百万买你的软件我的投入值不值得?

由于事先只关注自己的产品没有深入了解该客户,对整个行业又不是很有经验,只能支支吾吾地回答了一些类似有效降低库存,提高订单的反应速度,提高客户的满意程度等套话。客户很客气地终止了我的演讲婉言谢绝了这次推销临走时他告诉笔者,他需要的是一套适合电器行业的能解决他公司实际管理问题的软件系统而不是我们这套软件。

售前的工作不仅是上面所提到的,他的工作越来越像咨询工程师,好的售前拥有卓越领悟力优秀的客户沟通能力。给客户强大技术优势感和信任感。同时真正能够发现、理解、解决客户的问题。

举个例子:像Oracle 、IBM 、MS、华为的售前工程师,技术能力、行业知识、穿着举止、收入;国内小公司售前就差一些。

软件业职位总结1 销售类[2]


售后工程师和系统集成工程师:

都属于技术支持工程师,当客户把软件买下了,在使用的时候总会出现各种故障,不单是小软件公司的售后要经常跑到客户那去解决软件运行报错,安装故障,误操作错误,数据恢复等等问题。越是大公司它的售后技术支持力量越大,因为他们的软件承载的业务非常重要,一点异常或是错误都会给客户带来巨大的损失也会让自己在业内蒙受羞辱。售后工程师首先是要对自己负责的产品非常精通,熟悉每个组件的运行情况,产品的安装环境,客户的业务运行状态等等。在出现问题及时赶赴现场为客户解决故障,挽回损失。系统集成工程师的技术特点与售后工程师类似,在客户把软件买下后分析客户的业务需求完成产品的实施,最终满足客户的要求。

为什么将销售放在第一个讲,不仅是销售类的薪酬高、技术要求高,另一个原因是我的个人观点:软件业经过这么多年的发展,正在转变为传统行业,传统行业的一个特点是销售非常重要。

1、传统行业的特点2:8 ,20%的企业占有市场的80%份额,软件业的大公司逐渐分化分别控制不同行业的软件需求,如金碟、用友在国内财务软件类的巨头,东软则是医疗类软件巨头,数据库类的有ORACLE MySQL、 SQL SERVER、DB2分别属于ORACLE、MS、IBM公司三家公司的数据库产品几乎瓜分数据库产品的销售市场。在桌面操作系统类XP,VISTA,WIN7和Ubuntu RedHat 雪豹;服务器类的WebLogic、WebSphere、IIS、Glassfish;随着虚拟化,云计算技术的发展未来的软件业的格局可能会更加集中,将为客户提供更加专业的服务。

2、需求推动技术发展到技术引领需求发展的转变,在软件业的初期都是有这样那样的业务需求,比如图像处理、三D建模软件,都是有着很多的需求,哪个软件能率先满足这些需求,他的公司就能迅速发展。在大家的软件都实现了用户的需求时,哪个软件实现的效果好运行的稳定操作人性化那么它的公司就会淘汰那些不向前发展的公司。比如:netAnts flashGet xunLei 现在各家公司做软件都做得不错价钱也都公道,怎么才能让客户信赖自己的产品和公司呢,那就是引导客户的需求,这时就是技术引领需求发展了。比如现在的主数据、元数据管理,SOA等。

3、咨询服务在软件业的比重越来越大,IBM有很多业务都是咨询服务一份报告30页,一个月时间60万。软件业的售前活动非常像咨询服务,售前工程师通过拜访客户,与客户交谈了解业务情形和特点,发现并理解目前存在的问题,提出针对的解决方案,并将自己的解决方案与别的公司做技术和经济性的对比。

软件业职位总结3 项目管理类[1]


每当公司接下一个单子,为了能够按时保质的完成合同的交付物,老板就会将这样重要的任务交给项目经理,这是一个要求综合素质的职位,既要懂技术又要懂管理还得性格适合。从这三方面我们逐一了解一下项目经理的工作。为什么会有项目经理这样的职位呢,很简单一个项目总得由一个人来计划调度实施,如果是个小公司那么项目经理就是老板,但是到了一定规模的软件公司老板哪有这么大的精力同时管理多个项目,所以他就将项目分配给合适的项目经理来负责。一般的来说老板要求项目经理确保项目顺利实施,保证客户满意,只有顺利实施客户满意公司才能拿到钱。这也是老板衡量项目经理工作能、水平高低的基本标志。再者老板会让项目经理报告整个项目的评估包括工作内容、工作量,人力安排分配,经费预算,项目总体规划,如何分阶段实施。看过项目经理的报告老板再加入自己的意见,再和其他部门,比如测试部,开发技术部,系统部项目的相关部门一起讨论这份报告项目,确定如何实施项目,最后由项目经理来综合管理这个项目。似乎在这里好像除了老板就是项目经理厉害了,其实不然。项目经理只是综合管理这个项目并不是老板有着绝对的控制权,他要从开发技术部、测试部等相关部门的职员中找到合适的人来成立项目组,要想组织起一个成功的项目组,这不是想象的那么简单,需要这么项目经理有适合的性格,一个脾气大有抠门的项目经理是组织不起来好的队伍,但是脾气好由大方的也不一定能,需要一个合适的性格。来管理那些属于不同部门的同事一起同甘共苦完成项目。既然队伍拉起来那就干吧,既然是这个项目组项目经理很多关键问题需要他来决策。项目经理要亲自决策的问题包括实施方案、总体技术方案、重大技术措施、奖惩、设备采购方案、资源调配、进度计划安排、合同及设计变更、接待客户等。 是她来决策干活的可能是架构师、测试部工程师、也可能就是他自己做的文档。在实施的过程中不断的监督进度,检查质量,修正方向,修改方案,和各部门扯皮最多的是系统部和测试部,向老板汇报,联系客户展示阶段成果和客户沟通,还得犒赏组员吃吃饭喝喝酒。最后按时按要求的交付。我们来看看项目组的成员,一般项目组都会有架构师,系统分析师,需求分析师,开发工程师,测试工程师,一半个系统部的人,QA,项目经理就是要哄着这些人好好努力工作,不惜加班,带病工作。

但这样人都不是好惹的,他们中有些人的级别比项目经理的级别高,薪水地位比他高,怎么能带好这支队伍,这就要求项目经理有个合适的性格。在别的行业项目经理可能不会遇到这样的问题,但是软件行业这是常有的事,甚至有的老板都不了解这个问题,随便招来一个自吹自擂的家伙就让他来负责,结果组员告状,消极怠工,项目失败或者不成功。可见项目经理要有好的EQ。其次还有具备项目管理知识,项目管理已经发展成一门的管理学科,它不仅仅要项目经理具备软件开发过程管理,熟悉CMM知识,还得具备较深的开发技术功底,不然要是一个笨蛋架构师提交了一份糟糕总体设计若是没有相关的知识不能及时纠正项目实施出现了问题再从头来。可见一个合格的项目经理要具备懂技术甚至是技术高手能够代领大家走出技术困境,发现错误还得懂管理运用科学的项目管理知识经验最后还得有个合适的性格。要介绍项目经理的工作和如何做一个好的项目是一个非常大课题,但是从讲座的目的我只想大家了解下项目经理的工作,如果有志在这个方向发展的朋友,我的建议就是项目管理是干出来的,不是学出来的不要以为去参加个软考拿个证书就能干这行,同样我早大一的第二学期就认识到我的本科专业管理工程不会让我在毕业时找到好工作,同理管理是干出来的,不是学出来的,所以我马上纠正了自己,通过考研究生换了专业。

软件业职位总结2 测试类


测试技术经过这么多年的发展,在大学已经有软件测试的专业,在很多年前就有软件测试研究方向。我读硕士研究生时的研究方向就是网络协议的一致性测试。在这里只是介绍测试职位在实际工作中的具体工作是什么。一个测试工程师的工作大致上是在完全理解软件的业务需求后根据每个功能点和它的分类;编写功能测试例,将测试例分组归类成测试套件。测试例是测试文档中最基础的组成部门,测试工程师根据测试例去测试软件,测试的软件是在经过开发部门单元测试后提交给测试部门用来做集成测试和系统测试。随后咱们介绍一下测试工作的种类:单元测试、集成测试、系统测试、回归测试、性能测试、安全测试。测试软件可以是人工操作通过鼠标点击键盘录入来实现,也可以编写测试脚本,或者在人工操作测试的过程中通过专业测试软件录制测试脚本,然后再手工修改部分代码,以后就可以自动执行测试,不用再手工测试。提高了测试效率和测试的准确性。因为一个软件的测试例在编写的时候软件业务需求、技术需求等文档基本都已定稿,所以测试文档确定以后是很少修改或变更。测试脚本或测试程序也变化不大,每次的回归测试如果都是手工测试那么工作量可想而知,回归测试一般都是由测试脚本来自动测试。因为编写的测试脚本最终运行后要给出测试结果,一般的测试结果分三类:通过、失败、未决。

关于测试的分类一般分为以下:单元测试、集成测试、系统测试、回归测试、性能测试、安全测试。单位测试一般有开发部门自己完成,主要测试自己编写的代码实现的功能、组件接口是否符合设计文档,输入输出是否正确。在完成单元测试后提交给测试部门。管理规范的公司或者通过CMM3级的组织都会有代码管理工具如StarTeam SourceSafe等。测试部门会在开发部门提交代码后下载最新版的代码,集中编译上传到测试环境中,进行集成测试。集成测试用来测试软件的各组成部分是否能按设计要求组合在一起实现预定的功能,做各模块联调测试,检查各模块的接口是否一致、各模块间的数据流和控制硫是否按照设计实现其功能、以及结果的正确性验证,可以是整个产品的集成测试,也可以是大模块的集成测试。集成测试之后就是系统测试:它是针对整个产品的全面测试,既包含各模块的验证性测试(验证前两个阶段测试的正确性)和功能性(产品提交个用户的功能)测试,又包括对整个产品的健壮性、安全性、可维护性及各种性能参数的测试。回归测试是当软件需求发生变化,程序代码也完成更新,这时要测试一下修改或新增的代码对已有未变化的功能是否有影响。防止修改了旧bug增加了新bug。或者增加了新功能原有的功能却不能用了!性能测试一般会测试软件并发用户数,响应时间,大数据的处理,长交易处理能力,宕机恢复能力等一般会使用LoadRunner。安全测试主要基于工具分析和扫描,检查是否存在危险如:注入攻击、拒绝服务、配置操纵、访问控制、日志伪造等等。

产品测试经理

属于测试工程师的老板或上级,具有丰富的产品测试经验和需求领悟能力。曾经的一个测试事故让我对产品测试经理的能力有了非常深的印象。有一次系统新增加了一项与之前功能相关且名称相似,测试工程师没有理解业务需求编写出来的测试例几乎没有覆盖新增加的功能,被产品测试经理检查出并纠正。敏锐的洞察力和良好的分析、研判能力来分析市场发展趋势,可以提出软件的发展或进步方向。把握用户需求,完成需求分析到测试转变,对产品设计的生机和改进要能提出关键的意见。负责或配合其他部门,持续改善产品。负责测试团队的日常管理工作。

测试类职位的特点

职位的重要性和地位在稳步上升,与开发类平分秋色。在前些年人们往往看不起测试职位,一方面它位于整个项目的下游,如果没有开发就没有测试,测试总是跟在开发后面。另一方面软件系统的复杂性和应用环境简单,测试在项目起的作用较小。但是这两方面随着开发技术的发展尤其测试驱动开发TDD,还有是人们对软件质量的关注使得测试逐渐和开发地位基本持平。我原来在的单位技术性的员工有100多,开发技术部的有40人,项目部30人,测试部30人。

且职业寿命在积累中逐渐增长类似医师。自动化测试、一致性测试、互操作测试等等技术的发展使测试工程师在工作中不断积累了经验,不像开发类的技术和工具都不断更新。而测试类的工程越来越值钱,越老对软件的理解越丰富。

在软件业技术是非常重要的,在从事技术类高级职位的工程师,不仅有非常好的技术,还能带领一支技术队伍,像导师一样帮助他们给于技术支持和指导,确定工作方法,指明工作方向,解决队伍在项目过程中遇到各种技术问题。同时还要具备领导能力。我在读研究生的时候老师让我给本科生带辅导,我对这样工作一点不重视,觉得不就是看着他们做实验出错的时候去给调试一下,但是我的老师很严肃的对我说:你要给别人一滴水,你自己要有一桶水,我有又了一句,如果你只有一滴水,你只会给别人一头雾水。

软件业职位总结4 系统类、安全类、维护类[1]


职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。

系统类、安全类、维护类

将这三类放在一起,一方面是我在这方面工作经验比较少,只是平时在工作中接触,另一方面我觉得在这几类职位的工作内容是很多职位都需要掌握的技术只是这几类职位要求的技术更精,承担的工作量更多,比如系统管理员每天都会监控服务器,会将给加入团队的同事建帐号授权,将离开的旧同事帐号注销。现在我们来一一介绍这几类职位,最后的重要的原因是这类职位与软件职位有关系但与软件职业有些距离。

网络工程师

一定规模的软件公司或者大型的单位都需要将本单位的计算机联网,建设网络不仅需要布线,调试网络设备如交换机、路由器、放火墙、VOIP设备、存储设备等,还需要管理接入网络的各种设备比如服务器ip地址,一组计算机的IP,网络打印机等等。具体来说网络工程师从事的工作有以下几类:

1. 负责机房内的网络联接及各网段的划分配置。

2. 负责系统网络的拓扑图的建立和完善,并做好系统路由的解析和资料的整理。

3. 负责机房线路的布置和协议的规范工作。

4. 负责计算机间的网络联接及网络共享,并负责网络间安全性的设置。

5. 负责对网络障碍的分析,及时处理和解决网络中出现的问题。

6. 利用网络测试分析仪,定期对现有的网络进行优化工作。

根据网络工程师的专长大致有:配置管理类;布线施工类。

喜欢网络的不是喜欢上网的同志可以投身到这个职位的发展中,我研究生是学习网络的,研究的是网络协议一致性测试,但是后来并没有一直在这个方向上发展,并不是网络工程师没有发展,只是我的工作没有遇到这样的机会,我的一些同学后来一直从事网络方面的工作。在后来的工作中网络技术知识给与了我很大帮助,经常性的在一些和开发人员的技术讨论会中提出专业的术语让同事惊讶。现在简单来说一下网络工程师的职位发展,一种是直接进入专业的网络技术公司如华为,你的工作可能是售前,也可能是做网络工程师,客户比如电信、移动买了设备你要去帮助他们安装调试,随着技术积累和工作经验你可能会成为公司某个部门的主管,这个部门负责某类企业的业务。第二种你应聘去了非网络专业的公司甚至非IT类的,你可能会从基础做起在实践中积累经验发展到侧重某类技术比如网络存储工程师、综合布线工程师、网络安全工程师等。最后进阶到专家级别,如IT项目经理、网络主管或者技术专家等。

系统管理员

很多公司可能不会专门设置这么一个职位,但是系统管理员确实是不能缺少的,有时是由高级别的主管兼职,工作主要负责服务器的管理维护工作,服务器是每个公司的重要资源,他的计算、存储、组织管理域控等等,如何让它稳定、安全、高效的运行是需要专业的技术知识和丰富的经验。

系统管理员的工作大致分为两类硬件和软件。硬件类的:比如服务器安装操作系统时,根据这台机器运行的业务如何创建磁盘阵列,做raid1还是做raid5;最近服务器总是慢运用日志工具检查问题出在哪里,需要升级那些部件;有一天突然看到某台设备出现的报警,但是服务器还在运行,如何安全的换下报警的部件决不能让服务器宕机。软件类,最典型的就是AD的维护,管理和维护帐户,或是某个重要的软件系统的维护,比如我在的单位有个资深的测试工程师就兼职管理维护StarTeam服务器。

软件业职位总结3 项目管理类[2]


高级项目经理

同他的名字,就是比项目经理更厉害的项目经理。有时高级项目经理是老板对跟随自己多年的老功臣的安慰,有时只是为了让薪水拉开距离,有时是只有高级项目经理去做大项目,也有的时候高级项目经理来管理项目经理,它是项目经理的老板。总之具体的工作还是那些只不过更高级了,就像有些人的职务前加个资深。我在公司做的就是高级架构师但是做的就是架构师的工作,给个高架的职位是老板对你安慰,而且他还不让你写代码,如果不做开发时间长了很多东西就会逐渐流失落后。

我们来说说项目管理类的职位会用到哪些工具,最基础的就是Word和Excel,不要小看这两样,他为项目管理提供了最基础的数据,每份统一了格式的文档,每份精心设计的Excel都是项目的重要成果,包括各个项目周报,个人周报等等。然后就是专门用于项目管理的软件如MS Project。软件生产是智力密集型的活动,其产品无物理外形,生产状态也不可见,因而难于检查和驾驭。如何管理项目的计划、调度、通信、费用估算、资源分配以及质量控制等。软件项目管理工具就是要使这种生产过程成为可见、可控的过程。使用它能帮助进行成本估算、作业调度和任务分配,并制定出成本较低、风险较小的项目开发计划;同时能设法在预计工期和经费之内适当调整项目的安排,以节省时间和人力,从而对软件生产的各个环节进行严格、科学的管理,使项目开发活动获得最佳的进程。 使用专业的项目管理工具不仅有效的帮助项目管理,而且它还能规范你的管理过程。

QA工程师

如果一个软件企业正在实施CMMI或者已经建立了研发管理体系都会在项目组中加入一名QA工程师。在我的工作经验中只有到达软件企业的公司,组织规模在300人以上,才可能去实施CMMI,就算去实施CMMI,最后也只不过是为了拿个CMMI的证书,QA工程师很多时候都是为了CMMI才存在的。不知道是咱们的软件公司不重视研发管理还是CMM和CMMI不适用于中国人。CMMI标准文件说,QA是高级经理的ears and eyes。研发人员眼中的QA往往也是警察,QA的作在于发现和报告项目的问题。一个合格的QA在项目中会充当三种角色:

角色1-老师,具备学习和培训的能力。

角色2-医生,通过度量数据对项目过程进行诊断,帮助分析原因,开处方。

角色3-警察,以企业流程为依据,但要告诉大家流程背后的原因;如果和项目组针对某些问题意见相左,可以直接汇报高层。

但在我的工作经验中却没有看到过这样的QA,虽然我的项目组也有为QA,但是主要为了实施CMMI而设置的,她是一位女性,不参与我们的讨论,只是默默地看着听着,然后回去写她的文档,只有在项目组研究去哪里吃饭庆祝阶段成果时就是看到她积极踊跃发言。

十六招成为大型软件项目的开发英雄[1]


职业规划就是对职业生涯乃至人生进行持续的系统的计划的过程。一个完整的职业规划由职业定位、目标设定和通道设计三个要素构成。

我们都遇到过这种情况:一个大型软件项目的建设没完没了,好像总也完不成。事实上微软的一些大型软件项目经常会陷入这种困境,像Vista,SQL Server,XP这些大的软件项目就是如此,在项目开发的最后阶段总是不得不删减大量的功能模块,任命新的管理者争分夺秒地交付产品。在最后期限内,如果你只是不停的编译再编译,而总也完成不了产品,你就会陷入困境无法脱身。你怎样才能让一个大型软件项目脱离这种困境从而成为一名软件开发英雄呢?让我来告诉你如何办到吧

首先,让我们了解一个失败的大型软件开发项目产生的过程:为了解决一些复杂的问题,一个大型的软件开发项目被设计出来了。很好!软件就是用来解决问题的。但是从第一天起事情就朝错误的方向发展了!怎么回事呢?是这样,经理和主管决定由他们来计划整个软件项目的细节而这些细节可以说是细到了极致。接着他们任命一个项目经理来管理所有的程序员,让这些程序员独立完成各自负责的部分。就在项目交付使用的前几周,这个项目经理开始整合所有已完成的部分。这样能行吗?当然不行了这简直是一场灾难!项目被拖延了!几天、几周、甚至几个月,几年过去了项目都还没能完成交付。问题到底出在哪里呢?我们该如何解决呢?

软件开发就像是建楼房

你看过建楼房的过程吗?建楼房时是不是每个人都在各自的区域建造自己负责的那部分呢?当然不是!那么摩天大楼是如何建成的呢?首先应该是打地基,然后用升降机井建楼层,一层接一层的建,再修建内部的构架你能想象出如果每一部分都是在不同场所建造的,最后再将所有这些部分移到施工现场进行整合会是什么样子的吗?即使你有一个绝妙的整合方案,你也会遇到问题:一些部分可能不能互相锲合需要重新做,建筑师可能改变他们的想法,一些部分有可能丢失,整个建筑看起来就像一对乱麻!

完成项目成为软件开发英雄

你的软件项目正面临危险吗?或者它已经处在困境之中了吗?你准备好让你的软件项目重新步入正轨了吗?那让我们开始

性格决定成败-软件开发人员如何成长[1]


职业规划是对职业生涯乃至人生计划的过程,职业生涯规划的好坏可能将影响整个生命历程。感谢您阅读《性格决定成败-软件开发人员如何成长[1]》内容,职场资讯网小编向您推荐一些职业规划知识,欢迎参考,希望能帮到你。

对于一名软件开发人员,自入行以来, 在对自己的职业生涯进行规划时,很多人都会感到一些茫然和踌躇,因为通往成功的道路有很多条,选择哪一条,怎么去走是两个很重要的问题。

性格指引方向

成功不易得, 所以通往成功的道路必然复杂而曲折,中间有岔路,也有捷径。总结起来, 主要分为两条主干:职场道路与创业道路。这两条道路有一个共同的特点--呈阶梯式递进。

Corporate Ladder 阶梯式职业生涯

Start-up 自主创业

由上图可以看出,对于一名技术开发人员,如果做详尽的职业规划,就会发现有很多条道路可以选择。在选择的过程中,有一点非常重要:无论开发者最终选择哪条路,归根结底都取决于自身的性格和所愿意担负的责任多少。因为,一名技术开发人员,最初主要是对自己负责,但当他成为总监或首席技术官后,就要开始为所在的整个团队负责了。
另一条主干路--自主创业,其特点在于不依附于任何一家大型软件公司而是独立成长。就国外的一些软件厂商来讲,为软件开发者提供的多数工作机会是在大型的软件公司,但其实小型的软件公司数量也很多。

以上《软件业职位总结5 开发类[1]》一文,由编辑精心撰写而成,希望对您的职业规划有所帮助,更多精彩请访问“职业规划总结”专题!

相关文章

最新更新