刚入门拥有计算机科学学位的个人或具有一些手工测试经验的个人。开发测试脚本并开始熟悉测试生存周期和测试技术。
二、测试工程师/程序分析员
具有1~2年经验的测试工程师或程序员。编写自动测试脚本程序并担任测试编程初期领导工作。拓展编程语言、操作系统、网络与数据库技能。
三、高级测试工程师/程序分析员
四、测试组负责人
具有4~6年经验的测试工程师或程序员。负责管理1至3名测试工程师或程序员软件工程师个人职业规划软件工程师个人职业规划。担负一些进度安排和工作规模/成本估算职责。
五、测试/编程负责人
具有6~10年经验的测试工程师或程序员。负责管理8至10名技术人员。负责进度安排、工作规模/成本估算、按进度表和预算目标交付产品。
六、测试/质量保证/开发(项目)经理
具有10多年的工作经验。管理8名或更多的人员参加的1个或多个项目。负责这一领域(测试/质量保证/开发)内的整个开发生存周期业务。
七、计划经理
具有15年以上开发与支持(测试/质量保证)活动方面的经验。管理从事若干项目的人员以及整个开发生存周期。负责把握项目方向与盈亏责任。
软件测试人员的三大发展方向:
“软件测试人员一般有三大发展方向。”微软公司的陈宏刚博士介绍说,一是走软件测试的技术路线,成长为高级软件测试工程师。二是向管理方向发展,从测试工程师到组长,再到测试经理,以至更高的职位。三是可以换职业,做项目管理或做开发人员软件工程师个人职业规划职业规划。
经过软件测试岗位洗礼的人才往往是行业中的多面手,在技术、管理、市场甚至其他非IT领域都能得到良好的发展。当然这首先要取决于从业者是否具备长远眼光,对自己的职业生涯进行合理规划。
一、前言:
大学曾是我梦想中的天国,因为这里将是我们走向社会的门槛,也是人生一大转折点。在科技高速发达的21世纪,大学生也是越来越多,市场上的竞争也是越来越大,随着中国在国际上的地位的提升,我国越来越需要那些能和国际接轨具有专业素质的人才。记得葛优在电影《非诚勿扰2》里说过:“21世纪什么重要?——人才!”是的,在这个社会,我们只有不断的提升自己的能力,以便于更好的适应高速发展的潮流。高中三年的苦读,终于来到了大学,现在也是时候对自己的人生做出一定的规划。
二、职业发展目标:
成为一名的软件工程师。以下是我对自己实现目标的要求分析:
再次是具有很强的沟通能力,其时这一点好像什么角色都具备,软件工程师需要与各路人马经常打交道,而且在很多角色之间还要起沟通者的作用。
1、近期规划:
①规划年限
大学四年(20xx~20xx)+大学毕业后三年(20xx-20xx)=7年
②目标慨述
(1)阶段目标——职业准备期
大学一年级(20xx-20xx):探索期
目标:学业及职业生涯认知和规划
大学二年级(20xx-20xx):定向期
目标:初步确定自己努力的方向以及相应能力与素质的培养。特别是算法数据结构,计算机专业英语。做好专业方向选择的准备。根据我校情况,软件工程专业分为DotNET技术、JAVA技术两个专业方向。
其中DotNET技术主要有如下课程、高级应用、C#Windows、.NET移动开发、.NET平台XML及WEB服务开发、C#Windows高级应用、应用开发等。
JAVA技术主要课程有:JavaWeb编程基础、JavaWeb高级编程、J2ee企业级应用开发、系统架构和设计模式、XML、JDBC、团队开发与项目配置管理、WebService、J2me等。
实施方案:经过大学一年的学习,适时对自己做出客观的总结,扬长避短,积极改进,努力调整。认清自己的需要和兴趣,确定自己的价值观、职业观,考虑自己的毕业方向。在学业方面,在学好自己专业知识的基础上,好好准备自己的专业方向选择。以研究中国乃至世界未来经济发展和软件事业的发展趋势,做好服务社会的准备。
大学三年级(20xx-20xx):准备期
目标:掌握职业技能,顺利就业做好充分的准备。
实施方案:卸掉学生工作的职务,由以工作为重心转向以学习为主;由以集体事务为重转向以考虑个人为主。此阶段加强专业知识学习的同时,参加一些招聘会,获得应聘经验,为以后应聘做准备
大学四年级(20xx-20xx):冲刺期
目标:顺利就业。
(2)阶段目标——职业成长前期
大学毕业后一年(20xx):适应稳定期
目标:适应工作环境,稳定工作状态,找到努力方向,争取能够独立。
大学毕业后两年(20xx):调整提升期
目标:拥有自己团队,获得主持项目策划和亲身实践的机会。
实施方案:经过一年的工作,已经深入了解了工作流程和工作环境了,此时要努力表现自己,当然也要协调好与同事之间的关系,务实工作争取获得好的成绩得到上级的认可和注意,获得更多的项目负责机会。同时积极考取助理设计师资格。
大学毕业后三年(20xx年):转折、实现期
目标:成为软件管理人员,能运用工程思想组织设计、开发、维护、管理符合功能、性能要求的软件产品。
三、职业分析
1、企业对软件工程师的要求
①随着外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;
②Java和。NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少;
③软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/javascript客户端技术;
④为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;
⑤CMS,MIS、OA、ERP、CRM、系统集成、物流、进销存、电子政务、网站建设这一类B/S系统,成为软件工程师需求的业务领域。
2、成为软件工程师所要具备的能力
(1)见习程序员
②具有较强的学习能力,可以编写代码,达到公司的工作要求。
(2)初级程序员
①本科学历,半年以上工作经验;英语通过国家四级。
②达到工作承担要求;具有一定的沟通能力和工作责任心。
专业技能要求
①负责编写代码,掌握一种主流语言/开发工具,一种主流操作系统,一种主流数据库。
②了解和掌握开发作业(PD设计、编码和测试等)的规范和技巧。
③所编写的代码质量较好。
④能够按照要求编写文档,文档结构条理清晰,内容详实准确。
⑤具有独立理解所担当模块的业务理解能力和问题阐述能力。
⑥能阅读非中文技术文档。
(3)高级程序员
②完成年度工作量指标;具有较强的沟通能力和责任心。
③所承担的项目满意度达到满意以上
①精通一种主流语言及对应的开发工具;精通数据结构。
②具有较好的业务理解能力和技术调查能力。
③编写高质量代码并具有代码审查能力。
④具有详细设计能力。
⑤熟悉系统测试工具,对系统问题具有改善的能力。
⑥能够带领2个以上员工开展工作,成功领导过3个以上不少于5人月的项目/模块的团队项目。
(4)软件工程师
②完成年度工作量指标;具有较强的客户沟通能力。
③担当过一个20人月以上的项目或累计超过60人月项目的技术负责工作。
④所负责的项目客户满意度达到满意以上。
①精通并熟练运用2种以上的开发工具,至少一种数据库知识,至少一种操作系统知识。
②能够很快完成新项目的技术调查工作,能够完成复杂算法的设计,能够设计可重用的和柔韧的软件结构。
③具有系统设计能力及系统提案能力。
④对系统或项目的技术框架有深入的认识和较丰富的经验。
⑤具有某一领域的行业知识。
⑥具有项目领导能力。
⑦掌握质量管理体系和项目管理知识。
(5)资深软件工程师
③担当过一个50人月以上的项目或累计超过100人月项目的技术负责工作。
④带领的项目客户满意度满意以上。
⑤完成年度培训工作。
②具有整体系统设计能力及系统提案能力。
③具有较强的技术筹划能力、技术指导能力和处理疑难问题的能力。
④深入了解某一领域的行业知识。
⑤具有大型项目领导能力。
⑥熟练掌握质量管理体系和项目管理知识,并能够推过程改进。
(6)主任软件工程师
②5年项目负责人以上经验,累计超过120人月的技术负责人工作。
③带领的项目客户满意度满意以上。
④完成年度培训工作。
⑤具有很强的沟通能力,问题判断与解决能力,创新能力。
①精通至少一种主流编程语言。掌握至少一种数据库或至少一种中间件。熟练掌握至少一种操作系统。
②熟练掌握软件需求分析/大型项目的策划。
③熟练掌握软件的系统设计。
④熟悉软件的高级项目管理和质量控制,具有分析和规避重大质量问题的能力。
四、结束语
当问程序员为什么选择。NET软件工程师方向时,经常听到一些这样的回答:当你在开发语言和工具方面不知道怎么选择的时候,那么你只要跟着微软走就行了。所以最终选择了。NET软件工程师职业。
当经历过数年之后,一些人在。NET软件工程师的某方面成为了专家,有些人精通数据库方面,有些人精通web界面设计,有些人精通系统架构。还有一些人是什么都会,但不管哪一方面都算不上精通。当然还有另一些人,他们没有选择。NET软件工程师,他们选择了java,在若干年之后,他们说:java程序系统比。net系统更稳定之类。
下面就介绍下。NET软件工程师职业规划。
1.选择研究方向后不要动摇
2.尽量缩小研究范围
.net只是一个大方向,你应尽量将自己的研究范围缩小,比如专注于数据库,专注于xml方面,专注于ajax,只要你专注任何一个区域深入研究,当你成为专家之后,都不会愁饭吃。反之如果你什么都会,而没有一样真正精通,那么你可能永远只能做一个普通程序员。
3.找到正确的入门方法
不管做什么事,方法很重要。特别是入门时的方法。正确的入门方法将大大加快你学习的进度。了解语言本身和前提技术是最先要做的事情,比如你选择c#方向的,那么你必须先学习c#基础语法,和基础知识,并实际写小程序测试你学习的成果。当学会基本语法后马上找到的官方入门指导。微软做得很好的一个地方就是他的帮助系统做得很好。新人容易入门,建议首先从入门教程开始,这个东西就在你的机子上,在FrameworkSDK的菜单里面。强烈建议把这个教程全部学会。
4.多看别人的成果(源代码)
5.敢于接受新项目挑战,敢于尝试
6.不断推翻自己,敢于重构
7.跟上技术更新的脚步
软件技术更新速度有时真的让人很郁闷,经常听人说,刚学会。net1.0,马上就出了1.1,1.1刚完成一两个项目,又出了2.0,用2.0不到一年已经出了3.5,但现实就是这样,你必须得跟上脚步,当使用的时候,你就不能再像以前用asp那样去写程序,当使用。net2.0的时候,你要敢于使用masterpage,skin去代替原来的usercontrol模式,原来的网站皮肤实现模式。而现在出3.5了,你必须马上学习vs20xx,学习Silverlight。只有跟得上技术更新的步伐,你才永远保持自己的技术领先地位。