刚毕业的大学生一般担任初级软件工程师,经过3~5年的学习和积累,能够独立完成产品的设计、复杂程序的编写及相关工作的管理之后,就有机会晋升为高级软件工程师、软件小组长或者经理。 软件工程师也是IT行业需求量最大的职位,稳居IT行业职位需求TOP 10的第一位,而高级软件工程师则位列第二。 软件工程师的职业发展路线:软件架构师、项目经理、研发经理等职位。
程序员的发展一般来说是这样:程序员→软件工程师→架构师→系统分析师(技术路线)或者项目管理师(管理路线),最终到达技术总监,或者项目总监甚至CTO、COO或者CIO等高级职位。也有程序员后来进入测试领域,后来成为QA或者QC,最后成为质量总监等。
软件工程师英文是Software Engineer,是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。
软件工程师需要具备什么能力啊?
软件工程师虽然不能算是一个新生事物,但随着社会的不断发展,计算机是我们必不可少的,软件开发也是推动计算机迅速发展的条件,那么做为软件工程师我们需要什么条件?
(1)具有扎实的计算机专业知识
这是软件工程理由能够从事软件一切工作最基本的前提,是软件工程最基本的素质,这要求软件工程师必须精通高等数学、离散数学、电子学、编程语言、数据结构等课程。
(2)良好的语言表达能力和沟通能力
这是软件工程师应该具备的一个很重要的素质,因为软件工程师是为用户开发软件,常常需要直执着面对用户。
(3)健康的心理素质
开发软件本身就是一项艰苦的脑力和体力劳动,软件工程师开发成功一个软件,要经过反复修改,要花费大量的进间和精力,这些都有要求软件工程师有较好的心理承受能力。
很多学生往往只注重计算机专业知识的培养,而忽视了语言表达能力和沟通能力、工程经济分析能力,以及心理素质的培养。因此,作为一个在校的大学生,除了认真学习软件基础理论课程之外,还需要特别注意以下能力的培养:
(1)正确的定位
大学计算机软件专业学生应该将自己个人今后职业生涯的目标定位在软件工程师或者未来的软件工程、项目管理者,而不是计算机或者软件科学家。
有了一个比较清晰的职业定位后,对自己如何选修一些实践性强,协作性强以及能够接触最新软件技术的课程很多指导作用。
(2)增加语言表达的训练,培养与人沟通的能力。
注重学生个人能力的培养,但是与软件程师的要求还有一定差距,并且,有些活动不是每个学生都能参加,因此应积极参加一些群体活动和实际的软件项目,在语言表达和沟通方面积累经验和知识。
(3)了解一些经济、管理方面的基础知识
软件是一种工具,他最终的目的还是需要为社会生活的各个方面提高效率、节约成本或者是简化管理、提升价值。不了解一些经济于管理方面的基础知识,就很难理解现实生活中千变万化的软件需求,更难以发挥软件的实际价值。
(4)训练过硬的心理素质
软件工程师在实际的软件开发过程中,各种非预料的情况都可能发生:需求来回修改,工期突然发生变更甚至很多个人生活的很多情绪都会参杂进来,因此软件工程师可能需承受巨大心理压力。一个软件工程师如果没有过硬的心理素质,他就很难排除干扰、稳定情绪的按照严格的规范实施一个成功的软件项目。
三、软件工程师的充电
软件开发本身有一个循序渐进的过程,其基础知识和实践经验需要不断的积累。比如,如果先把C++学好,再学诸如Java、SQLServer、Oracle、VB、ASP等其他语言时,在程序设计的语法上就十分好理解了,程序设计的学习也就成了一件水到渠成的事情了。
培训目标确定了,下一步就是制定培训计划。首先需要注意的是,不要只是死抱着一两种技术或平台,或只掌握一两种开发语言。现在,用人单位越来越希望招聘到在某一领域里具有很高专业技能的IT专家,同时,他们也希望能招到万事通式的人才。所以,你不能满足于只精通.NET,或者只会Java。要赶快学习其他有关技术,即使不在你的工作范围内。例如,如果你工作中用的是服务器端Java,那么可以了解一下其他平台服务器端技术,包括ASP和PHP;还可以尝试去掌握其他的技术,如用VB、C/C++编写应用程序或进行系统编程等。同样,通过为一些中小项目义务劳动、参加技术讨论、提供技术支持、或者公开发布源代码等方式,都可以在新领域中获得宝贵的工作经验。
四、软件工程师的培训方向和课程选择
软件开发越来越成为一个系统工程,一个协作型产品,因此选择软件工程师培训也应制定相对明确的方向。
软件工程师培训方向从总体看,可以积累综合知识和培养扎实基础入手
通过对基础知识和实际技能的培训,“计算机软件水平考试”可以为你提供从程序员、高级程序员到系统分析员等不同等级、具有很强说服力的资质证明。
最新崛起的“软件学院”也是一个不错的培训选择,它能够在1-2年的时间里,既系统的学习软件开发的各种理论,有同时有比较多的机会参加开发项目锻炼各种平台和工具的开发实践。
我想自学考软件工程师。该如何开始我的目标呢?
1,如果是考证的话:软件水平考试,中级软件设计师。
2,高级程序设计语言(C或JAVA)必须掌握一种。算法和数据结构,面向对象设计是专业基础课。数据库(ORACLE,SQL,MYSQL)也要掌握。
3,方向:如果是从事网站后台程序开发:PHP,JSP,ASP.NET(现在一般是以PHP为主)。
如果是从事手机游戏开发:JAVA .C++.
如果是从事数据库管理:ORACLE,SQL,MYSQL.
4,根据自己的兴趣和基础决定,从事程序设计最难的是逻辑推理和语言组织能力要强。
.net软件工程师的职业目标是什么,求专业人士解答
做架构。
软件工程师职业规划怎么写
一.×××大学毕业后的十年规划
(2005年-2015年,20岁至30岁)
美好愿望:事业有成,家庭幸福
方 向:企业高级管理人员
总体目标:完成硕士、博士的学习,进入××著名外资企业,成为高层管理者。
已进行情况:读完硕士,进入一家外资企业,想继续攻读博士学位。
二.社会环境规划和职业分析(十年规划)
1、社会一般环境:
中国政治稳定,经济持续发展。在全球经济一体化环境中的重要角色。经济发展有强劲的势头,加入WTO后,会有大批的外国企业进入中国市场,中国的企业也将走出国门。
2、管理职业特殊社会环境:
由于中国的管理科学发展较晚,管理知识大部分源于国外,中国的企业管理还有许多不完善的地方。中国急需管理人才,尤其是经过系统培训的高级管理人才。因此企业管理职业市场广阔。
要在中国发展企业,必须要适合中国的国情,这就要求管理的科学性与艺术性和环境动态适应相结合。因此,受中国市场吸引进入的大批外资企业都面临 着本土化改造的任务。这就为准备去外企做管理工作的人员提供了很多机会。
三.行业环境分析和企业分析
1、行业分析:
本人所在××公司为跨国性会计事务所。属管理咨询类企业。由于中国加入WTO,商务运作逐渐全球化,国内企业经营也逐步与国际惯例接轨,因此这类企业在近年来引进中国后得到迅猛的发展。
2、企业分析:
××公司是全球四大会计事务所,属股份制企业,企业领导层风格稳健,公司以“诚信、稳健、服务、创新”为核心价值观,十年来稳步在全球推广业务,目前在全球10余个国家、地区设有分支机构。
公司2000年进入中国,同年在上海设立分支机构。经营中稳健拓展业务的同时重点推行公司运作理念,力求与发展中的共同进步。本人十分认同公司的企业文化和发展战略,但公司事务性工作太过繁忙,无暇进行个人自我培训,而且提升空间有限。但总体而言,作为第一份工作可以接触到行业顶尖企业的经营模式是十分幸运的,本人可能在本企业实现部分职业生涯目标。
四.个人分析与角色建议
1.个人分析:
(1)自身现状:
英语水平出众,能流利沟通;法律专业扎实,精通经贸知识;具有较强的人际沟通能力;思维敏捷,表达流畅;在大学期间长期担任学生干部,有较强的组织协调能力;有很强的学习愿望和能力。
(2)测评结果(略)
2.角色建议:
父亲:“要不断学习,能力要强”;“工作要努力,有发展,要在大城市,方便我们退休后搬来一起居住生活。”
母亲:工作要上进 ,婚姻不要误。
老师:“聪明、有上进心、单纯、乖巧”,缺乏社会经验”
同学:“有较强的工作能力”,“适合做白领”。
……
五.职业目标分解与组合
职业目标:著名外资企业高级管理人员。
1.2005-2008年:
成果目标;通过实践学习,总结出适合当代中国国情的企业管理理论
学历目标:硕士研究生毕业,取得硕士学位;取得律师从业资格、通过GRE和英语高级口译考试
职务目标:外企企业商务助理
能力目标:具备在经济领域从事具体法律工作的理论基础,通过实习具有一定的实践经验;接触了解涉外商务活动;英语应用能力具备权威资格认证;有一定的科研能力,发表5篇以上论文。
经济目标:在校期间兼职,年收入1万元;商务助理年薪5万
2.2005年-2010年:
学历目标:通过注册会计师考试
职务目标:外资企业部门经理
能力目标:熟练处理本职务工作,工作业绩在同级同事中居于突出地位;熟悉外资企业运作机制及企业文化,能与公司上层进行无阻碍地沟通。
经济目标:年薪10万
3.2005年-2010年:
学历目标:攻读并取得博士学位
职务目标:著名外资企业高级管理人员,大学的外聘讲师
能力目标:科研能力突出,在国外权威刊物发表论文; 形成自己的管理理念,有很高的演讲水平,具备组织、领导一个团队的能力;与公司决策层有直接流畅的沟通;具备应付突发事件的心理素质和能力;有广泛的社交范围,在业界有一定的知名度。
经济目标:年薪25万
六.成功标准
我的成功标准是个人事务、职业生涯、家庭生活的协调发展。
只要自己尽心尽力,能力也得到了发挥,每个阶段都有了切实的自我提高,即使目标没有实现(特别是收入目标)我也不会觉得失败,给自己太多的压力本身就是一件失败的事情。
为了家庭牺牲职业目标的实现,我认为是可以理解的。在28岁之前一定要有自己的家庭。
七.职业生涯规划实施方案
差距:1、跨国企业先进的管理理念和丰富的管理经验;2、作为高级职业经理人所必备的技能、创新能力;3、快速适应能力欠缺;4、身体适应能力有差距。5、社交圈太窄。
八、缩小差距的方法:
1.教育培训方法
(1)充分利用硕士研究生毕业前在校学习的时间,为自己补充所需的知识和技能。包括参与社会团体活动、广泛阅读相关书籍、选修、旁听相关课程、报考技能资格证书等。时间:2008年7月以前。
(2)充分利用公司给员工提供的培训机会,争取更多的培训机会。时间:长期
(3)攻读管理学博士学位。时间:五年以内
2.讨论交流方法
(1)在校期间多和老师、同学讨论交流,毕业后选择和其中某些人经常进行交流。
(2)在工作中积极与直接上司沟通、加深了解;利用校友众多的优势,参加校友联谊活动,经常和他们接触、交流。
3.实践锻炼方法
(1)锻炼自己的注意力,在嘈杂的环境里也能思考问题,正常工作。在大而嘈杂的办公室里有意识地进行自我训练。
(2)养成良好的锻炼、饮食、生活习惯。每天保证睡眠6-8小时,每周锻炼三次以上。
(3)充分利用自身的工作条件扩大社交圈、重视同学交际圈、重视和每个人的交往,不论身份贵贱和亲疏程度。
××本人对于职业生涯规划的看法:
1、职业规划肯定要有,但是我觉得职业规划不可能现在就定下来,周围的环境随时在变,而且自己随着不断的成熟和接触不同的东西,也会变。我以前想当官,后来想当外企白领,现在想创业,所以我觉得这个很难就定下来,更何况是在校大学生,没有任何社会阅历,谈这个就似乎有点纸上谈兵。
2、但是,虽然可能没有成型的职业规划,但是我觉得每个阶段的前进方向和短期目标要有,比如这段时间我要练好英语听力到什么水平,我要朝着什么方向努力,没有努力的方向和短期的目标,那容易虚度光阴。
3、如果我是学生,我可能想听一些别人成功的案例,和为什么别人能取得成功,虽然每个人走的路不同,但是我想有些成功的共同点是相同的,那我作为一个学生,就可以从中学到一辈子受益的美德和优点。
我的理想目标是软件工程师~可是我是个外行,一点也懂~怎么办呢?谁给指条明路
首先,要知道自己为什么而学,工作,兴趣。其次要了解学习软件是一个枯燥而漫长的过程(会写些小的软件,和会做项目不是一回事)。如果金钱和时间都充足,建议到外面的培训机构去充下电,相对大学来说,培训机构更注重实践,更能满足企业需求,一般都是定向委培。具体建议去培训机构咨询一下(可在培训公司网站上直接与客服老师沟通),他们会根据你的实际情况,有针对性进行学习指导
转行要趁早。重要的是自己需要考虑清楚
谢谢~你 我会好好斟酌的
:-)
作为软件工程师应该具备哪些基本素质?
1:团队精神和协作能力
把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。
2:文档习惯
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
3:规范化,标准化的代码编写习惯
作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。
4:需求理解能力
程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广 告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程 序员,你给他深蓝那套系统,他也做不出太极链的并访能力。
性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
5:复用性,模块化思维能力
经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。
一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。
6:测试习惯
作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。
当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到需求理解能力。
7:学习和总结的能力
程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。
但是学习也要找对目标,一些小coding有些codingTO就是这样的coding上只是一些Cfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。
善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。
具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。那么作为高级程序员,以至于系统分析员,也就是对于一个程序项目的设计者而言。
转载请注明出处51数据库 » 软件工程师目标 初级软件工程师5年内的职业规划