- 2021-04-28 发布 |
- 37.5 KB |
- 10页
申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。
文档介绍
软件工程师培训心得
软件工程师培训心得 软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。 职位概述 软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格.。 一般情况下,都是分4级:软件技术员、助理软件工程师、软件工程师、高级软件工程师 。 目前国内软件测试工程师的来源主要有三方面:一是以前专业做软件开发的人员后来转行做软件测试,二是从大学招聘的本科或者研究生,三就是通过培训机构招聘的专业学员。据了解,在国外测试人才的供应方式多以第三种为主,而国内目前除少数培训机构外尚未形成足够的人才供应规模。以北京中关村为例,现有软件企业5000多家,仅对曰本软件外包领域的人才缺口就高达5000人,而对美软件外包人才缺口更大,可供量不足10%。中关村一位负责人介绍,未来5年北京将有至少200亿美元的外包订单,由此可推算出中关村将出现100万的软件人才缺口。 巨大的产业前景和匮乏的人才现状,使越来越多的IT企业关注软件测试人才的储备工作。 2职位定义 负责产品的软件研发,承担软件设计、代码编写、软件测试方案制订、代码调试和测试等。负责产品软件的定制化工作,按照客户需求定制软件用户界面,定制驱动程序,开发安装程序,数据库访问等。 工作内容 1、 指导程序员的工作; 2、 参与软件工程系统的设计、开发、测试等过程; 3 、协助工程管理人保证项目的质量; 4 、负责工程中主要功能的代码实现; 5 、解决工程中的关键问题和技术难题; 6 、协调各个程序员的工作,并能与其它软件工程师协作工作。 职位背景、现状和前景 当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。所以学好学校所能提供的专业课程是相当重要的。IT行业的平稳增长必然会带来软件工程师需求的增长,目前随着IT产品出现的技术融合,软件行业需要的也是复合型人才,软件工程师需要掌握更多的编程语言。 3从业要求 具有扎实的计算机基础理论知识; . 精通c/C++、Java、C#等语言,具有丰富的Unix/Linux/Windows系统下开发经验; . 精通Perl、Python、PHP、Shell等脚本语言; . 有一定的算法基础,具有较强的独立解决问题能力;. 有大容量、高性能、分布式系统的设计开发经验; . 具有很强的学习能力和对新技术的追求精神; . 具有良好的中英文沟通能力,具有项目管理经验者优先; . 认同客户第一、团队合作、拥抱变化、诚信、激情、敬业的企业价值观。 技能认证 jave方向:scjp和SCJD认证培训;.net方向中美IT、美国IEEE计算机学会.net培训 《软件工程》《图论与数理逻辑》 微软专家认证、Cisco专家认证、3COM资格认证、ADOBE资格认证、Oracle认证 Java似乎专门为网络设计的,用其开发网络软件特别便利,在Internet时代,Java热遍及全球,学习和使用Java的人越来越多。根据权威部门的预测:未来五年我国对JAVA技术人员的需求量将高达200万余人。 同时Java也是一种平台,也是一种程序设计语言,如何学好程序设计不仅仅适用于Java,对C++等其他程序设计语言也一样管用。有编程高手认为,Java也 好C也好没什么分别,拿来就用。为什么他们能达到如此境界?我想是因为编程语言之间有共通之处,领会了编程的精髓,自然能够做到一通百通。如何学习程序设计理所当然也有许多共通的地方。 1 培养兴趣 兴趣是能够让你坚持下去的动力。如果只是把写程序作为谋生的手段的话,你会活的很累,也太对不起自己了。多关心一些行业趣事,多想想盖茨。不是提倡天天做白日梦,但人要是没有了梦想,你觉得有味道吗?可能像许多深圳本地农民一样,打打麻将,喝喝功夫茶,拜拜财神爷;每个月就有几万十几万甚至更多的进帐,凭 空多出个"食利阶层"。你认为,这样有味道吗?有空多到一些程序员论坛转转,你会发现,他们其实很乐观幽默,时不时会冒出智慧的火花。 2 慎选程序设计语言 男怕入错行,女怕嫁错郎。初学者选择程序设计语言需要谨慎对待。软件开发不仅仅是掌握一门编程语言了事,它还需要其他很多方面的背景知识。软件开发也不仅仅局限于某几个领域,而是已经渗透到了各行各业几乎每一个角落。 如 果你对硬件比较感兴趣,你可以学习C语言/汇编语言,进入硬件开发领域。如果你对电信的行业知识及网络比较熟悉,你可以在C/C++等之上多花时间,以期 进入电信软件开发领域。如果你对操作系统比较熟悉,你可以学习C/Linux等等,为Linux内核开发/驱动程序开发/嵌入式开发打基础。 如果你想介入到应用范围最广泛的应用软件开发(包括电子商务电子政务系统)的话,你可以选择J2EE或.NET,甚至LAMP组合。每个领域要求的背景知识不一样。做应用软件需要对数据库等很熟悉。总之,你需要根据自己的特点来选择合适你的编程语言。 3 要脚踏实地,快餐式的学习不可取 先分享一个故事。 有一个小朋友,他很喜欢研究生物学,很想知道那些蝴蝶如何从蛹壳里出来,变成蝴蝶便会飞。有一次,他走到草原上面看见一个蛹,便取了回家,然后看着,过了几天以后,这个蛹出了一条裂痕,看见里面的蝴蝶开始挣扎,想抓破蛹壳飞出来。这个过程达数小时之久,蝴蝶在蛹里面很辛苦地拼命挣扎,怎么也没法子走出来。 这个小孩看着看着不忍心,就想不如让我帮帮它吧,便随手拿起剪刀在蛹上剪开,使蝴蝶破蛹而出。但蝴蝶出来以后,因为翅膀不够力,变得很臃肿,飞不起来。 这个故事给我们的启示是:欲速则不达。 浮躁是现代人最普遍的心态,能怪谁?也许是贫穷落后了这么多年的缘故,就像当年的大跃进一样,都想大步跨入***主义社会。现在的软件公司、客户、政府、学校、培训机构等等到处弥漫着浮躁之气。就拿我比较熟悉的大连大工IT职业培训来说吧,居然打广告宣称"20多年的计算机职业教育,辽宁省十佳学校",殊 不知中国计算机发展才几年,软件发展才几年,居然去报名的学生不少,简直是藐视天下程序员。培训出来的“程序员”大多不知道OO,OP为何物?社会环境如是,我们不能改变,只能改变自己,闹市中的安宁,弥足珍贵。许多初学者C++/Java没开始学,立马使用VC/JBuilder,会使用 VC/JBuilder开发一个Hello World程序,就忙不迭的向世界宣告,"我会软件开发了",简历上也大言不惭地写上"精通VC/Java"。结果到软件公司面试时要么被三两下打发走 了,要么被驳的体无完肤,无地自容。到处碰壁之后才知道捧起《C++编程思想》《Java编程思想》仔细钻研,早知如此何必当初呀。 "你现在讲究简单方便,你以后的路就长了",好象也是佛经中的劝戒。 4多实践,快实践 彭端淑的《为学一首示子侄》中有穷和尚与富和尚的故事。 从前,四川边境有两个和尚,一个贫穷,一个有钱。一天,穷和尚对富和尚说:"我打算去南海朝圣,你看怎么样?"富和尚说:"这里离南海有几千里远,你靠什 么去呢?"穷和尚说:"我只要一个水钵,一个饭碗就够了。"富和尚为难地说:"几年前我就打算买条船去南海,可至今没去成,你还是别去吧!" 一年以后,富和尚还在为租赁船只筹钱,穷和尚却已经从南海朝圣回来了。 这个故事可解读为:任何事情,一旦考虑好了,就要马上上路,不要等到准备周 全之后,再去干事情。假如事情准备考虑周全了再上路的话,别人恐怕捷足先登了。软件开发是一门工程学科,注重的就是实践,"君子动口不动手"对软件开发人 员来讲根本就是错误的,他们提倡"动手至上",但别害怕,他们大多温文尔雅,没有暴力倾向,虽然有时候蓬头垢面的一副"比尔盖茨"样。有前辈高人认为,学 习编程的秘诀是:编程、编程、再编程,笔者深表赞同。不仅要多实践,而且要快实践。我们在看书的时候,不要等到你完全理解了才动手敲代码,而是应该在看书的同时敲代码,程序运行的各种情况可以让你更快更牢固的掌握知识点。 5 多参考程序代码 程序代码是软件开发最重要的成果之一,其中渗透了程序员的思想与灵魂。许多人被《仙剑奇侠传》中凄美的爱情故事感动,悲剧的结局更有一种缺憾美。为什么要以悲剧结尾?据说是因为写《仙剑奇侠传》的程序员失恋而安排了这样的结局,他把自己的感觉融入到游戏中,却让众多的仙剑迷扼腕叹息。 多多参考代码例子,对Java而言有参考文献[4.3],有API类的源代码(JDK安装目录下的src.zip文件),也可以研究一些开源的软件或框架。 6 加强英文阅读能力 对学习编程来说,不要求英语, 但不能一点不会,。最起码像Java API文档(参考文献[4.4])这些东西还是要能看懂的,连猜带懵都可以;旁边再开启一个"金山词霸"。看多了就会越来越熟练。在学Java的同时学习 英文,一箭双雕多好。另外好多软件需要到英文网站下载,你要能够找到它们,这些是最基本的要求。英语好对你学习有很大的帮助。口语好的话更有机会进入管理层,进而可以成为剥削程序员的"周扒皮"。 7万不得已才请教别人 笔者在Martix与Java论坛的在线辅导系统中解决学生问题时发现,大部分的问题学生稍做思考就可以解决。请教别人之前,你应该先回答如下几个问题。 你是否在google中搜索了问题的解决办法? 你是否查看了Java API文档? 你是否查找过相关书籍? 你是否写代码测试过? 如果回答都是"是"的话,而且还没有找到解决办法,再问别人不迟。要知道独立思考的能力对你很重要。要知道程序员的时间是很宝贵的。 转眼间,4个月的Java软件开发工程师培训就要结束了,说说我的感受吧,以供想在软件行业发展的朋友们参考一下。 首先我是一个女孩,学软件开发的女孩相对于男孩来说并不是太多,但是因为我自己对编程比较感兴趣,所以就从事了这个行业。 我们学校的学生从20xx年的下半年就已经开始出来实习了,据我所知我们计算机系的学生大都从事别的行业去了,从事计算机行业的人数非常少,我想大部分是没有过硬的技术知识的原故,不敢去应聘本行业的工作吧。 我一直是一个有上进心的女孩,对软件编程有很大的兴趣,总想着自己也要像男孩一样,做一番属于自己的事业,不能白白的虚度自己的青春,但我又不想从事与计算机沾边的初级职位,比如文员之类的。因为如果自己的第一份工作从做文员开始,以后自己的职业生涯就不好规划,肯定会离软件编程越来越远的。 说实话我的家庭条件并不富裕,但是我有一个非常支持我上学的父母,他们狠狠心在我上了几年大学之后又给我交了几千元的培训费。从那时候起我就想着我一定要好好学习,对得起父母。 就这样开始了我的培训旅程,其实说实话在培训的过程中我是时而感到特别迷茫,时而又有了奋斗的激情,这不免有个人的因素,也有培训环境的影响。 在这里我想提醒一下那些想参加软件培训的学生,在你们选培训班的时候一定要看清这个学校以前培训学员的就业情况,特别重要的是培训老师有没有教学经验,一些培训机构总是以赚钱为目的,鼓吹着自己的培训老师拥有几年几年的项目经验,其实我感觉没有教学经验的老师还不如项目经验少一些的老师。 我们培训部就是一个例子,我有时候就感觉听我们老师讲课简直是一件非常痛苦的事情,他讲课从来就不备课,只是根据自己的工作经验,想到哪个知识点就讲哪个,我们听课的学生一点思想准备都没有,而他常常在课堂上为了调试一个程序的一个小小的错误耽误一两个小时的时间,而这期间往往也是我们最煎熬的时候,因为我们要坐在那个地方陪着他找错误,这种情况下的我们非常受折磨,并且感觉时间都白白浪费掉了,以至于根本没有什么收获。 再来谈谈我自己的情况吧,我在大学期间编程语言学的还算不错,当时我们只开了c++、java两门编程语言课,还有软件开发相关的SQLServer20xx数据库,我的这三门主修课程每次考试都很优秀,参加培训时也有老师劝我学软件前台,网页设计什么的,说是女孩比较适合学这个,好就业,而软件开发大都是男孩子,女孩几乎是学不通的。我当时就是为了证明自己的能力,根据大学期间自己的学习情况,我相信自己能学好。 但是也因为我们老师讲课的无计划性,课程拖到现在还没有结束掉,时间已经过去6个月了,我开始思索我自己的人生了。 经过四个月的培训,我不能说我没有学到什么东西,但我还要说一点,我虽然每一样技术都知道了,但是我学的仅仅还只是一个皮毛而已。软件开发最重要的就是编程思想,可我现在的水平只是编写代码达到非常熟练的程度罢了,对于编程思想感觉还是没有踏入软件开发的门槛.而编程思想主要来自于你所做过的实际项目获得的经验。而我们培训部的项目不仅少而且不怎么实用。所以要想参加培训还要看清这个培训部的项目是不是够份量,没有实际的项目经验去应聘软件开发的工作还是不行的。 经过仔细的思索,我已经决定去找工作了,现在正是找工作的好时候,虽然我没有多少项目经验,但我相对于应届毕业生自信多了,也许这就是培训的力量。不过哪怕找到一份小小程序员的工作干着也行,因为现在对自己的职业定位还有点迷茫,我自己的性格属于那种做事情非常认真、踏实、细心,感觉更适合做软件测试方面的工作,对于软件开发我还是抱着先试试工作的态度,主要源自于我自己头脑反应太慢,估计一直做软件开发对职业发展前景是有碍的。 最后告诫那些还在上大学的朋友们,如果你们想在软件行业发展,那你们一定要在上学期间多上网看一些编程方面的视频,自已尝试着把企业要求的知识点自学一下,跟着视频做一些小型的项目。其实自学知识点是不难的,只有你有恒心。因为我培训的感觉就是公司要求的一些东西很多并不是我们不懂,而是我们在学校其实是连听说过都没有听说过,这样的话哪个公司会愿意查看更多