高级软件工程师
职业
高级软件工程师,工程师职称。
分类
软件工程师分类有:高级软件工程师、软件工程师、助理软件工程师、软件技术员。
软件工程师的四个分类,如同金字塔一般,越是对技术要求高,人也就越少,当然,待遇各方面都会越好,但是责任与工作任务会越大。其实越往高,技术、能力,各方面要求全部会相应提高。
培养目标
1. 具备软件开发工作所需的知识和技能,编码熟练度和规范性达到一定要求;
2.具备一定的项目能力(包括调试能力、文档编写能力、测试能力等)和综合技术素质(包括对软件生命周期的理解、对设计模式的理解、必备的行业知识和经验等);
3.扎实掌握客户端技术、面向对象技术、三层架构。
工作内容
独立承担项目软件开发;
参与项目的整体规划与实施;
负责与项目经理共同进行客户调研、业务流程分析设计;
负责系统的总体技术方案与系统设计,系统的质量控制;
负责跟客户沟通解决问题。
工作职责
在目前很多国内软件企业中,如果你是“高级软件工程师”,那么从需求分析,设计,开发,测试,甚至到客户这一条龙都可能由一个人来负责。
软件开发与测试
首先,软件开发是软件工程师职责的基本组成部分,这点应该没有问题。其次,此处的软件测试可分为开发前的驱动测试,和开发过程中的白盒测试。驱动测试用于分析子系统/模块内部逻辑,用于在开发之前暴露开发过程中可能遇到的大部分问题和对子系统/模块进行更进一步的划分;白盒测试是保证在项目交接到测试团队手中时,能满足基本的项目要求,即能够进行α测试
子系统、模块分析设计
软件架构师做完系统设计,项目经理进行项目分工后,项目就正式进入开发环节。这时候每个软件工程师会拿到自己负责的子系统/模块,首先要做的就是进行分析设计,其次才是开发。开发前进行分析设计,便于从整体上对子系统进行把握,提前隔子系统中的变化点和问题,同时也可以对子系统进行更详细的划分,用于制定个人的工作计划,与项目经理和软件架构师进行具体的沟通。
撰写文档
在进行子系统和模块设计的同时,要撰写子系统设计说明书;在开发过程中,要记录技术要点和发现的问题,同时如有需要,要修改子系统设计说明书;在白盒测试时,要记录每个Bug。
定期主动沟通
在项目开发过程中,项目经理需要和团队中的每一个人沟通任务进度,其主要职责是从整体上把握和控制项目的进度。那么作为团队一员的高级软件工程师通常会负责项目中很重要的子系统/模块,这些子系统/模块往往能决定项目的成败。因此定期主动与项目经理沟通解决遇到问题,与架构师和专家沟通解决技术难题就显得非常重要了。另外,就对个人而言,定期主动沟通也往往表现为个人的主动积极性,对于个人长远发展非常有益。
持续学习
也许有人会觉得学习应该与职责无关,狭义看来确实如此。然而,不断学习新知识,提高个人技能,于公司而言,能提升工作效率;于个人而言,益于职业发展。因此,工作之余,不管你职位如何,持续学习就显得非常重要且必要。
带新人
这点也许不是硬性要求,但国外有高手带领新手这样一种师徒习惯,也应该学习并发扬。通常情况下新人会与高级软件工程师协同工作,因此带新人一方面,带领新人可以有重新审视自己知识的机会;另一方面能够让新人更快入手,降低学习成本和提高工作效率;同时也能保持良好的人际关系。
以上是个人对高级软件工程师职责范围的认识,也许有些比较牵强,然而就对职业发展而言,要想做好高级软件工程师,上面几条是平时工作中必须要做的。
职业要求
教育培训
计算机、电子、通信、信息工程自动化等相关专业,大专以上学历。
工作经验
三年以上的软件开发经验;具备扎实的计算机软件基础,熟悉汇编语言和数据结构,并对软件工程有较好的理解;熟悉.NET/Java/C++/VB/Delphi等常用开发语言中任意一种;有Oracle、SQL-SERVER或DB2等数据库上的开发经验,熟悉SQL语言;具备良好的沟通能力,较强的分析、解决问题、领悟、归纳和逻辑推理能力和撰写开发文档;具有良好的计划性,团队精神,能承受工作压力并充满热情。
薪资行情
高级软件工程师的一般月薪范围在1万元——3万元之间。有些月薪甚至超过了项目经理,要拿到4万元左右。杭州软件人才市场上,刚毕业的大学生的月薪在4000—6000元之间,中级软件工程师的月薪则为7000—1万元之间,而高级软件工程师的月薪更是可以高达2万元。在北京软件人才市场,刚毕业的大学生的月薪在4000-7000之间。而一般的中小城市的月薪则处在3000-5000元的水平;从学历上来看,一般拥有本科以上学历者的月薪多在4000元以上,资历高的可达六七千甚至更多,而拥有大专以上学历者的月薪多在三四千左右。
职业发展
高级软件工程师是IT行业中的重要岗位。根据开发进度和任务分配,完成相应模块软件的设计、开发、编程任务;进行程序单元、功能的测试, 查出软件存在的缺陷并保证其质量;进行编制项目文档和质量记录的工作;维护软件使之保持可用性和稳定性。软件开发是一个系统的过程,需要经过市场需求分析软件代码编写、软件测试、软件维护等程序。软件开发工程师在整个过程中扮演着非常重要的角色,主要从事根据需求开发项目软件工作。但与发展潜力不对称的是,现今中国软件和信息产业人才相当缺乏。据调查研究显示,当前中国软件和信息服务外包产业人才流动率较高,而且缺口很大。企业成立时间比较短,规模大多比较小,企业人才平均流动率达18.28%,人才供不应求,尤其是本地化人才和中高级管理人才。市场需求的巨大和专业人才的缺乏令人吃惊,这正是商机和盈利的重要突破口。可以预见,中国软件和信息服务外包产业将在不久的将来成为引领中国第三产业转型和发展的龙头产业,相关职业包含高级软件工程师的人才需求将会非常巨大。
就业岗位
VB程序员;网页开发人员;非IT专业信息部门的管理信息系统设计、开发、维护网站;JAVA程序员;C++程序员;VB高级程序员;网站开发工程师测试工程师;文档编写工程师 ;JAVA工程师;.NET工程师;初级分析;设计人员等。
职业需求
1、外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;
2、Java和.NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越小;
3、软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/JavaScript客户端技术;
4、为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;
5、MIS、OA、ERP、CRM、系统集成、物流、进销存、电子政务、网站建设这一类B/S系统,成为软件工程师需求最大的业务领域。
参考资料
最新修订时间:2024-10-25 10:37
目录
概述
分类
培养目标
工作内容
参考资料