




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有软件工程师综述/行业展望北大青鸟昌平校区提供引言:软件工程师是一类新兴的职业。与传统的行业相比较,这 个行业是随着计算机的发展而逐步发展的, 并且,随着信息产业化的 飞速发展,软件工程师这个行业不仅让人们越来越熟悉,并且,也吸 引着大量人才的涌入,很多人都会通过参加软件工程师培训, 或是通 过大学专业的选择,加入到这个队伍当中。当今信息瞬息万变,软件工程师的需求量也逐步加大,从当初单 一的编程工作,发展到软件测试工作、宏观管理工作等。人们对于软 件工程师这个行业的兴趣越来越大。软件工程师到底从事什么,软件工
2、程师待遇如何,软件工程师发 展前景怎样,人们有许多疑问。本篇文章,通过对软件工程师详细的 介绍,让大家真正了解这个行业,并最终指明软件工程师的发展前景, 旨在为那些选择的人做一个明确的发展方向。目录软件工程师概述 2 软件工程师分类 2 软件工程师工作内容 3 软件工程师待遇 4 软件工程师行业展望 6 软件工程师要求 7 软件工程师认证培训 8软件工程师知识补充 10第一部分:软件工程师概述定义:软件工程师主要进行软件前期的项目需求的分析, 然后对项目进 行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对 软件的进度做相关的评估。现状:目前国内软件测试工程师的来源主要有三方面: 一
3、是以前专业做 软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研 究生,三就是通过培训机构招聘的专业学员。其实,无论通过何种形式,目的在于招聘到优秀的人选,招聘到 优秀的工作者,因此,通过参加培训,如北大青鸟培训等,也是不错 的选择。第二部分:软件工程师分类按级别分类高级软件工程师软件工程师助理软件工程师软件技术员上面的梯形图明确的表示出软件工程师的四个步骤, 如同金字塔 一般,越是对技术要求高,人也就越少,当然,待遇各方面都会越好, 但是责任与工作任务会越大。其实,越往高,技术,能力,各方面要 求全部会相应提高。按从事类型分类软件工程师JAVA工程师.NET工程师PHP工程师C+软
4、件工程师An droid析工程师第三部分:软件工程师工作内容基本工作内容第一:指导程序员的工作;第二:参与软件工程系统的设计、开发、测试等过程;第三:协助工程管理人保证项目的质量;第四:负责工程中主要功能的代码实现;第五:解决工程中的关键问题和技术难题;第六:协调各个程序员的工作,并能与其它软件工程师协作工作 职业分析软件工程师是从事软件开发相关工作的人员的统称。软件工程师是一个广义的概念,包括软件设计人员、软件架构人 员、软件工程管理人员、程序员等一系列岗位。虽然这些岗位的分工不同,职位或级别不同,但工作内容都是与软件开发生产相关的。软 件工程师是IT行业需求量最大的职位,稳居IT行业职位需
5、求TOP10 的第一位(第二位是高级软件工程师)。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C 语言/C+/JAVA 等)、数据库技术(SQL/0RACLE/DB2 等)、.NET 平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT> AJAX、 HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS 等前沿技 术。除此之外,关于网络工程和软件测试的其他技术也要有所涉猎, 以利于操控全局。软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程 师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽 然要求技术全面,但无
6、须偏执于门门技术都精通,任何软件工程师都 有自己的技术特长和偏向,对于自己手中的技术,可有精通 -掌握-熟 悉-了解之分,根据工作需要和职业发展的具体情况来划分。第四部分:软件工程师待遇软件工程师是一个新兴行业,因此关注他的人会越来越多,上面 我们谈到软件工程师行业定位,软件工程师的两个分类,这一次,应 该谈到网络工程师的待遇。其实对于待遇而言,软件工程师是待遇比较高的,相较于同一间 写字楼的同事,但是工作内容与工作压力也不可小看,比如说,一个 项目会经常加班;而且会一个月甚至两个月为了一个项目在奋斗。软件工程师待遇与以下以下因素有关:第一:所从事工作的类别如同本文提到的级别分类一般,不同级别
7、的工程师,所从事的工 作不同,承担的责任不同,当然,待遇也有所区别。如果刚刚进公司,只是不是名初级软件工程师,那么与高级软件 工程师的待遇是不同的,这一点完成可以理解,因为无论从技能方面、 职场经验方面、所处的位置方面都有差别,待遇自然不同。第二:所处公司不同这一点很多人都能够理解,在 IBM、GOOGLE、微软这些公司 中,软件工程师的待遇应该都会比一般规模软件工程师的待遇高一 些。公司的实力,公司的规模,公司对此职业的重视程度,都与软件 工程师的待遇相关。第三:所在地区的差别大家都知道,城市也有区别,比如大都市或者沿海地区,由于所 处的位置不同,经济发展水平也有区别,因此,城市整体的消费水
8、准 也不同,这样,软件工程师的待遇也会不同。有资料显示:一级城市(如深圳、上海等)初-高级软件工程师 的待遇在4000 9000之间;内地其他省会城市一般在 2000 6000之 间,但工作量大,繁琐枯燥。软件工程师各职位待遇图水 薪程序员系统分析师职位-薪水待遇线性(薪水待遇)X轴表示软件工程师中的各个职位,由左到右的职位分别为一一 程序员;实施工程师;支持工程师;架构师;系统分析师;售前工程 师;项目经理;技术总监。Y轴表示软件工程师各职位的平均待遇薪水,此表中仅表示基本薪 水,相关的佣金、花红、奖金及相应补助不包含在其中。总结:如果希望得到更高的待遇,要提升自己的能力,并且不断的学习,
9、具备一定的抗压力,这样,你才能有资格去从事软件工程师的工作, 并且随着自己职业生涯的增长、职场经验的丰富,你就会得到相应的 待遇。第五部分:软件工程师行业展望软件工程师行业性质:行业虽然分为很多种,但是大体可以分为两类:朝阳行业与夕阳 行业。顾名思义,我们来看看两类行业的概念。朝阳行业:刚刚兴起,正在发展阶段, 而且有相当大的发展空间 的行业,比如电子信息行业,通信行业,软件,生物工程,电子等等。相对于朝阳行业的,是夕阳行业。夕阳行业,比如钢铁,机械,自动化,采矿,纺织,汽车等,它 们行业内竞争非常激烈,已经发展得很完善而且技术水平已相当高, 发展上升的空间很小, 正在走下坡路。由上面的解释可
10、以得出,软件工程师这个行业,是属于朝阳行业 的,因为这个行业是随着电子信息产业的发展而逐步发展,并且日臻软件工程师行业发展网游、网购、网恋网络视频、社交网站、及时聊天工具 通过网络,通过计算机,人们从事事情越来越多,相较而言,对各类 功能要求越来越高,软件工程师的分类也就越来越细,要求也越来越 多。当然,上面讲的是从技术方面的要求。大家也许都听说过一个职位 CTO (Chief Technology Offer首席 技术官),是企业内负责技术的最高负责人。另一个是CIO(ChiefIn formation Officer)首席信息官是一种新型的信息管理者。他(她) 们不同于一般的信息技术部门或
11、信息中心的负责人,而是已经进入公司最高决策层,相当于副总裁或副经理地位的重要官员。这两个职位都具备含金量,都进入到公司的管理层,无论是薪水 也好,自我价值也好,都得到公司乃至公众的认可。这两个职位有几 个共同点:一是都作为公司的高层出现;二是都与技术相关。精品文档I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有软件工程师的工作不同于程序员,但是一个软件工程师其前身必 定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。 技能不断发展的同时,自身的素质也不断提升,同时,应变能力、处 理问题的能力、自我激励与提升能力、管理能力,这样,一名程序员, 或
12、者软件工程师,最终将进入到公司的高层,成为人人瞩目的CTO或 CIO。这是从软件工程师这个职业自身分析,下面看看整体行业的发 展。前面分析过,电子信息产业是朝阳行业,而软件工程师是这个行 业中不可缺少的一部分人,因此,软件工程师整体行业的发展非常不 错,因为这是社会进步的需求。第六部分:软件工程师要求第一:外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;第二:Java和.NET技术在市场上平分秋色,都有大量的岗位需求, 同时值得庆幸的是二者在应用层面上的技术差异越来越少;第三:软件开发企业对开发人员的基本技术素养强调得越来越多, 例 如:面向对象的程
13、序设计思想和代码组织方法、HTML/CSS/JavaScript 客户端技术;第四:为了保证质量和工期,企业中大量使用各种框架技术,要求开 发人员至少熟悉一种框架技术;第五:MIS、OA、ERP、CRM、系统集成、物流、进销存、电子政 精品文档I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有精品文档务、网站建设这一类B/S系统,成为软件工程师需求最大的业务领域第七部分:软件工程师认证培训软件工程师认证软件工程师培训方面SCJD认证微软专家认证、Cisco专家认证、3COM资格认证、ADOBE资格认 证、Oracle认证、北大青鸟ACCP软件工程师培训、北
14、大青鸟BTEST 软件测试工程师培训以下是对于年轻人选择软件工程师培训机构的参考意见:第一:教材能够定期更新升级对于培训机构,教材是非常重要的,如果培训机构使用的教材是 十几年前或更早的教材,这样的培训机构能否相信呢? IT技术是瞬 息万变的,而且人们对各项网络功能要求的提高, 也是对软件工程师 技能的要求提高,因此,考察教材非常重要。北大青鸟教材采取十八至二十四个月的升级更新,保障学员学习 到最新的知识。北大青鸟ACCP软件工程师培训课程是北大青鸟IT教育推出的软件工程师职业教育课程,由中美印软件技术专家联合研发完成。 作 为一款面向大众的求职系列教育产品,ACCP全面提升学员就业竞争 力,
15、课程开发采用了逆向设计理念,推陈出新,引领未来IT技术发展潮流,继续保持了北大青鸟IT教育ACCP课程体系的国际同步水 平以及在国内IT职业教育领域的领导地位。第二:教材开发有保障只关注教材的更新度不关注教材开发同样不可取, 因为开发的人 群非常重要,如果课程的开发团队不具备权威性, 那么就算再怎么更 新,又有何用呢?北大青鸟APTECH拥有一支具有国际水平的培训课程研发团队。该团队由我国计算机教育专家谭浩强教授担任首席学术顾问, 来 自北京大学、清华大学、IBM公司、微软公司、Oracle公司等领域的 知名学者和专家担任技术指导,已经成功开发出多款 IT培训课程体 系,其中包括软件工程师培训
16、课程体系。第三:教师资格有保证课程好,但是老师不好,同样得不到保障,北大青鸟所有老师都 具备教师资格证,因为所有老师在上岗前,都必须经过北大青鸟总部 的标准化培训。第四:硬件与软件设施有保障“纸上得来终觉浅,决知此事要躬行”,这是陆游老先生千年之前的诗句,但是如今,放在软件工程师行业中,仍然适用,因为软件 工程师就是要多实践,才能够掌握,应用。如果培训机构不好,不能够提供优良的硬件与软件设施,那么这家培训机构就要小心。第八部分:软件工程师知识补充一、明星软件工程师十种特质:1、热爱编程编程是一种为了满足兴趣而心甘情愿去做的劳动 (Programming is a labor of love)。
17、和其他任何职业一样,唯有真正的热情,才能完成真正的伟大事情。这里有个误解,认为编写代 码是机械化并纯科学性的。事实上,最优秀的软件工程师是工匠,他 们能把能量、独创性和创造力融入到每一行代码中。明星软件工程师知道何时该把代码雕琢至完美,知道何时把大型 系统像拼图一样组装到一块。热爱编程的工程师从构建软件中获得满 足,就好比一位作曲家在完成一部交响乐后而欣喜若狂。正是兴奋感和成就感,才造就了喜爱编程的明星工程师。2、完成事情有很多技术人员只谈论软件而不编写代码(只说不做型)。而优秀软件工程师会真正去编码,这也是他们最为重要的品质之一。 他们 是实际做事的人。聪明人都知道,解决问题的最佳途径是直面
18、问题, 而不是花上数周来设计复杂又不必要的架构和函数库。优秀工程师应当会问:解决手头问题的最简单方法是什么?最近 的软 件开发方法 敏捷实践,正是专注那个。它的思想是,把复 杂的项目拆分为短小的迭代,每个迭代只关注一小部分的增量功能。 因为每个迭代对应的编码只需要数周,所以功能易于管理并简单。I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有3、持续重构代码编码很像雕刻。要像艺术家一样不断完善自己的作品, 软件工程 师也要通过可能的最佳方式来持续完善自己的代码, 以达到目标。重 新塑造代码的原则称为“重构” ,Martin Fowler 在他的创意书中有
19、相应描述。重构背后的原始思想是:改善代码而不改变其功能,移动调整部 分代码以确保系统不腐,还有确保系统完成基于当前需求 该完成的 事。持续重构可以让开发人员解决另一个著名的问题 一一“黑盒遗留 代码”(这个问题基本无人想触及)。几十年的软件开发文化要求我们,不应该去改变正常工作的东 西。然而,随着时间推移,问题是我们成为了老旧代码的奴隶,老旧 代码变得不稳定和不兼容。而重构正好可以改变这一状况,因为我们 是代码的主人,不是它的奴隶。重构在工程师和代码之间建立起持续 的“对话”,并带来所有权、确定性、自信心和系统的稳定性。不要成为老旧代码的奴隶。如果代码是他人所写,或许你可以轻 易推脱责任。但大
20、多数时候,那些代码是自己所写,要拿得起放得下, 旧代码该埋时,就把它埋了!4、使用设计模式自从这些大人物(Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides )发表他们的著作 设计模式后, 全世界的软件工程师一直都在讨论模式。在我们所处世界,不管是自然界还是人类行为,模式无处不在。 软件工程自然也不例外。模式就是不断重现的跨语言跨系统的场景和 机制。一位优秀的工程师通常能识别并利用模式, 而不是受制于模式。 精品文档I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有工程师不应(强制) 让系统去适应某种
21、模式,而需发现在系统中使 用模式的时机(恰当使用模式)。在使用模式来确保正确性时,应借 鉴利用前人的智慧结晶,使用以前能正当解决特定工程问题的方法。但请切记:模式不是万灵药;不要为了使用设计模式而使用设计 模式。5、编写测试曾有段时间,软件工程师们认为测试不值得他们去做。然而,如 果你不做测试,你怎么能确保代码就能正常工作呢?敏捷实践中的“单元测试”已获得普遍认可,因为它注重编写测试来反映代码是否 有效。随着系统增大,测试也随之增大。有经验的工程师知道并了解测 试的价值所在,因为测试的目的就是创建一个能正常运作的系统。优秀的工程师通常会确保出现过一次的 Bug不会再出现第二次。但优 秀的工程师
22、也知道,不应该浪费时间写那些琐碎或多余的测试, 而需 要专注测试 各个组件中的核心部分。6、善用现有代码“重新发明轮子” 一直是软件行业中的巨大问题之一。 从发明新 语言到从写函数库,忽视并重写那些已经存在并已能工作的奇怪驱动 力,已经造成大量软件开发的失败案例。一位明星工程师会专注三种基本类型的重用:第一,内部基础架构的重用,相应代码是他自己或同事编写的;第二,使用第三方的函 数库,比如JDK。最后,研究使用某些大型网络服务商提供的相应 服务,比如 Amazon。总之,正确善用现有的代码,使得软件工程 师能真正专注于最为重要的事情上一一应用程序本身。7、专注可用性优秀的工程师通常都专注于用户
23、。 无论用户是企业还是个人,无 论是为消费型的软件公司还是投资银行, 需要关注的都是可用性。用 户如何和系统交互?系统是否提供一种简单、直接和平稳的操作体 验?有种说法,因为软件工程师是技术人员,他 /她和“用户如何与 系统交互”没有关联,这种说法严重错误。优秀工程师努力工作是为了什么?不正是让系统简单并易于使 用。他们无时无刻都会想到用户,不会尝试去发明那些令人费解,只 有极客才能理解并欣赏的东西。有些时候,一些软件工程师过于投入,反而忘记所编写的程序 / 软件,是供他人使用,不是做给自己看的“艺术品”。所以,在软件 开发过程中,一直要把“用户”放在心中。8、编写可维护的代码软件开发界的另外
24、一个小秘密是:编写优秀代码和糟糕代码所花 费的时间是一样多。一位训练有素的工程师,他/她会从第一行代码开始就考虑可维 护性和代码的演化。没有任何理由编写“丑陋”的代码、长达数页的 函数,或是稀奇古怪的变量名。优秀的工程师编写代码会遵循命名惯例, 代码编写紧凑、简单和 不过度炫耀聪明。代码的每一行,都应恰如其分地展现出其原有目的。 在给不便理解的代码(块)合理注释时,别忘了命名规则。清晰明了 的函数名和变量名可以让代码不言而明。在编码时,有些程序员会有这种心态:过一会儿再来修改或完善精品文档I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有某部分代码或某条语
25、句。但谁知这一“过一会”竟然是“一天”、“一 周”、“一个月”或“一年”,甚至以后根本就没机会再回头修改。所 以,尽量别妥协写出暂时堪用的代码。否则,不仅不会节省开发时间, 也可以阻碍整个进程。当然也不利于后续维护人员的工作。9、能用任何语言编程优秀的软件工程师或许有自己一门特别钟爱的编程语言,但从不会执迷于当中。如今已有很多优秀的编程语言,也就是说,如果你只 会使用其中一门语言,说明你缺乏多样性。你可以用Java、C#或C+编写任何现代软件,可以用 PHP、Perl或Ruby编写任何网站 的后台。简而言之,编程所用语言,远远没有语言相应的函数库重要。 优秀的工程师能够认知到这一点, 并愿意去
26、学习新语言、新函数库和 构建系统的新方法。10、知晓基本的计算机科学知识最后,但肯定不是优秀工程师最不重要的特质就是: 扎实的基础。 优秀的工程师或许并没有计算机科学的学位,但他 /她必须知道基础 数据结构和算法。如果不知道哈希表,或者不知道链表和数组之间的差别, 你如何 构建一款大型的软件?这些都是每位从事软件开发的开发人员应当 知道的。算法也同样重要,从二分查找到各种排序,到图形遍历,一 位明星工程师必须知道并内在消化这些基础东西。 因为这些基础就是 你在构建任何现代软件中做抉择时的必备品。二、软件工程师面试常见问题1、请你自我介绍一下你自己一般应试者回答这个问题过于平常,只说姓名、年龄、
27、爱好、工 精品文档I精品文档就在这里各类专业好文档,值得你下载,教育,管理,论文,制度,方案手册,应有尽有作经验,这些在简历上都有,其实,企业最希望知道的是求职者能否 胜任工作,包括:最强的技能、最深入研究的知识领域、个性中最积 极的部分、做过的最成功的事,主要的成就等,这些都可以和学习无 关,也可以和学习有关,但要突出积极的个性和做事的能力,说得合 情合理企业才会相信。尤其是软件工程师,工作枯燥,会掌握公司核心的技术,因此对 人品要求会高。2、你觉得你个性上最大的优点是什么?沉着冷静、条理清楚、立场坚定、顽强向上。软件工程师要求是 细心,认真,因此,这方面的回答也比较重要。当然,乐于助人和关
28、 心他人、适应能力和幽默感、乐观和友爱。大家都欢迎你。3、说说你最大的缺点?作为公司技术人员,回答问题的时候要注意一点。这个问题企业问的概率很大,通常不希望听到直接回答的缺点是 什么等,如果求职者说自己小心眼、爱忌妒人、非常懒、脾气大、工 作效率低,企业肯定不会录用你。企业喜欢求职者从自己的优点说起, 中间加一些小缺点,最后再 把问题转回到优点上,突出优点的部分。企业喜欢聪明的求职者。4、你对加班的看法?软件工程师加班非常平常。好多公司问这个问题,并不证明一定要加班。只是想测试你是否愿意为公司奉献。可以体现自己能够加班,同时也要明确表示自己会提高工作效率,减少不必要的加班5、你对薪资的要求?对
29、薪酬的要求太低,显然贬低自己的能力;对薪酬的要求太高, 那又会显得你分量过重,公司受用不起。一些雇主通常都事先对求聘 的职位定下开支预算,因而他们第一次提出的价钱往往是他们所能给 予的最高价钱。他们问你只不过想证实一下这笔钱是否足以引起你对 该工作的兴趣。参考:我受过系统的软件编程的训练,不需要进行大量的培训。 而且我本人也对编程特别感兴趣。 因此,我希望公司能根据我的情况 和市场标准的水平,给我合理的薪水。参考:如果你必须自己说出具体数目,请不要说一个宽泛的范围, 那样你将只能得到最低限度的数字。 最好给出一个具体的数字,这样 表明你已经对当今的人才市场作了调查,知道像自己这样学历的雇员 有什么样的价值6、在五年的时间内,你的职业规划?这是每一个应聘者都不希望被问到的问题, 但是几乎每个人都会 被问到。近几年来,许多公司都已经建立了专门的技术途径。这些工作地位往 “往被称作“顾问”、“参议技师”或“高级软件工程师”等等。当然,说出其他一些你感兴趣的职位也是可以的, 比如产品销售
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CHC 1007-2023硫酸软骨素钠
- T/CGTA 04-2023食用玉米糁、玉米粉加工质量安全技术规范
- T/CGCC 61-2021蛋黄酥
- T/CECS 10264-2023预拌盾构注浆料
- T/CCOA 46-2023农业规模化经营组织玉米收储技术规程
- T/CCMA 0138-2022塔式起重机爬升液压系统
- T/CCMA 0057-2018场(厂)内电动消防车
- T/CBMCA 014-2020室内空气污染治理服务规范
- T/CBMCA 005-2018负离子陶瓷砖健康等级划分及标识
- T/CBJ 5105-2023桂花酒
- (正式版)JBT 11270-2024 立体仓库组合式钢结构货架技术规范
- 药品不良反应知识培训
- 咸阳亨通电力集团笔试题
- 歌曲大赛计划书
- 介绍福建红色文化
- 家具设计经典论文
- 公招资格复审个人委托书
- 化脓性骨髓炎临床诊疗指南
- 2023急性有机磷农药中毒诊治要求
- 全国优质课一等奖人教版高中化学必修第二册《金属矿物的开发利用》公开课课件
- 深圳中英公学小升初数学期末试卷章末练习卷(Word版-含解析)
评论
0/150
提交评论