系统分析师

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

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

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

系统架构师

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

结束

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

扩展阅读

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


需求分析师

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

需求分析方法:

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

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

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

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

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

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

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

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

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


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

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

软件业职位总结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而设置的,她是一位女性,不参与我们的讨论,只是默默地看着听着,然后回去写她的文档,只有在项目组研究去哪里吃饭庆祝阶段成果时就是看到她积极踊跃发言。

软件业职位总结2 测试类


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

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

产品测试经理

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

测试类职位的特点

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

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

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

软件业职位总结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万。软件业的售前活动非常像咨询服务,售前工程师通过拜访客户,与客户交谈了解业务情形和特点,发现并理解目前存在的问题,提出针对的解决方案,并将自己的解决方案与别的公司做技术和经济性的对比。

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


目前软件界职位分类:

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

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

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

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

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

售前工程师:

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

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

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

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

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

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

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


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

系统类、安全类、维护类

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

网络工程师

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

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

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

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

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

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

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

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

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

系统管理员

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

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

IT行业的职业细分 软件研发和硬件研发[3]


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

3、技术,终于说到技术了,这是最奇怪的一个职业,本来没它的,但就是出现了这个职业。其实技术在国外,应该叫做Service,即技术支持。

技术,往低里说,电脑城的拼机器的,也是技术人员,通常由谈单员兼任,谈单员通常由大学生勤工俭学兼任,呵呵,一起练了。再往上,客户那边送货,把包装拆开,技术,联网,技术,调试网络,技术,再大了,这里说句话,希望大家不要见怪,网络管理员,其实也是技术。

以前有段时间,MCSE很流行,我也去考了一个的,但是,后来发现,研发单位招人,根本不看这个,因为这个学习的是如何操作机器,而研发是设计机器以及操作模式,让别人操作。CCIE也是啊,因此,当时很多说法其实是有点误导,说学了这些证书可以不上大学,成都还出现过一个娃娃,高三毕业考过了MCSE,就不上大学了的事情,现在不这么说了,因为毕竟上大学才是王道。光靠这个证书,是吃不了一辈子饭的。

在华为,迈普,技术是一个专门的职业,负责给客户送货,因为他们出路由器,安装配置有一大堆事情,电信局又是大牛,人家才不会去管这个事呢,厂家来人解决。顺便说一句,电信局守机房的,也是技术。

原来没这个职业,就要研发人员兼任,因为这毕竟是个技术活,不过,久了研发人员不干了,天天出差,还做什么研发,老板也不干了,因为研发人员工资高,在大家看来,连连线,配置几个IP地址,这不复杂,如果用研发人员干,成本太高了。

喏,就这样,一个独有的职业,技术,在IT企业被定义出来,这部分主要找一些较为低端的人才,二本啦,三本啦,自考啦,总之,我看见很多年轻的朋友,希望进入IT业,没有本钱,不会做老板,也进不去一些大型公司的门,一般选择,就是在电脑城做技术起步。

现在很多系统集成公司,他们定义的项目经理,和研发单位的项目经理不太一样,其实也是技术,这类公司一般都是经销商,不是制造商,自己没有产品,靠代理别人的产品再销售来获取利润,一般说来,渠道这个词,就是指这类公司。这些公司的技术人员,主要工作就是看,我代理了哪些产品,哪些产品利润高,我怎么给客户报方案,把利润高的产品设计进去,等等。

这里面其实也有设计工作,但是,显而易见,这部分设计工作和前面的研发架构师的设计,是两个层面。

当然,这里有两个特例,一个是目前很多中小型,做网络应用的架构师,他们也有这个设计部分,这些企业一般都是项目制,没有自己的产品,每一单都要定制开发,这类和前面的系统集成设计有一定类似,因为很多项目包括了设备采购什么的。

另外一个特例就是系统集成设计,通常就是Marketing的活,因为自从IBM提出卖服务的概念以后,给客户交钥匙工程成为主流,大家都说自己是解决方案提供商,因此,Marketing通常就是采集需求,利用本公司产品或者代理的产品,组成解决方案,一体化提供给客户。

因此,从职业发展途径,技术一般说来,也可以走到Marketing.通常Marketing有两个产生渠道,Servicer技术,或Sales销售。

当然,这里也看出技术这个职业的短板,因为Marketing毕竟是销售为主,因此,销售能力占主导,技术人员由于长期和机器打交道,因此,恐怕也是机器脸居多,卖东西能力很差,因此,技术能转成Marketing的,更少。

当然,也有技术人员转回来做研发的,不过,也很少,起码我没有看到什么成功的案例。

4、管理,这里就简单说啦,一般说来,管理本身是抽象的,并不是IT业的管理,一定只能从IT业产生,或者一定只能管IT业,IBM的总裁郭士纳,就不是IT业出生,管理的英雄们,例子就太多了,他们有个统一的称呼,职业经理人。

前面说的几种,总的来说,都可以最终成长为管理,不过,管理也是最难的,一来人是最复杂的,不像机器那么好打交道,二来,管理要看运气,单纯说水平不行,得老板看得上才行,你说是吧?

因此,研发,销售,技术,要想成为管理,这个成功率,一般不高于1%的,不信,数数你们公司管理人员和普通员工的比例,或者,学校里面老师和学生的比例,虽然这不准,但基本能说明一点问题。

5、生产,这个岗位其实各公司都有,不过大多数老板不承认,员工也不愿意承认,呵呵。

大型公司,如华为、Intel等,以生产硬件产品为主的,基本上都有生产部,记住啊,这个生产部很重要,生产,仓储,物流,基本都在这一块。

千万别小看生产,目前生产线上的工人,由于要开贴片机什么的,基本上都要大专学历,还要培训的,我不想明确建议,不过,有些目前找工作特别困难的同学,不妨考虑一下这类大型企业的生产岗位。

大型制造业,如美的,海尔等,他们很多管理层都是生产线上下来的,生产线上也不都是工人岗位,很多生产工艺师,工装设计师什么的,都需要设计这门工作,如果一个学历较高的人进入这个部门,只要自己肯努力,其实也很容易出头,毕竟周围的竞争对手太低了,呵呵,比起研究院来说,要容易得多。

6、其他,这就太多了,老板就属于其他了,呵呵,创业也属于其他,由于这部分不带普遍性,就不多说了。各级行政人员,如财务,秘书,都算其他吧。

上面是我的一点总结,大家可以参考一下,到招聘会时,也可以按照这个分类问问面试官,你们这个职务,是研发职务还是生产职务,呵呵,可能某些小公司的面试官会被你问住。

软件开发专业职业生涯规划书


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

软件开发专业职业生涯规划书

前言

里士多德曾经说过:人是一种寻找目标的动物,他生活的意义仅仅在于是否正在寻找和追求自己的目标。而这目标有大有小,有短期的也有用尽一生去完成的。目标也有多方面的有涉及学业、家庭、工作等。如今我们正处于20岁左右,无论根据萨帕的职业生涯发展五阶段理论,即成长期(1-14岁)、探索期(15-24岁)、确立期(25-44岁)、维持期(45-64岁)、衰退期(65岁以上),还是《黄帝内经》第一篇《上古天真论》中对人体的的成长与衰老作了阶段性划分的女子二七、男子二八后后天生命的开始,都说明现在是进行职业目标寻找即职业生涯规划的黄金时期。

什么叫职业生涯规划?从广义上来说,生涯即是指一个人的一生从始到终的整个经历。而我们在职业方面所说的生涯,更多的是指狭义的生涯概念。从狭义上来说,职业生涯规划是指个人发展与组织发展相结合,通过对职业生涯的主客观因素分析、总结和测定,确定一个人的奋斗目标,并为实现这一事业职业目标,而预先进行生涯系统安排的过程。在今天这个人才竞争的时代,职业生涯规划开始成为在人争夺战中的另一重要利器。对企业而言,如何体现公司以人为本 的人才理念,关注员工的人才理念,关注员工的持续成长,职业生涯规划是一种有效的手段;而对每个人而言,职业生命是有限的,如果不进行有效的规划,势必会造成生命和时间的浪费。作为当代大学生,若是带着一脸茫然,踏入这个拥挤的社会怎能满足社会的需要,使自己占有一席之地?因此,我试着为自己拟定一份职业生涯规划,将自己的未来好好的设计一下。有了目标,才会有动力。

第一章节 自我认知

一、自我认知

自我心理:

良好的身体素质,精神饱满,朝气蓬勃。喜欢运动,如足球、羽毛球、乒乓球。

我的个性

优点:有责任感,诚实守信,有一定的洞察能力,较体贴。善于与进行沟通,有良好的团队合作精神;做事有条不紊。虚心好学,善于吸收别人的优点,知错就改。心态乐观,积极主动。勇于挑战自我,在困难中茁壮成长,充满活力。

缺点:临场应变能力欠佳,胆小,不善于表达,不够果断。有时自己有一点小气。本人很粗心,让人看着有点不负责的状态。

自我兴趣:

人文素质方面:从小受到家人的耳濡目染,对书有独特的亲近感。

学习方面:喜欢与书本打交道,能够独立的学习,有良好的学习动力,经常与同学、老师探讨深究问题。和别人合作完成项目更是有一种无比自豪的感觉。

政治修养方面:对于党派上,有着自己的看法,从不盲目地跟从任何一个党派。更不盲目相信任何一个党派。对党派是一个讨厌的态度。

工作方面: 有条不紊地处理事情是一种享受,和伙伴一同做项目更是一种乐趣。团队合作是协调能力的一种体现,是对自己的一种肯定。

二、他人评价(360C分析)

除了对自己的全面分析外,我还结合了360C的多角度来做客观的分析,从而能够较全面、客观地了解有关自己优缺点、能力等信息,以作为制定个人未来职业生涯及能力发展的参考。

三、综合评价

通过多角度对自己兴趣、个性的剖析,对自己的认识还应该从自己的综合素质和实际能力来了解自己。

工作经历介绍:

实践能力介绍 专业技能介绍

四、个人分析小结

小结

第二章节 职业认知

所谓知己知彼,百战百胜。那么自己除了要了解自己的自身素质外,还需要了解对自身造成影响的外界因素。

一、外部环境分析

1、社会环境分析:

介绍:IT就是Information Technology,也就是信息技术,不过行业内的人也经常谈笑自己是挨踢行业的人,可见这个行业竞争之激烈,变化之迅速.

IT行业主要从事3C产品的研发,生产和销售,相对传统行业,他算是高科技企业,然而IT页发展到现在,主要的行业核心技术仍然掌握在美国少数几个公司手中.行业分工也比较明确.

3C产品指计算机(Compter),通讯(Commucation)和消费类电子(Consumer electronics).其实这种划分也只是按照产品种类来划分的,企业真正在研发、生产和销售中区别不大,就像我本来从事电脑主板的研发,现在却进入了通讯行业。对研发来说,3C产品都是由硬件、软件和测试人员组成,技术相差不大.

IT行业按照产品化的过程.分为研发,如intel(其实他不完全做研发);生产,如台资的代工厂;市场品牌,如DELL,HP和Lenovo.但是各个环节又可分为上游企业,如intel;中游企业,如很多台资;下游企业,很多杂牌厂商.

3C产品代表性企业:

计算机(Compter):主要产品是提供通用PC机,服务器,笔记本电脑等.芯片厂商intel,AMD,VIA,nVadia,Ati,SIS,ALI等.板卡厂商ASUS,微星,技嘉,升技等,软件厂商微软,SAP,甲骨文,AMI,Phoenix等.品牌厂商DELL,HP和Lenovo.集成方案提供商IBM等.

社会主要行业招聘

通讯(Commucation):主要产品是电信和企业网络产品和终端设备,如路由器、交换机、手记等.又可分为数通网络、固定网络、无线网络.不过现在的通讯企业产品一般都覆盖了3个方面.如Cisco(主要做数通,全球最大)、juniper(主要做数通)、Nortel(北电,综合厂商)、Siemens、阿尔卡特、朗讯、Moto、Nokia、索爱、华为、中兴等.

消费类电子(Consumer electronics) :主要是数码产品,如MP3、MP4、数码相机、数码摄像机、摄像头.这方面的企业比较杂,除数码相机和摄像机,由于技术含量比较高,如CCD器件,目前基本上被日本企业所垄断.其他产品的技术含量不高,所以进入的企业比较多。

现状:(IT行业地位)具有高技术含量、高附加值特点的信息产业已成为众多发达国家保持经济持续增长的最重要手段。而作为信息产业中最活跃、最智力密集也是发展最快的软件产业,更是成为各国政府关注的焦点。软件业的发展关系到一个国家的政治和未来,软件产业将成为21世纪拥有最大产业规模和最具广阔前景的新兴产业之一。作为信息产业的核心,作为国家经济和社会发展的战略性基础,软件的价值及其所具有的巨大辐射性和带动性作用将得到社会各方面的足够重视,软件市场的进一步培育和完善将成为必然。预计到2011年该市场将形成超过1300亿元的市场规模。软件产业链环节的全面创新将共谱推动未来软件市场可持续发展的协奏曲。中国在软件总体设计、软件项目管理、软件研发等方面缺乏高层次人才,整体上存在结构不合理,知识更新速度慢,不适应国际化要求的弊端。在软件人才输出方面,在基础程序端缺乏熟练编程的技术工人,在结合应用端缺乏了解业务需求的项目管理人员;在软件人才培养方面,传统的模式与企业发展需求之间的矛盾逐渐加深。随着我国信息产业的高速发展,应用型专门人才变得较为缺乏,从最近关于基础软软件人才供不应求的新闻来看,软件研发人才的匮乏已成为我国基础软件业发展缓慢的一大瓶颈。

程序员误区:软件开发职业是青春饭


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

我们听得最多的误解莫过于软件开发职业是青春饭这句话了,这样的说法在人们中间很流行。

这种说法意思是说,只能在年轻的时候从事软件开发工作,当然这个年轻也给出了一个具体的年龄,就是30岁以前,30岁以后就不能搞开发工作了,肯定转行做其他工作去了。

这种说法的理论依据是,做软件开发非常的用脑子,而且都是代码的工作,只有年轻人才能有这个精力去投入软件的开发工作中去,年龄大了就干不了啦。

很显然,这个误解理论来自于外行人,但是,这个外行理论却时不常的成为新程序员前进的障碍。原因就是,新程序员们看不到职业的发展方向,搞不清楚自己的发展路径。

1 不必为30岁以后烦恼

我们在前面章节和大家说过程序员修炼三境界,关于软件开发职业是不是青春饭的问题,我们在那个章节中,从程序员的发展路径中我们基本上可以比较清晰的看到了答案。

这个路径告诉我们,初级程序员,程序员,软件工程师并不是软件开发职业的唯一表现形式,这仅仅是职业的初级形式,大约在三年内完成进阶任务。这个误解估计主要来自于对软件开发职业的理解,认为软件开发职业仅仅是指初级程序员,程序员,软件工程师,所以,都是年轻人在做这个职位。

我们要充分理解程序员未来的光明性和曲折性,程序员职业发展的曲折性也会表现为一定的活跃性,即,部分人会在进阶过程中掉队,虽然程序员工作三年可以进阶为开发经理,但是,这个过程是曲折的并不是一夜之间完成的。

2 30岁以后照样可以编程序

不管你在30岁以后是否已经进阶为开发经理还是继续做程序员,一样都可以做编程序的工作。认为在30岁以后应该专门做管理工作的观点同样是错误的。30岁以后,虽然做初级程序员的可能性不大了,但是,核心编码工作,尤其是难度较大的那部分编码工作,还是较多涉及的。

3 50多岁的程序员多的是

据美国调查企业Evansdata公司发表的调查报告显示:

从事软件软件开发的程序员中女性比例逐渐减少,现在仅占9%,大部分开发程序员都是36-50的男性,平均年收入在5.5万美元以上。Evansdata公司的调查报告搜集了全球1.4万名软件开发程序员回答信息。

这种情况之所以没有在中国出现,其主要原因是中国的信息技术起步较晚,在中国信息技术大面积普及的时间大约是1990年以后,那个时候的年轻人,现在也只不过是30多岁,至多40岁。

在国内找到50多岁的程序员有点难,主要是中国软件开发行业的起步比较晚。但也不是不可能,我就认识这么一位前辈,他目前是一家小公司的老板,他的公司有程序员,但据我所知,个别的程序他也会自己去调试调试,他的这个精神是我等后辈应该学习的。

4 点评青春饭

软件开发职业不仅不是青春饭,而且这个职业会让你永葆青春呦!呵呵。

青春饭:

职业本身并没有对年龄的限制,如果你愿意可以一直干下去。

小谈软件行业的职业发展


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

由于工作的关系,我在单位中的职位类似于软件架构师,在项目组中,虽然不用亲自去做一个完整的SR(就是指软件Bug,这是我们单位采用的术语),但是还是需要知道很多的设计细节。当然,有时我自己也带人做大的SR,只是SCM部分都是由其他的同事去做。一方面由于工作时间长而且激情依旧,另一方面也是因为大家对于我的技术能力比较的信任,所以不少有想法的人以及有能力的人都喜欢与我聊天。慢慢地,我发现有些同事对于自己的将来如何发展并没有很清晰的想法,除了一般的工程师,有的Leader也存在同样的问题。主要表现在:

1)虽然从事软件开发工作,但内心深处其实并不是对软件开发有最大的兴趣。有那么一句话,叫做兴趣是最好的老师,我想这一点大家都是认同的。同样,兴趣对于我们的职业发展起着很重要的作用。一个人,如果对自己的职业有很浓厚的兴趣,那么往往,他(她)会花大量的时间去学习与职业相关的知识。如果花了大量的时间去学习,那么他(她)往往会从工作中收获一些东西,这些东西,可能是经验、教训、小小的成就感、团队的认同、同事对其的信赖进而依赖等等。进而,这些收获会促使他(她)更加有兴趣去学习。可以看出这是一个良性的正反馈过程,具有兴趣的人在职业发展上往往不大会太早出现困惑。反之,如果对于所从事的职业不具有兴趣,工作只是为了生计似的,那很容易出现职业发展的困惑和瓶颈。

2)缺乏坚持,心态浮燥。现在的社会是一个浮燥的社会,因此,难免让我们也变得浮燥。我相信一个人要过得好或是成功,不是一定非要去做软件,但是,如果想在软件行业中过得好且成功,那非得沉下心来好好的打好基础不可。软件行业有很多的特殊性,比如一个人在软件行业工作3~4年是很有可能成为一个出色的人的,但是同样的时间如果花在硬件开发上,那就不可能了。因为对于软件行业,现在Open Source可是大行其道,只要一个人能静下心来,他(她)完全可以学到很多全世界最好的设计思想。但硬件开发就不同了,说到底硬件开发是烧钱行业。回到我们的话题,为什么要打好基础呢?因为,基础不好会直接影响到后面的发展(废话),基础不好最终会影响一个人对行业的敏感性和判断力。此外,理论上绝大部分的工作谁都能做,但现实却似乎不是这样,那是因为每个人的信心和毅力不同(这里的人指在同一起跑线上的人).人,有时你还别说,你觉得有信心做好,那就能做好,如果觉得自己做不好,那结果一定不会出乎意料。有信心的人,自己会从小小的成功中将自己打造得更有自信,会形成一种构建自信的良性循环。再说说毅力,这一点从小到大我想我们接受过很多类似的教育,但真的我们明白毅力的重要性或者能说意识到重要性但能付诸实际吗?有毅力的人往往会迎难而上,而每一次迎难而上一定会有所收获,从而为下一次迎难而上做准备,有毅力的人往往更容易达到一个新的高度。其实,现实生活中很多人只要多一点点的坚持就能使自己上一个新的台阶,从而使得自己的舞台更加的大,眼界更宽。人与人的差别就在于信心和毅力 --- 不是智力。

3)对工作没有激情。一个没有激情的人,做事只能是走一步看一步,按步就班,没有改变现状的冲动。我看到太多的面对一塌糊涂的现状(Overtime多,且大家干得又苦,关键是还看不到未来),却不思改变,安于现状的软件项目了。之所以出现这种状况,我想没有激情是很重要的一个原因。其实,软件行业确实是很能发挥人的创造力的,但关键是我们想不想发挥创造力,我们千万不要把所有的工作都当作是正在发挥创造力。现在,请静下心来想想看,最近什么工作自己觉得痛苦?我能改变吗?如果不能改变是因为自己没有激情呢?还是我的上司没有激情?

从表面上看,我们的职业发展受很多因素的影响,但我想不外乎分为内因和外因,内因是指个人自己相关的因素,外因是除内因之外的所有因素。内因,我想主要是个人的兴趣、信心和毅力(假设大家的教育都差不多).而外因,则包括机会、环境等等。内因相对更容易由个人把握而外因则很难,而且,只有具备了一定的内因,我们才能得到相应的外因。也就是那句话,机会往往是给那些时刻做好准备的人的。

对于正在从事软件行业的人,我想可以尝试问自己以下几个问题:

1) 我对软件开发发自内心的感兴趣吗?
2) 我清楚地知道自己能做什么吗?
3) 我具有足够的信心吗?
4) 我具有足够的毅力吗?
5) 我具有改变现状的激情吗?

通过问这些问题,我想有助于我们去了解自己是否真的适合从事软件行业,自己在这个行业能做到什么样的层次以及自己的现状是否是正常的。此外,我想每个人都应当量力而行,千万别委屈了自己去追求自己都觉得不可能发生的事(除非你想证明奇迹),最为关键的一点是,从工作中获得快乐是最重要的!

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


职业规划怎么写,相信很多朋友们对这个问题很感兴趣,下面给大家介绍一下。第一部分,前言即总论;第二部分,自我分析,包括业余爱好、性格、价值观、专业技能等;

6、列出主要的功能模块(List Major Features)

列出软件项目中涉及到的所有主要功能模块。从这些高水平的功能模块入手,这是开始挽救整个项目的关键步骤。如果将软件的开发比作战争的话,列出主要的功能模块可以让你避免一场与成千个功能模块无止境的恶战,你的战争规模会相对较小并且更容易获胜。

7、提炼重中之重

好的,你已经列出了所有主要的功能模块,现在从这个列表中再提炼出20%的功能模块(这部分应该是所有主要功能模块中最突出的),将其做成另一个列表。这20%的功能模块是软件发布之前,在最终测试版本中都应该能实现的。

8、详述20%的高水平功能模块(Detail Out Top 20%)

参照这个20%的功能模块列表,做另一个明细表,在明细表中详述为完成这20%部件所需实现的各项功能。另外将这些功能按其重要程度进行排序。我比较倾向于把最复杂的排在首位,最后才是简单的。借助这个表只是为了使你的项目进行的更有条理(如先完成简单的功能模块),而不是让你透过这个表来看你的工作量有多大。

9、制定周计划(Plan The Week)

仔细地合计出下一周你能完成哪些功能模块并把这些功能模块分配给团队里的程序员。你在分配时最好把类似的功能模块放到一块分配。要保证每位程序员都有规则地导入代码。如果他们导入代码导致构建失败,那他们必须立刻对这个构建做出修正。

10、创建子系统(Create Branch)

使用你所选择的源代码控制系统创建一个子系统。在这一步骤中,你需要创建一个等待测试的子系统,然后在下一步中建一个补丁系统。接下来测试人员进行测试,而你则规划下一周的工作。

IT行业的职业细分 软件研发和硬件研发[1]


我在IT业很多年,也仔细分析过IT业的职业构成,就我的了解,其实IT业也在细分,大致分为如下几种:

1、研发,包括软件研发和硬件研发,就好比我们大多数朋友,在一个公司里面完成项目开发,或者定制产品,一般说来,软件研发基本上就算产品的设计者和制造者,硬件研发,只能算设计者。因为后面还有生产环节。

通常研发岗位,包括RD,QA,以及配置管理员,架构师,小组长,项目经理,研发助理等,就是研究部分所有的职位。部门经理一般我没有计算在内,感觉部门经理管人,应该算管理岗位。不过有些小公司,部门经理和项目经理,甚至架构师,都不分,因此需要具体情况具体分析。

其中RD,就是我们说得最多的设计人员了,以后估计大多数都从这里起步,当然,做QA测试的也不少。

RD这个词有讲究,就是设计和实施,是两个意思,设计,是决定一个东西怎么做,实施是把它做出来,我们刚开始,可能都是先做实施,慢慢走到设计,模块设计,系统设计等等,如果做得好,以后慢慢专门做设计,就是架构师了。

软件人员一般RD不分,设计者通常就是实施者,因为基本上程序敲完,产品也就出来了。硬件人员则不同,一般就是设计者,以及第一轮白盒测试的QA,自己测,当产品测试稳定,定型,就可以交给中试部进行产品测试,最终上线贴片生产。

QA,这里面一般细分为软件测试和产品中试,像华为、迈普这类大中型企业,以生产硬件产品为主的公司,都有自己的中试部,中试部简单说,就是专门测试硬件的,比如各种静电测试,温度测试,跌落、震动测试等,为产品最终上线做准备。我想,大多数同学可能对软件测试熟悉,对产品中试可能不太熟悉,不过差不多就这么多东西。

软件研发通常还有个角色很重要,就是配置管理员,一般小公司没有这个角色,由负责的测试人员兼任,大公司会专门设置这个角色,并且这个角色还有商业秘密保全的功能。

我们软件人员开发的产品,在自己的机器上,一般叫测试版,只有提交到CVS或SVN等版本管理系统,才叫产品,测试部不是从我们手里拿软件去测,而是由配置管理员在中心服务器上,将软件产品从源代码编译成可执行文件,生成安装程序包,然后发给测试部,测试部测试完毕,返回测试报告,公司领导签字后,以后软件产品的发货,就是配置管理员负责发货。

大家明白了吧,这里面很严格的,在大公司,软件一旦投测,如果RD发现有个小bug,小公司可能打个招呼就改了,项目控制流程上看不出来,但在大公司,必须发文,说明上一版本作废,然后重新发测试申请,重新提交代码走流程,项目流程上就记录,废版一次,以后就是扣工资的依据。因此,大公司的程序员一般比较严谨,发版测试很谨慎,就是怕出现这类bug,这样的缺点是对市场的反应不够灵敏,可能客户提交一个bug,RD改只要几分钟,但是流程要走一两天,但是好处是产品质量有保证,每个人的工作结果都记录在案。便于管理。且程序外泄几乎不可能。

我以前有篇文章说,国外很多程序员,可能在一个公司工作一辈子,都没有见过自己服务的计算机,就是这样的,RD都在终端工作,自己本地测试好了,提交到中心服务器,由配置管理员负责最后的编译和提交。

相关文章

最新更新

推荐访问