软件开发工程师

时间:2022-05-12 15:26:32
软件开发工程师
本词条缺少信息栏、名片图,补充相关内容使词条更完整,还能快速升级,赶紧来吧!
软件开发工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。软件开发工程师是IT行业需求量最大的职位。 软件开发工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。
目录
1招聘
2软件开发
▪ 需求
▪ 设计
▪ 编程
▪ 测试
▪ 认证
3就业
▪ 3G工程师
▪ 嵌入式工程师
▪ Java工程师
▪ .net工程师
▪ iphone工程师
4相关专业
5前景
6认证
▪ 目标参训者
▪ 认证流程
▪ 认证
▪ 特点
7掌握技能
1招聘


软件开发工程师要求:
主要职责:
① RFID 相关应用软件、信息管理类软件的设计、研发、维护、安装实施;
②数据库管理及应用开发;
③ 根据要求进行软件概要设计、详细设计、编码、单元测试工作及说明文档的编写
任职要求:
① 熟练使用VC++、C#或Java编程;熟悉Oracle/SQL Server等数据库开发;熟悉Web系统开发;
② 熟练使用ArcGIS、ArcSDE、MapObjects,并用其进行过开发;熟悉了解移动设备嵌入式GIS开发技术。
③ 精通Oracle/Microsoft SQL SERVER等数据库管理;从事DBA工作,有丰富的主机与操作系统管理、数据库管理、存储管理与规划、安全管理与规划经验;精通PL/SQL编程,熟悉数据库建模。
④ 开发过基于Weblogic或Websphere应用服务器的应用程序;熟悉WebLogic/Websphere的安装、配置、故障处理和调优;具有J2EE相关开发经验;熟悉weblogic集群的配置和管理;有weblogic administation认证证书者优先。
2软件开发


软件开发一般分为下述四个步骤需求、设计、编程和测试!


软件开发工程师简报
需求


不仅仅是用户需求,应该是开发中遇到的所有的需求。比如,你首先要知道做这个项目是为了解决什么问题;测试案例中应该输入什么数据......为了清楚地知道这些需求,你经常要和客户、项目经理等交流。
设计


编码前,肯定有个计划告诉你要做什么,结构是怎样等等。你一定要按照这个来做,否则可能会一团糟。
编程


如果在项目截止日,你的程序不能跑起来或达不到客户的要求,你就拿不到钱。
测试


目的是让你知道,什么时候算是完成了。如果你聪明,你就应该先写测试,这样可以及时知道你是否真地完成了。否则,你经常会不知道,到底有哪些功能是真正完成了,离预期目标还差多远。
软件开发中,客户和开发人员都有自己的基本权利和义务。
客户:
定义每个用户需求的商业优先级;
制订总体计划,包括用多少投资、经过多长时间、达到什么目的;
在项目开发过程中的每个工作周,都能让投资获得最大的收益;
通过重复运行你所指定的功能测试,准确地掌握项目进展情况;
能随时改变需求、功能或优先级,同时避免昂贵的再投资;能够根据各种变化及时调整项目计划;
能够随时取消项目;项目取消时,以前的开发工作不是一堆垃圾,已开发完的功能是合乎要求的,正在进行或未完成的的工作则应该是不难接手的。
开发人员:
知道要做什么,以及要优先做什么;
工作有效率;
有问题或困难时,能得到客户、同事、上级的回答或帮助;
对工作做评估,并根据周围情况的变化及时重新评估;
积极承担工作,而不是消极接受分配;
一周40小时工作制,不加班。
认证


一、为贯彻国家科教兴国战略,提高劳动者素质,根据《*职业教育法》第一章第八条,“实施职业教育应当根据实际需要,同国家制定的职业分类和职业等级标准相适应,实行学历证书、培训证书和职业资格证书制度。
二、 CVEQC认证证书持有者已经通过了中国职业教育资格认证指导中心组织的培训和相应的考试,具有相应的专业技能和知识。
三、CVEQC证书可作为劳动者岗前培训、在职培训、提高培训、继续教育的培训认证;也是劳动者“先培训、后就业,先培训、后上岗”的凭证。
四、CVEQC证书是中国职业教育资格认证指导中心颁发的专业技能证书。标有证书序列号、证书编号、培训者及证书持有者身份证号码,并盖有全国职业教育管理委员会、中国职业教育资格认证指导中心的证书专用章。   五、 证书证明参加培训及证书持有者具有系统地接受岗位技能培训的经历,证书在全国范围内有效。
3就业




3G工程师


中国被世界公认为全球最大的3G移动市场,但是,3G相关的人才却严重失调。专业从事3G应用软件开发从业人员不足千人,据工信部预测,仅2010年,中国3G人才市场缺口就在100万以上,其中3G软件工程师缺口就在50万左右。
3G人才短缺现状,使得3G行业已经成为新的高薪行业,基于3G软件开发人员变得格外抢手。人力资源专家表示,3G软件开发是未来几年最热门和最受欢迎的职业之一。根据前程无忧网发布的薪资报告,具有10年工作经验的高级嵌入式软件工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也在5000元左右,中高级的嵌入式软件工程师月薪平均已超过万元,而且随着3G应用的进一步深入发展,3G软件研发人才的薪水还会进一步水涨船高!
据计世资讯发布的相关研究报告称,估计国内3G人才缺口将达到50万人以上。
嵌入式工程师


嵌入式领域较新,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺。
Java工程师


2013年,虽然Java人才的薪水很高,但是对该类人才需求旺盛的IT企业却很难招聘到合格的Java软件工程师。其中,最根本的原因就是许多计算机专业的毕业生在读期间没有掌握实用的技能与经验,距离企业的实际用人要求有较大的差距。因此,计算机专业的大学生欲成为Java软件工程师,最便捷的一条路就是参加以实战项目为主要教学方法的Java职业技能培训,从而有效地缩短同企业具体用人要求之间的差距。
Java软件工程师的未来发展方向大致分为两类:
一是成为管理人员,例如产品研发经理,技术经理,项目经理等;
二是继续他的技术工作之路,成为高级软件工程师、需求工程师等。
.net工程师


据有关权威部门统计,未来几年内我国软件行业的从业机会十分庞大,每年对软件人才的需求将达到 80万 -100 万人,而现有行业从业人员只有 50 万人左右,专业开发人员不到25万,2011年大部分院校出来的应届计算机系学生,真正能当年进入软件公司工作的只有10%~20%左右,缺口很大。


中关村北大青鸟软件开发
.Net作为新一代的程序开发语言其中的一员,同样也具有很多的优势,并且弥补了前一代语言的缺点,因而更加受到人们的喜爱。.Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用开发并简化使用。IT人员对.Net保持了应有的警惕,因为它毕竟还是个新事物,需要有一个比较艰难的学习曲线。但是对于大多数组织而言,其优点远远多于缺点。
android开发工程师
Android工程师是指从事Android移动应用操作系统、游戏和各种Android平台功能的应用、开发和测试的技术人员。 以手机开发为主要对象,包括但不限于手机操作系统、手机游戏、手机其他多种功能的开发和优化人员。Android工程师是移动应用开发者,希望将自己的应用移植到该平台上或者在该平台上开发应用。
随着Android平台的扩张,引发了Android人才荒,2011年移动开发人才需求几十万,未来人才需求缺口将达百万。
iphone工程师


iPhone手机软件开发
主 要 职 责
1、负责基于iPad/iPhone平台下的软件产品开发工作;
2、根据产品部需求形成可实现的技术设计,在预期的时间内完成开发工作;
3、对移动平台的技术方向进行分析,为公司移动平台技术发展提供建议。
技 能 要 求
1、熟悉 Objective-C,熟悉iPhone;
2、熟悉面向对象的软件设计方法及设计模式,具备良好的代码编程习惯和文档编写能力;
3、熟悉iPhone SDK,有成熟作品、有实际项目开发经验者优先;
4、热衷于移动平台开发,对新技术感兴趣,对技术有自己的理解和追求;
5、具备良好的产品理解能力及团队合作精神,有较强的沟通及协调能力。
iPhone手机游戏开发
主 要 职 责
1、开发IOS平台的游戏产品;
技 能 要 求
1、精通C或Objective-C语言,熟悉IOS操作系统;
2、对iPad/iPhone开发平台有浓厚的兴趣,有良好的开发技能,熟悉编程规范;
3、熟悉cocos2d引擎,或者熟悉其他iPhone游戏引擎;
4、熟悉iPhone SDK,有iPhone软件作品优先考虑;
5、计算机相关专业专科或以上学历;具备良好的产品理解能力及团队合作精神,有较强的沟通及协调能力。
iPhone手机游戏策划设计师
主 要 职 责
1、负责android/SNS/ios游戏的整体架构和策划;
2、负责游戏场景、道具、关卡等系统的功能设计;
3、负责策划游戏规则、游戏玩法设定,并进行公式设计,数值设计和系统设计 ;
4、负责游戏基础数据分析,用户调研、用户行为习惯等工作。
技 能 要 求
1、大专以上学历,网游/Webgame/手机游戏等游龄5年以上,热爱游戏并视为终身事业者;
2、对游戏市场有独到见解,具备商业思维,能设计出符合市场规则的游戏;
3、手机网游有清晰认知,并且熟悉android/iphone手机操作习惯和用户使用习惯 ;
4、具备优秀的产品策划能力和独到的游戏设计理念,熟悉游戏产品的需求设计规范 ;
5、良好的用户感触和数据分析能力,确保能设计出符合用户行为习惯的游戏规则;
6、具备良好的产品理解能力及团队合作精神,有较强的沟通及协调能力。
iPhone开发前端设计师
主 要 职 责
1、手机平台(及iPhone、iTouch)游戏相关美术工作;
2、iPhone应用界面UI设计;
3、负责游戏标题、界面、人物、动作、道具、场景的设计。
技 能 要 求
1、熟练使用photoshop软件;
2、喜爱动画、漫画、游戏及电影并对此有独特的见解;
3、熟悉HCI(人机交互),对用户体验有很好的把握。能够独立设计人机交互方式及页面流,能够独立进行整体操作规划及规范编写;
4、熟练编写JS、Ajax,掌握异步通讯、离线存储、脱机应用等高级前端编码技术;
5、熟练进行iPhone、iPad等高新移动终端设备的前端开发,熟练运用不同平台浏览器所支持的WebKit;
6、具备良好的产品理解能力及团队合作精神,有较强的沟通及协调能力。
依据51job前程无忧数据,软件及IT工程师在长达10年时间内一直占据着国内众多职业岗位平均工资水平的前茅,基于iPhone开发的岗位平均薪酬比传统软件开发岗位高出50%以上的水平,移动互联行业公司为了吸引留住人才除了提供保险、休假、灵活作息时间、优质办公环境等福利外更有股权,期权分红吸引高端求职者。
4相关专业




信息与计算科学等相关专业毕业。软件工程不等同与软件开发,软件工程是一个工程学科其指导意义更多。一个比较贴切的比喻:把一款软件比做一座大桥,那么软件工程师相当于施工总指挥,而一般的开发人员相当于建筑工人!
5前景




随着软件产业的发展,软件产品的质量控制与质量管理正逐渐成为软件企业生存与发展的核心。几乎每个大中型IT企业的软件产品在发布前都需要大量的质量控制、测试和文档工作,而这些工作必须依靠拥有娴熟技术的专业软件人才来完成。软件测试工程师就是这样的一个企业重头角色。业内人士分析,该类职位的需求主要集中在沿海发达城市,其中北京和上海的需求量分别占去33%和29%。民企需求量最大,占19%,外商独资欧美类企业需求排列第二,占15%。然而,2011年的现状是:一方面企业对高质量的测试工程师需求量越来越大越大,另一方面国内原来对测试工程师的职业重视程度不够,使许多人不了解测试工程师具体是从事什么工作。这使得许多IT公司只能通过在实际工作中进行淘汰的方式对测试工程师进行筛选,因此国内在短期将出现测试工程师严重短缺的现象。根据对2011年网络招聘IT人才情况的了解,许多正在招聘软件测试工程师的企业
很少能够在招聘会上顺利招到合适的人才。在具体工作过程中,测试工程师的工作是利用测试工具按照测试方案和流程对产品进行功能和性能测试,甚至根据需要编写不同的测试用例,设计和维护测试系统,对测试方案可能出现的问题进行分析和评估。对软件测试工程师而言,必须具有高度的工作责任心和自信心。任何严格的测试必须是一种实事求是的测试,因为它关系到一个产品的质量问题,而测试工程师则是产品出货前的把关人,所以,没有专业的技术水准是无法胜任这项工作的。同时,由于测试工作一般由多个测试工程师共同完成,并且测试部门一般要与其他部门的人员进行较多的沟通,所以要求测试工程师不但要有较强的技术能力而且要有较强的沟通能力。
1. 测试人员要提高自己的分层测试思想,在划分测试点的时候不光要从业务的角度考虑,还要充分考虑数据的特殊性。
2. 测试人员也应当具有一定的市场意识和风险意识,能够站在不同的角度,尽可能的分析系统可能存在的风险场景。
3. 测试负责人制定测试计划粒度要小、周期要短;测试组成员对于自己的工作都有明确的目标和子目标。特别是存在交叉测试的模块,测试人员一定要责任明确,确保没有漏测的场景。
4. 测试人员一定要有自我推销意识,主动加强与开发人员、需求人员及客户的沟通。
5. 测试人员也应该像质量管理人员一样,在项目中起到过程监控点的作用。能够从全局的角度反映项目存在的问题。
6. 提高测试效率很重要的一点就是对可复用资产的充分利用;可复用资产中比较重要的一部分就是测试用例的复用,所以在以后的测试中一定要充分利用可复用的测试用例提高测试用例的编写效率。
7. “经验的浪费是最大的浪费”,测试人员一定要善意总结,把自己的测试经验记录下来,这样不仅能完善自己的测试思想还能为同事提供系统的学习经验。
6认证




作为全球最知名和规模最大的专业学术组织—IEEE,2011年将在美国、印度和中国全球首发CSDA软件开发工程师认证CSDA(CertifiedSoftwareDevelopmentAssociate),CSDA认证培训是一个由IEEE主导的入门级的软件工程师的国际认证项目,即“软件开发工程师认证”项目,由IEEE计算机协会研制推出。CSDA培训和认证不带有任何产品和应用色彩,而是从软件工程生命周期的全过程,向参加认证的人员教授软件开发的通用知识。具有CSDA认证的基础,可以方便学员更好地参加其他的基于特定产品的应用的培训。
CSDA采用的模式是培训-考试-证书的方式。培训大纲依据《软件工程知识体系指南》和《软件工程2004:软件工程本科生课程计划指导》,由IEEE计算机协会专家组制定,教材由Holmes公司专业编写完成。由Prometric设在各地的考点进行考试,一旦考试通过,考生将获得由IEEE颁发的全球统一证书。鉴于IEEE百余年的品牌影响力,不是一般的企业品牌所能相比,并已与全球多家软件公司签订优先用人合作意向,因此,获得CSDA证书对考生将来的就业、升职、职业发展等都有很大的帮助。
教材:由Prometric公司(专门负责考试的公司)专业编写
综合《软件工程知识体系指南》《软件工程2004》两本书,全英文四个模块,分四册。
考试:由Prometric公司设置在各地的考点进行
目标参训者


1.计算机学院、软件学院大三和大四的学生
2.软件工程硕士、MSE在读
3.从业经验2年之内的软件人员
4.专业不是计算机,但是想改专业希望从事软件工作的人员
认证流程


培训:100课时左右,CSDA讲师主讲,其中包括理论和实验两部分。也可以采取课程置换、嵌入和其他方式。
考试:
1.每个考生都有一个账号,通过帐号向Prometric相关地区的考点预约时间,网上考试。
2.共180道选择题,考试时间4小时。
3.参加培训的学生预计通过率为85%,未参加培训的学生通过率不到40%。
认证


由IEEE计算机协会颁发全球统一的证书,证书有效期为3年,到期可以再申请认证,或者申请高级工程师(CSDP)的认证。
特点


1.权威性
2.不带任何产品和应用色彩,而是软件工程生命周期的全过程。
3.含金量:
(1)IEEE具有百余年的品牌影响力
(2)2008年才在全球开展具有巨大的潜力
(3)软件企业的认可,国内外众多企业宣布优先雇佣通过CSDA认证的人员
7掌握技能




首先是对操作系统的认知
大家都是知道,不管什么应用软件,都必须依靠一个操作系统,只有在一个操作系统上,它才能很好的运行;我们常用的操作系统最多的当数微软的windows操作系统了,2013年微软推出的是win8操作系统;由于是刚刚推出,它还不能被用户所接受,2013年大多用户还在用win7和windows xp操作系统。
其次是对开发语言的掌握
软件开发,通俗的说就是写程序,就是把一串一串的命令组合起来,让它来替我们完成某种特定的任务。如果你从事的是java软件开发,那么你重点必须精通java语言,你要懂得java的特性,java语言的语法,java语言的算法等等。
第三是对开发工具的使用
俗话说:磨刀不误砍柴工,要想开发出一个好的软件,对开发工具的熟练应用是非常重要的,它可以让你事半功倍;java软件开发常用的开发工具有:开源的Eclipse和收费的MyEclipse,.Net软件开发工具有:微软的VisualStudio,Pascal软件开发工具:Delphi。关于软件开发工具的使用,可以参考扩展文章《常用的软件开发工具有哪些使用技巧》。
第四是对TCP/IP网络协议的了解
有了TCP/IP网络协议,使网络得到了飞速的发展;从早期的C/S结构的运行模式到现在主流的B/S结构的完美转变,TCP/IP协议是功不可没的,未来更是离不开TCP/IP协议;要想成为一名优秀的软件开发工程师,特别是手机软件开发工程师,你不仅仅要知道ISO有哪几层组成,你更要知道,每层的功能和作用。
第五是对数据库的熟练应用
数据库对软件的影响是不容小视的,因为我们做的工作都是心数据为中心,重点部分就是操作数据,如果没有数据库,那么软件的作用也就会大大降低;2011年常用的都是关系型数据库,主流的有:甲骨文公司的Oracle、微软公司的sqlserver、IBM公司的DB2,还有一些小的数据库,如mysql,Access等;我们一定要熟练掌握SQL语言,它是操作数据库的关键。
第六是对软件工程的了解
大多软件开发公司在招聘的时候,都会问你对软件工程的了解,软件工程是软件开发的前提;因为公司不可能招一个只会写代码而不知道为什么要这样写的员工;作为一个优秀的软件开发工程师,你不仅仅要会写代码,更重要的是要掌握《软件开发的流程》中每个阶段所要用的技术,如客户需求,市场调查,可行性分析,需求分析,详细设计,最后的软件测试等等。
第七是要有勇于探索,勇于创新的精神
一个优秀的程序员,不能总是原地不动,不去思考,要多去想一想为什么要这样做,如果不这样做会产生什么样的后果;要努力学习新的知识,因为软件行业是一个更新速度非常快的行业,如果你的知识2年都没有更新的话,那么,你在这个软件开发行业的前景就不容乐观了;每天都要抽出一定的时间学习新知识,只有这样,才能走的更好,更远,更稳。