您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 软件开发必备工程师手册
软件开发团队必备工程师手册一、软件工程师软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.。职位概述一般情况下.都是分4级软件技术员助理软件工程师软件工程师高级软件工程师目前国内软件测试工程师的来源主要有三方面:一是以前专业做软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研究生,三就是通过培训机构招聘的专业学员。据了解,在国外测试人才的供应方式多以第三种为主,而国内目前除少数培训机构外尚未形成足够的人才供应规模。以北京中关村为例,现有软件企业5000多家,仅对曰本软件外包领域的人才缺口就高达5000人,而对美软件外包人才缺口更大,可供量不足10%。中关村一位负责人介绍,未来5年北京将有至少200亿美元的外包订单,由此可推算出中关村将出现100万的软件人才缺口。巨大的产业前景和匮乏的人才现状,使越来越多的IT企业关注软件测试人才的储备工作。职业定义软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。工作内容1、指导程序员的工作;2、参与软件工程系统的设计、开发、测试等过程;3、协助工程管理人保证项目的质量;4、负责工程中主要功能的代码实现;5、解决工程中的关键问题和技术难题;6、协调各个程序员的工作,并能与其它软件工程师协作工作。[1]【职业分析】软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。软件工程师是IT行业需求量最大的职位,稳居IT行业职位需求TOP10的第一位(第二位是高级软件工程师)。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/SB/S程序开发,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEBSERVICE、STRUTS等前沿技术。除此之外,关于网络工程和软件测试的其他技术也要有所涉猎,以利于操控全局。软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。考试科目软件工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程发展前景当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。所以学好学校所能提供的专业课程是相当重要的。企业用人主要有以下几个特征:1外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;2Java和.NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少;3软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/JavaScript客户端技术;4为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;5MIS、OA、ERP、CRM、系统集成、物流、进销存、电子政务、网站建设这一类B/S系统,成为软件工程师需求最大的业务领域。就业职位软件工程师的就业职位归结下来主要有WEB开发工程师、数据库开发工程师、网站开发工程师、电子商务开发工程师VB程序员;网页开发人员;非IT专业信息部门的管理信息系统设计、开发、维护网位,JAVA程序员;C++程序员;VB高级程序员;网站开发工程师;测试工程师;文档编写工程师,JAVA工程师;.NET工程师;初级分析、设计人员等。专业培训机构中国的IT软件工程师教育培训行业已经进入到一个前所未有的高峰期,目前全国比较知名的专业软件工程师培训机构有迅腾国际、华育国际、焦作凯盛、八维教育IT培训集团、威迅教育、北大青鸟连锁。他们为社会培养了广大的人才!从业要求.具有扎实的计算机基础理论知识;.精通C/C++、Java、C#等语言,具有丰富的Unix/Linux/Windows系统下开发经验;.精通Perl、Python、PHP、Shell等脚本语言;.有一定的算法基础,具有较强的独立解决问题能力;.有大容量、高性能、分布式系统的设计开发经验;.具有很强的学习能力和对新技术的追求精神;.具有良好的中英文沟通能力,具有项目管理经验者优先;.认同客户第一、团队合作、拥抱变化、诚信、激情、敬业的企业价值观。高级软件工程师职业概述:“软件工程师受宠,就业前景一片看好”,这是我们经常可以看到的报道,只要你有足够的能力和才华,这将是一个薪水没有上限的金领职业,这种收入会随着学历和资历的增长而增加。中国的IT行业的就业形势一直呈上升趋势,中国软件市场保持稳定增长,预计2009年将达到62.3亿美元,市场增长潜力巨大。在技术领域,高级软件工程师也一直是各个公司极为需要的。工作内容:独立承担项目软件开发;参与项目的整体规划与实施;负责与项目经理共同进行客户调研、业务流程分析设计;负责系统的总体技术方案与系统设计,系统的质量控制;负责跟客户沟通解决问题。职业要求:教育培训:计算机、电子、通信、信息工程、自动化等相关专业,大专以上学历。工作经验:三年以上的软件开发经验;具备扎实的计算机软件基础,熟悉汇编语言和数据结构,并对软件工程有较好的理解;熟悉.NET/Java/C++/VB/Delphi等常用开发语言中任意一种;有Oracle、SQL-SERVER或DB2等数据库上的开发经验,熟悉SQL语言;具备良好的沟通能力,较强的分析、解决问题、领悟、归纳和逻辑推理能力和撰写开发文档;具有良好的计划性,团队精神,能承受工作压力并充满热情。薪资行情:按2008年统计,中国一般月薪范围在3000-8000元。有些月薪甚至超过了项目经理。职业发展路径:高级软件工程师是IT行业中的重要岗位。根据开发进度和任务分配,,完成相应模块软件的设计、开发、编程任务;进行程序单元、功能的测试,查出软件存在的缺陷并保证其质量;进行编制项目文档和质量记录的工作;维护软件使之保持可用性和稳定性。软件开发是一个系统的过程,需要经过市场需求分析、软件代码编写、软件测试、软件维护等程序。软件开发工程师在整个过程中扮演着非常重要的角色,主要从事根据需求开发项目软件工作。但与发展潜力不对称的是,现今中国软件和信息产业人才相当缺乏。据调查研究显示,当前中国软件和信息服务外包产业人才流动率较高,而且缺口很大。企业成立时间比较短,规模大多比较小,企业人才平均流动率达18.28%,人才供不应求,尤其是本地化人才和中高级管理人才。市场需求的巨大和专业人才的缺乏令人吃惊,这正是商机和盈利的重要突破口。可以预见,中国软件和信息服务外包产业将在不久的将来成为引领中国第三产业转型和发展的龙头产业,相关职业包含高级软件工程师的人才需求将会非常巨大二、软件架构师软件架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。主导系统全局分析设计和实施、负责软件构架和关键技术决策的人员能力要求在技术全面、成熟练达、洞察力强、经验丰富,具备在缺乏完整信息、众多问题交织一团、模糊和矛盾的情况下,软件架构师能迅速抓住问题要害,并做出合理的关键决定的能力l、具备战略性和前瞻性思维能力,善于把握全局,能够在更高抽象级别上进行思考;主要包括如下:1、对项目开发涉及的所有问题领域都有经验,包括彻底地理解项目需求,开展分析设计之类软件工程活动等2、具备领导素质,以在各小组之间推进技术工作,并在项目压力下做出牢靠的关键决策3、拥有优秀的沟通能力,用以进行说服、鼓励和指导等活动,并赢得项目成员的信任;4、以目标导向和主动的方式来不带任何感情色彩地关注项目结果,构架师应当是项目背后的技术推动力,而非构想者或梦想家(追求完美)5、精通构架设计的理论、实践和工具,并掌握多种参考构架、主要的可重用构架机制和模式(例如J2EE架构等);6、具备系统设计员的所有技能,但涉及面更广、抽象级别更高;活动确定用例或需求的优先级、进行构架分析、创建构架的概念验证原型、评估构架的概念验证原型的可行性、组织系统实施模型、描述系统分布结构、描述运行时刻构架、确定设计机制、确定设计元素、合并已有设计元素、构架文档、参考构架、分析模型、设计模型、实施模型、部署模型、构架概念验证原型、接口、事件、信号与协议等。主要工作任务架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。l、领导与协调整个项目中的技术活动(分析、设计和实施等)2、推动主要的技术决策,并最终表达为软件构架3、确定和文档化系统的相对构架而言意义重大的方面,包括系统的需求、设计、实施和部署等“视图”4、确定设计元素的分组以及这些主要分组之间的接口5、为技术决策提供规则,平衡各类涉众的不同关注点,化解技术风险,并保证相关决定被有效的传达和贯彻6、理解、评价并接收系统需求7、评价和确认软件架构的实现专业技能软件架构师的培养软件架构师的培养软件架构师一般都是具备计算机科学或软件工程的知识,由程序员做起,然后再慢慢发展为架构师的。在国内,很多大学目前还没有设立软件架构的学位课程,虽然IT业界对设计和架构的兴趣日渐高涨,但各学校还无法在课程中增加相应的内容来体现这一趋势。从这个方面来说,学校教育已经远远落后于产业发展。因此,促进和发展软件架构学课程的任务将落在现在的软件架构师身上。目前的软件架构师应该帮助各大院校建立相关课程体系,一旦教育课程建立起来,知识体将不仅通过新毕业生的工作成果来得到扩展,同时也会从适合软件架构的教育研究和出版物中得到扩展[28]。虽然大学要加强软件架构学课程的建设,但是,软件架构师的成长应该有一个实践的教育过程,并不是简单的学校的理论学习或者通过大型软件公司的认证就能成为合格的软件架构师。除了信息系统综合知识在学校学习外,软件架构师的大部分知识和经验将来自实际开发工作。根据软件架构师的任职条件,一名合格的软件架构师的成长应该经历8年以上的软件项目开发实际工作经验。一般需要经历程序员、软件设计师等阶段,然后再发展成为软件架构师。当然,并不是每一位程序员经过8年后都可以成长为软件架构师的。一个软件工程师在充分掌握了软件架构师工作所必需的基本理论和技能后,如何得到和利用机会、如何利用所掌握的技能进行应用系统的合理架构、如何不断的抽象和总结自己的架构模式、如何深入行业成为能够胜任分析、架构为一体的精英人才,这就在于机遇、个人的努力和天赋了。就目前来看,国内软件架构师的培养途径主要有两种方式,一种是大学(软件学院)教育方式,另一种是个人自我培养然后再进行相应的培训和认证。但是,不管哪种方式都有其不足之处。软件学院的培养方式能够系统的学习软件架构师必需的知识体系,但是,软件架构师不是简单的通过理论学习就能够培养出来的,软件学院的学生可能缺乏必要的设计、开发经验和相关的领域知识。尽管软件学院也强调给予学生实践的机会,但毕竟这种机会是有限的。有关“三分之一的师资来自企业”的规定,在
本文标题:软件开发必备工程师手册
链接地址:https://www.777doc.com/doc-213389 .html