软件工程师
A. 如何成为软件工程师
① 熟练使用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认证证书者优先。
B. 软件工程师是做什么的
软件工程师一般指从事软件开发职业的人。软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。
C. 软件工程师和高级软件工程师有什么区别ruanjiangongc
软件工程师和高级软件工程师区别为:级别不同、工作经验不同、工作范围不同。
一、级别不同
1、软件工程师:软件工程师的级别为第3级,比高级软件工程师低一级。
2、高级软件工程师:高级软件工程师的级别为第4级,比软件工程师高一级。
二、工作经验不同
1、软件工程师:软件工程师需要1年以上的工作经验。
2、高级软件工程师:高级软件工程师需要5年以上的工作经验。
三、工作范围不同
1、软件工程师:软件工程师的工作范围为参与软件工程系统的设计、开发、测试等过程。
2、高级软件工程师:高级软件工程师的工作范围为参与软件工程系统的需求分析,设计,开发,测试等过程。
参考资料来源:
网络——软件工程师
网络——高级软件工程师
D. 软件工程师是干什么的
软件工程师是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师是从事软件开发相关工作的人员的统称。它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。
主要有以下职责:
1、指导程序员的工作。
2、参与软件工程系统的设计、开发、测试等过程。
3 、协助工程管理人保证项目的质量。
4 、负责工程中主要功能的代码实现。
5 、解决工程中的关键问题和技术难题。
6 、协调各个程序员的工作,并能与其它软件工程师协作工作。
7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等
8、考试科目工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。
(4)软件工程师扩展阅读:
软件工程师的发展前景:
当今社会不论什么职业的都需要一个不断学习的环节,软件工程师也一样。虽然软件工程师的工作不同于程序员但是一个软件工程师其前身必定是一个优秀的程序员,软件的开发工具、开发技术在不断地发展。
我国软件出口2010年规模达到215亿元,软件从业人员达到72万人,在中国十大IT职场人气职位中,软件工程师位列第一位,软件工程人才的就业前景十分乐观。
毕业生主要在各大软件公司、企事业单位、高等院校、各大研究所、国防等重要部门从事软件设计、开发、应用与研究工作。
有关数据显示,我国对软件人才的需求已达20万,并且以每年20%左右的速度增长,而高校计算机毕业生中的软件工程人才还很缺乏,尤其是高素质的软件工程人才的极度短缺。
E. 中国有多少软件工程师
至今为止应该有很多软件工程师呢,但是得看具体的水平,真正能到一定水平的软件工程师不多
F. 作为软件工程师应该具备哪些基本素质
1:团队精神和协作能力
把它作为基本素质,并不是不重要,恰恰相反,这是程序员应该具备的最基本的,也是最重要的安身立命之本。把高水平程序员说成独行侠的都是在呓语,任何个人的力量都是有限的,即便如linus这样的天才,也需要通过组成强大的团队来创造奇迹,那些遍布全球的为linux写核心的高手们,没有协作精神是不可想象的。独行侠可以作一些赚钱的小软件发点小财,但是一旦进入一些大系统的研发团队,进入商业化和产品化的开发任务,缺乏这种素质的人就完全不合格了。
2:文档习惯
说高水平程序员从来不写文档的肯定是乳臭未干的毛孩子,良好的文档是正规研发流程中非常重要的环节,作为代码程序员,30%的工作时间写技术文档是很正常的,而作为高级程序员和系统分析员,这个比例还要高很多。缺乏文档,一个软件系统就缺乏生命力,在未来的查错,升级以及模块的复用时就都会遇到极大的麻烦。
3:规范化,标准化的代码编写习惯
作为一些外国知名软件公司的规矩,代码的变量命名,代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定,良好的编写习惯,不但有助于代码的移植和纠错,也有助于不同技术人员之间的协作。
fans叫嚣高水平程序员写的代码旁人从来看不懂,这种叫嚣只能证明他们自己压根不配自称程序员。代码具有良好的可读性,是程序员基本的素质需求。再看看整个linux的搭建,没有规范化和标准化的代码习惯,全球的研发协作是绝对不可想象的。
4:需求理解能力
程序员需要理解一个模块的需求,很多小朋友写程序往往只关注一个功能需求,他们把性能指标全部归结到硬件,操作系统和开发环境上,而忽视了本身代码的性能考虑,有人曾经放言说写一个广 告交换程序很简单,这种人从来不知道在百万甚至千万数量级的访问情况下的性能指标是如何实现的,对于这样的程 序员,你给他深蓝那套系统,他也做不出太极链的并访能力。
性能需求指标中,稳定性,并访支撑能力以及安全性都很重要,作为程序员需要评估该模块在系统运营中所处的环境,将要受到的负荷压力以及各种潜在的危险和恶意攻击的可能性。就这一点,一个成熟的程序员至少需要2到3年的项目研发和跟踪经验才有可能有心得。
5:复用性,模块化思维能力
经常可以听到一些程序员有这样的抱怨,写了几年程序,变成了熟练工,每天都是重复写一些没有任何新意的代码,这其实是中国软件人才最大浪费的地方,一些重复性工作变成了熟练程序员的主要工作,而这些,其实是完全可以避免的。
复用性设计,模块化思维就是要程序员在完成任何一个功能模块或函数的时候,要多想一些,不要局限在完成当前任务的简单思路上,想想看该模块是否可以脱离这个系统存在,是否可以通过简单的修改参数的方式在其他系统和应用环境下直接引用,这样就能极大避免重复性的开发工作,如果一个软件研发单位和工作组能够在每一次研发过程中都考虑到这些问题,那么程序员就不会在重复性的工作中耽误太多时间,就会有更多时间和精力投入到创新的代码工作中去。
一些好的程序模块代码,即便是70年代写成的,拿到现在放到一些系统里面作为功能模块都能适合的很好,而现在我看到的是,很多小公司软件一升级或改进就动辄全部代码重写,大部分重复性工作无谓的浪费了时间和精力。
6:测试习惯
作为一些商业化正规化的开发而言,专职的测试工程师是不可少的,但是并不是说有了专职的测试工程师程序员就可以不进行自测;软件研发作为一项工程而言,一个很重要的特点就是问题发现的越早,解决的代价就越低,程序员在每段代码,每个子模块完成后进行认真的测试,就可以尽量将一些潜在的问题最早的发现和解决,这样对整体系统建设的效率和可靠性就有了最大的保证。
测试工作实际上需要考虑两方面,一方面是正常调用的测试,也就是看程序是否能在正常调用下完成基本功能,这是最基本的测试职责,可惜在很多公司这成了唯一的测试任务,实际上还差的远那;第二方面就是异常调用的测试,比如高压力负荷下的稳定性测试,用户潜在的异常输入情况下的测试,整体系统局部故障情况下该模块受影响状况的测试,频发的异常请求阻塞资源时的模块稳定测试等等。
当然并不是程序员要对自己的每段代码都需要进行这种完整测试,但是程序员必须清醒认识自己的代码任务在整体项目中的地位和各种性能需求,有针对性的进行相关测试并尽早发现和解决问题,当然这需要上面提到需求理解能力。
7:学习和总结的能力
程序员是人才很容易被淘汰,很容易落伍的职业,因为一种技术可能仅仅在三两年内具有领先性,程序员如果想安身立命,就必须不断跟进新的技术,学习新的技能。善于学习,对于任何职业而言,都是前进所必需的动力,对于程序员,这种要求就更加高了。
但是学习也要找对目标,一些小coding有些codingTO就是这样的coding上只是一些Cfans们,他们也津津乐道于他们的学习能力,一会学会了asp,一会儿学会了php,一会儿学会了jsp,他们把这个作为炫耀的资本,盲目的追逐一些肤浅的,表面的东西和名词,做网络程序不懂通讯传输协议,做应用程序不懂中断向量处理,这样的技术人员,不管掌握了多少所谓的新语言,永远不会有质的提高。
善于总结,也是学习能力的一种体现,每次完成一个研发任务,完成一段代码,都应当有目的的跟踪该程序的应用状况和用户反馈,随时总结,找到自己的不足,这样逐步提高,一个程序员才可能成长起来。一个不具备成长性的程序员,即便眼前看是个高手,建议也不要选用,因为他落伍的时候马上就到了。
具备以上全部素质的人,应当说是够格的程序员了,请注意以上的各种素质都不是由IQ决定的,也不是大学某些课本里可以学习到的,需要的仅仅是程序员对自己工作的认识,是一种意识上的问题。那么作为高级程序员,以至于系统分析员,也就是对于一个程序项目的设计者而言。
G. 软件工程师是什么专业
计算机科学与技术专业
计算机科学与技术(Computer Science and Technology)是国家一级学科,下设信息安全、软件工程、计算机软件与理论、计算机系统结构、计算机应用技术、计算机技术等专业。
软件工程师是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。
(7)软件工程师扩展阅读:
软件工程师工作内容
1、 指导程序员的工作;
2、 参与软件工程系统的设计、开发、测试等过程;
3 、协助工程管理人保证项目的质量;
4 、负责工程中主要功能的代码实现;
5 、解决工程中的关键问题和技术难题;
6 、协调各个程序员的工作,并能与其它软件工程师协作工作。
7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等
8、考试科目工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程
H. 程序员,架构师,软件工程师的区别
1、程序员,架构师,软件工程师的能力要求不同,程序员是从事程序开发、程序维护人员,但是不擅长写文档。软件工程师的技术要求比较全面,会熟练的写语言代码,也会写一些项目的文档。架构师是软件开发过程中的重要人物,主要负责大系统项目的架构设计。
2、程序员,架构师,软件工程师级别不同,程序员分为初级程序员、中级程序员,软件工程师是从事软件职业的人员的一种职业能力的认证,架构师是团队领导型人物,是需要从资深软件工程师里面提升为架构师。
3、程序员,架构师,软件工程师平均年薪不同,美国谷歌程序员的工资最低年薪平均水平为12.8336万,软件工程师平均工资较高,谷歌软件工程师年薪平均水平为25-30万美元,架构师的工资水平是最高的,谷歌大数据架构师年薪为50-60万美元。
I. JAVA软件工程师是做什么的
负责客户端APP产品中服务器后端的工程设计,架构设计以及开发工作,研究业界新技术及其应用,解决创新研发过程中的关键问题和技术难点,根据项目任务计划按时完成软件编码和单元测试工作,按照开发流程编写相应模块的设计文档。
与产品经理、测试工程师、其他团队沟通合作,确保产品研发工作的质量和进度,协调或指导团队里其它开发人员的工作。熟悉设计模式,熟练掌握面向对象编程和事件驱动编程风格。
(9)软件工程师扩展阅读:
注意事项:
精通HTML、CSS、XML、JavaScript等Web开发技术2。
熟悉DIV+CSS网页布局,提供良好的视觉效果和用户体验。
熟悉AJAX原理,掌握一种以上的AJAX框架(JQuery,Ext JS)。
熟练的使用Hibernate、MyBatis等ORM框架,熟悉Hibernate和MyBatis的核心API,对Hibernate的关联映射、继承映射、组件映射、缓存机制、事务管理以及性能调优等有深入的理解。
J. 软件工程师分为哪几类
编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。
Java软件工程师的未来发展方向大致分为两类:成为管理人员,例如产品研发经理,技术经理,项目经理等;继续他的技术工作之路,成为高级软件工程师、需求工程师等。
net工程师,Net具有很多明显的优点,可以提高开发人员的效率,减少bug,加快应用开发并简化使用。IT人员对Net保持了应有的警惕,因为它毕竟还是个新事物,需要有一个比较艰难的学习曲线。但是对于大多数组织而言,其优点远远多于缺点。
(10)软件工程师扩展阅读
软件工程师工作内容
1、 指导程序员的工作。
2、 参与软件工程系统的设计、开发、测试等过程。
3 、协助工程管理人保证项目的质量。
4 、负责工程中主要功能的代码实现。
5 、解决工程中的关键问题和技术难题。
6 、协调各个程序员的工作,并能与其它软件工程师协作工作。
7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等。
8、考试科目工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。