① 软件工程师所要具备的条件是什么
软件工程师所要具备的条件是:
对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。
具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息。
一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。
软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
(1)高级软件工程师的技术要求扩展阅读:
软件工程师发展前景:
当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。
在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。所以学好学校所能提供的专业课程是相当重要的。
我国软件出口2010年规模达到215亿元,软件从业人员达到72万人,在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。毕业生主要在各大软件公司、企事业单位、高等院校、各大研究所、国防等重要部门从事软件设计、开发、应用与研究工作。
有关数据显示,目前我国对软件人才的需求已达20万,并且以每年20%左右的速度增长,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才的极度短缺。
参考资料来源:网络—软件工程师
② 学高级软件工程师有什么要求
学历是没有要求的! 主要看你的能力,首先你需要学好专业的编程语言(c,c++,java 等),且对程序设计有灵感(掌握多切好的编程技巧) 此外,你还需要有很好的工程思想和能力! 总之是要求是很高的, 应为软件工程这个专业的人需要时掌握多面知识的人才,加油吧!你会成功的,甚至在我前面成为高级软件工程师的!
③ 软件工程师要求
软件工程师要求?对于软件工程师,学历次要,最主要的是看有多少项目的经验,根据岗位不同,对软件工程师的要求也有所不同。要详细了解软件工程师的要求,其实看看企业的招聘就知道了,呵呵。现在对于软件工程师分的也很细,方向不同,要求就不太一样,但是总的素养基本都是差不多的,还有软件工程师的确是一个很好的职业。
下面举几个例子:
1.熟悉.net开发体系,熟悉C#/ASP.NET
2.熟悉SQLServer,Oracle数据库开发
3.以上要求至少3年开发经验。
4.具有企业管理系统项目经验。5.了解企业ERP及财务管理软件(用友,金蝶)者优先。6.善于沟通,能独立撰写方案。为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神
web应用程序开发
技能要求:
熟练使用Struss2+Hiberate
掌握Jquery
掌握Java
熟悉Oracle
掌握xml\webservice
掌握OOD、OOP
基本文档写作能力
1.计算机或相关专业本科以上学历;
2.有4年以上开发经验,有良好的代码编写习惯,熟悉软件开发规范;
3.熟练掌握ASP.NET等编程语言,熟悉.Net开发环境,理解.Net Framework,理解并能熟练使用WebService、O/R mapping、Remoting、多线程等技术;
4.热衷于互联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等WEB前端技术;
5.熟练的技术文档编写能力,熟练使用Rose,Power Design,Visio等建模和设计软件,有一定的架构设计能力;
6.精通SQL server数据库技术,了解数据库性能调优者优先.
1.计算机专业本科以上学历,一年以上C#/ASP.NET开发经验,熟练使用SQL数据库,有欧美项目开发经验者优先;
2.大学英语四级以上,具有较强的听、说、读、写能力,尤其是听、说能力;
3.工作认真细致,踏实肯干,具有较好的团队协作精神和沟通能力;良好的逻辑思维,能够承受一定的工作压力并可以按时完成工作且保证质量
一般就是上面这些要求了。
至于多少时间可以达到上班的水平,现在一般的培训机构说的差不多就是9个月左右。勤奋点,时间可以短些。如果要培训,个人推荐威迅教育,质量很好,价格比其他机构低。
④ 高级软件工程师哪些必须精通
有50分吗?
转一个经典回答:
程序员的七种武器
信息技术的发展时间虽然不长,但其爆炸式的发展速度使信息技术迅速覆盖社会和人类生活的各个角落。程序员们是这场信息化浪潮的见证者之一,更是其中的主要参与者,这是时代赋予每个程序员的机会和责任。
信息技术的更新速度是惊人的,程序员的职业生涯则是一个要求不断学习的过程,永远不能固步自封。本人在工作期间曾看见过很多程序员只要有闲暇时间就浏览一些没有太大作用的网页,在网上聊天,打游戏,浪费了大量的时间,十分不可取。而另外一种情况是,IT技术的日新月异使很多程序员眼花缭乱,什么都想学,却又不知从何学起,今天看看这个,明天学学那个,贪多不熟。
虽然IT技术发展迅速,但很多技术都是有规律可循,一些基本的概念、原理和方法还很通用,可以举一反三。本人根据自己的体会和经验,向那些刚刚踏入IT行业的新程序员们或正在迷茫的程序员们推荐程序员必须掌握的七种武器,有了这七种武器,虽不敢说笑傲江湖,但将自己立于不败之地还是可以的。
第一种武器:开发工具
至少熟练掌握两到三种开发工具的使用,这是程序员的立身之本,其中C/C++和JAVA是我重点推荐的开发工具,C/C++以其高效率和高度的灵活性成为开发工具中的利器,很多系统级的软件还是用C/C++编写。而JAVA的跨平台和与WEB很好的结合是JAVA的优势所在,而本人对SUN公司的“网络即计算机”的概念相当欣赏,并相信JAVA即其相关的技术集JAVA One会成为未来的主流开发工具之一。其次,如果能掌握一种简便的可视化开发工具,如VB,PowerBuilder,Delphi,C++ Builder,则更好,这些开发工具减小了开发难度,并能够强化程序员对象模型的概念。另外,需要掌握基本的脚本语言,如shell,perl等,至少能读懂这些脚本代码。
第二种武器:数据库
为什么数据库是如此重要?很多应用程序都是以数据库的数据为中心,而数据库的产品也有不少,其中关系型数据库仍是主流形式,所以程序员至少熟练掌握一两种数据库,对关系型数据库的关键元素要非常清楚,要熟练掌握SQL的基本语法。虽然很多数据库产品提供了可视化的数据库管理工具,但SQL是基础,是通用的数据库操作方法。如果没有机会接触商业数据库系统,可以使用免费的数据库产品是一个不错的选择,如mySQL, Postgres等。
第三种武器:操作系统
当前主流的操作系统是Windows,Linux/Unix,熟练地使用这些操作系统是必须的,但只有这些还远远不够。要想成为一个真正的编程高手,需要深入了解操作系统,了解它的内存管理机制、进程/线程调度、信号、内核对象、系统调用、协议栈实现等。Linux作为开发源码的操作系统,是一个很好的学习平台,Linux几乎具备了所有现代操作系统的特征。虽然Windows系统的内核实现机制的资料较少,但通过互联网还是能获取不少资料。只有对操作系统有一定的了解后,你会发现自己上了一个新的台阶。
第四种武器:网络协议TCP/IP
在互联网如此普及的今天,如果您还没有对互联网的支撑协议TCP/IP协议栈有很好的掌握,就需要迅速补上这一课,网络技术已改变了软件运行的模式,从最早的客户/服务器结构,到今天的WEB Services,再到未来的网格计算,这一切都离不开以TCP/IP协议栈为基础的网络协议支持,所以,深入掌握TCP/IP协议是非常必要的。至少,你需要了解ISO七层协议模型,IP/UDP/TCP/HTTP等常用协议的原理和三次握手机制。
第五种武器:DCOM/CORBA/XML/WEB Services
随着技术的发展,软件与网络的无缝结合是必然趋势,软件系统的位置无关性是未来计算模式的重要特征之一,DCOM/CORBA是当前两大主流的分布计算的中间件平台,DCOM是微软COM(组件对象模型)的扩展,而CORBA是OMG支持的规范。程序员需要做的不仅仅是利用商业的开发平台来开发软件,而是要理解这些技术的初衷,即为什么需要这项技术,如果你能理解了这一点,再回头看这些技术的具体实现,就如庖丁解牛,迎刃而解。XML/WebServices重要性不言而喻,XML以其结构化的表示方法和超强的表达能力被喻为互联网上的“世界语”,是分布计算的基石之一。
第六种武器:软件工程与CMM
现代大型软件系统的开发中,工程化的开发控制取代个人英雄主义,成为软件系统成功的保证,一个编程高手并不一定是一个优秀的程序员,一个优秀的程序员是将出色的编程能力和开发技巧同严格的软件工程思想有机结合,编程只是软件生命周期中的其中一环,优秀的程序员应该掌握软件开发各个阶段的基本技能,如市场分析,可行性分析,需求分析,结构设计,详细设计,软件测试等。一句话可以概括我的看法:“创意无限,流程保证”。
第七种武器:强烈的好奇心
什么才是一个程序员的终极武器呢,那就是强烈的好奇心和学习精神。没有比强烈的好奇心和学习精神更好的武器了,它是程序员们永攀高峰的源泉和动力所在。
⑤ 高级软件工程师需要精通什么
Unix/Linux平台技术:
Unix系统原理、Unix常用命令、Shell编程。
2、 Java EE核心技术:
Java语言核心、Java高级API、JVM及性能优化、Java Security、JDBC、Servlet/JSP、JNDI、JMS、JAAS、EJB3.0、JSF、JPA
3、 Oracle企业级数据库技术:
Oracle体系结构、Oracle高级编程、SQL语句及调优、数据库设计
主流开源框架技术和解决方案:
Struts2.1.6、Hibernate3.2、Spring2.5、搜索引擎Lucene、工作流引擎JBPM 、Apache Commons核心组件、Ant、Junit、Log4j、OSCache、CGLib、FreeMarker、Jfreechart、Jasperreports。
6、 Web 2.0及Web3.0核心技术:
HTML\CSS高级技巧、JavaScript高级、Ajax、Jquery高级应用、DWR。
7、 WebLogic、Jboss商用服务器技术:
WebLogic商用服务器安装、配置及管理、Jboss、安装、配置及管理。
8、 SOA及及云计算技术:
WebService、分布式组件技术、SOA核心要件、SaaS、PaaS、IaaS、Google及Amazon。
⑥ 软件工程师的标准是什么
编辑本段职业定义 软件工程师主要进行软件前期的项目需求的分析,然后对项目进行风险评估并试图解决这些风险,然后开始进行软件的开发,后期对软件的进度做相关的评估。 编辑本段工作内容 1、 指导程序员的工作; 2、 参与软件工程系统的设计、开发、测试等过程; 3 、协助工程管理人保证项目的质量; 4 、负责工程中主要功能的代码实现; 5 、解决工程中的关键问题和技术难题; 6 、协调各个程序员的工作,并能与其它软件工程师协作工作。 [1] 【职业分析】 软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位。这些岗位的分工不同,职位和/或级别不同,但工作内容都是与软件开发生产相关的。软件工程师是IT行业需求量最大的职位,稳居IT行业职位需求TOP10的第一位(第二位是高级软件工程师)。 软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)、.NET平台技术、C#、C/S B/S程序开发,还有诸多如JAVA SCRIPT、AJAX、HIBERNATE、SPRING、J2EE、WEB SERVICE、STRUTS等前沿技术。除此之外,关于网络工程和软件测试的其他技术也要有所涉猎,以利于操控全局。 软件工程师可谓是软件项目开发的掌舵者。一名优秀的软件工程师应当具有较强的逻辑思维能力,对于技术的发展有敏锐的嗅觉。虽然要求技术全面,但无须偏执于门门技术都精通,任何软件工程师都有自己的技术特长和偏向,对于自己手中的技术,可有精通-掌握-熟悉-了解之分,根据工作需要和职业发展的具体情况来划分。 编辑本段考试科目 软件工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程 编辑本段发展前景 当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。在校学生所能学到的东西很难跟得上发展的需要但是也不能说那些东西完全没有用,只有在完全理解了相应的基本技能之后你才能很轻松地掌握新的技能,软件技术都是一个循序渐进的过程。所以学好学校所能提供的专业课程是相当重要的。 企业用人主要有以下几个特征: 1 外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高; 2 Java和.NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越少; 3 软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/JavaScript客户端技术; 4 为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术; 5 MIS、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民工么.民工考试你觉得有啥门槛吗.
要求么.你把计算机系所有有关的计算机方面的课程都看一遍.差不多能去考了..
而且也就是软件设计师中级职称考试.可以评聘软件工程师
高级是系统架构师,系统分析师一类的..
⑧ 高级软件工程师的职业需求
1 外包开发行业快速发展,对“人才”在代码和文档方面的规范性、技能和工具的熟练程度要求越来越高;
2 Java和.NET技术在市场上平分秋色,都有大量的岗位需求,同时值得庆幸的是二者在应用层面上的技术差异越来越小;
3 软件开发企业对开发人员的基本技术素养强调得越来越多,例如:面向对象的程序设计思想和代码组织方法、HTML/CSS/JavaScript客户端技术;
4 为了保证质量和工期,企业中大量使用各种框架技术,要求开发人员至少熟悉一种框架技术;
5 MIS、OA、ERP、CRM、系统集成、物流、进销存、电子政务、网站建设这一类B/S系统,成为软件工程师需求最大的业务领域。
⑨ 顶级软件工程师需要具备的
顶级软件工程师,就是指高级软件工程师,需要以下具备的:
在目前很多国内软件企业中,如果你是“高级软件工程师”,那么从需求分析,设计,开发,测试,甚至到客户这一条龙都可能由一个人来负责。
软件开发与测试
首先,软件开发是软件工程师职责的基本组成部分,这点应该没有问题。其次,此处的软件测试可分为开发前的驱动测试,和开发过程中的白盒测试。驱动测试用于分析子系统/模块内部逻辑,用于在开发之前暴露开发过程中可能遇到的大部分问题和对子系统/模块进行更进一步的划分;白盒测试是保证在项目交接到测试团队手中时,能满足基本的项目要求,即能够进行α测试。
子系统/模块分析设计
在软件架构师做完系统设计,项目经理进行项目分工后,项目就正式进入开发环节。这时候每个软件工程师会拿到自己负责的子系统/模块,首先要做的就是进行分析设计,其次才是开发。开发前进行分析设计,便于从整体上对子系统进行把握,提前隔子系统中的变化点和问题,同时也可以对子系统进行更详细的划分,用于制定个人的工作计划,与项目经理和软件架构师进行具体的沟通。
撰写文档
在进行子系统和模块设计的同时,要撰写子系统设计说明书;在开发过程中,要记录技术要点和发现的问题,同时如有需要,要修改子系统设计说明书;在白盒测试时,要记录每个Bug。
定期主动沟通
在项目开发过程中,项目经理需要和团队中的每一个人沟通任务进度,其主要职责是从整体上把握和控制项目的进度。那么作为团队一员的高级软件工程师通常会负责项目中很重要的子系统/模块,这些子系统/模块往往能决定项目的成败。因此定期主动与项目经理沟通解决遇到问题,与架构师和专家沟通解决技术难题就显得非常重要了。另外,就对个人而言,定期主动沟通也往往表现为个人的主动积极性,对于个人长远发展非常有益。
持续学习
也许有人会觉得学习应该与职责无关,狭义看来确实如此。然而,不断学习新知识,提高个人技能,于公司而言,能提升工作效率;于个人而言,益于职业发展。因此,工作之余,不管你职位如何,持续学习就显得非常重要且必要。
带新人
这点也许不是硬性要求,但国外有高手带领新手这样一种师徒习惯,也应该学习并发扬。通常情况下新人会与高级软件工程师协同工作,因此带新人一方面,带领新人可以有重新审视自己知识的机会;另一方面能够让新人更快入手,降低学习成本和提高工作效率;同时也能保持良好的人际关系。
以上是个人对高级软件工程师职责范围的认识,也许有些比较牵强,然而就对职业发展而言,要想做好高级软件工程师,上面几条是平时工作中必须要做的。