• 回答数

    5

  • 浏览数

    306

小树旁的小树
首页 > 工程师考试 > 软件开发工程师需要学什么

5个回答 默认排序
  • 默认排序
  • 按时间排序

greenxixi503

已采纳

软件工程师需要学什么

软件工程师(Software Engineer)可以说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。下面是我整理的关于软件工程师需要学的内容,希望可以帮助大家!

软件工程师就是从事软件开发相关工作的人员的统称,它是一个广义的概念,包括软件设计人员、软件架构人员、软件工程管理人员、程序员等一系列岗位,工作内容都与软件开发生产相关。

软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C++/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。

1、Javascript

第一名的是Javascript,有的职缺中都要求必须会这项技能,那么Javascript为什么这么厉害呢?

最主要在于网络软件开发的盛行,Javascript是很多现有的开发框架的基础除了用在前端的开发(Angular、Ember、Backbone等),也用在后端的架构像是以及资料库数据的读取如MongoDB。

Javascript所建立起来的生态系非常的庞大也造就了大多数的工作都需要这项技能,Javascript本身学起来并不会太困难,如果想要懂一些基本的应用那可以参考这里(这里也推荐大家可以看下马海祥博客的《老程序员给初学者的一些建议和忠告》相关介绍)。

2、Java

榜上的第二名是Java ,占了,关于Java有些人认为它一个比较过时的语言也认为它即将被淘汰。

但是根据TIOBE Index上的排行(根据程式语言的普及与受欢迎程度),Java还是名列第二的,Java不仅没有被淘汰,它还过得很好仍然是很多大企业爱好的后端语言。

Java之所已受到企业的重视,一个很大的原因不止是因为他本身好用,而是因为学好Java让你学其他程式语言相对容易,因为Java是种面向对象语言而且不需要处理指标(Pointer),加上他有很好的开发环境(IDE)让初学者使用起来相对的简单,可以说是身为一个软件工程师绝对要懂得基础。

以马海祥的经验而言,Java学起来比Javascript稍微难一些网络上关于这方面的资源也不缺乏,像是MIT就有提供他的课程教材免费让大家学习。

3、HTML

在榜上第三名是HTML,马海祥觉得HTML严格说起来并不是一种程式语言它是一种标记语言(Markup Language),简单来说就是利用标记可以达到与单纯的文字不同的效果。

例如一段文字在前后加上标记就可以加上超连结,HTML是网路开发中基础中的基础,尤其在前端的开发上了解HTML每一个标记的功能是必要的。

但是马海祥还是要强调他本身并不是一种程式语言,如果只会HTML对找工作是没有任何帮助的,他只是基本中的基本,在这里也推荐大家可以花一点时间看下马海祥博客的《12种最常用的网页编程语言简介》相关介绍。

4、SQL and NoSQL

除此之外,榜上有名的.是SQL在的职缺上这项技能都是必须的。

根据Asurvey的调查有79%的受访者仍然是使用关系资料库也就是为什么SQL受到欢迎的原因,但这并不代表NoSQL就不重要虽然MongoDB在榜上只有,但是它主要被用在需要快速存取资料的产品上,像是Craigslist还有Expedia。

NoSQL与SQL究竟孰好孰坏,在资料库的社群上一直是一个广受争论的议题,绝大多数的任认为NoSQL是未来的趋势,但是以目前而言,SQL仍然是占了上风。

5、Javascript Frameworks

建立在Javascript上的开发框架总共有三个、以及,这类的框架可以让你很简便而且快速的处理前端的开发,然而这三种开发框架由于性质相近,因此也有很多的谁才是最好的争论。

目前是由Google所开发的站在榜上第一,当然这三种开发框架都有自己的好处,像是比较适合大型的开发,比较简单易学,让合作开发更简单。

6、

这里马海祥也特别提下,其原因是在于逐渐增加的使用者,以及大型公司像是Linkedin以及Wal-mart的使用。

是一个基于Chrome JavaScript运行时建立的一个平台,用来方便地搭建快速的易于扩展的网络应用借助事件驱动,非阻塞I/O模型变得轻量和高效,非常适合运行在分布式设备的数据密集型的实时应用。

可以在不新增额外线程的情况下,依然可以对任务进行并行处理——是单线程的,它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点,尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。

软件开发工程师需要学什么

333 评论(13)

春天的薄荷叶

软件工程师要学习和掌握的东西:

(一).NET方面的开发

⒈熟悉.net开发体系,熟悉C#;

⒉熟悉SQLServer,Oracle数据库开发;

⒊具有企业管理系统项目经验;

4.了解企业ERP及财务管理软件(用友,金蝶)者优先;

5.善于沟通,能独立撰写方案。为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神。

(二)JAVA应用程序开发

1.熟练使用Struts2SpringHibernate

2.掌握Jquery

3.掌握Java

4.熟悉Oracle

5.掌握xml/webservice

6.掌握OOD、OOP

7.基本文档写作能力

(三)web、数据库方面的开发

⒈练掌握ASP,NET;等编程语言,熟悉.Net开发环境,理解.NetFramework,理解并能熟练使用WebService、O/Rmapping、Remoting、多线程等技术;

2.热衷于互联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等WEB前端技术;

3.熟练的技术文档编写能力,熟练使用Rose,PowerDesign,Visio等建模和设计软件,有一定的架构设计能力;

4.精通SQLserver数据库技术,了解数据库性能调优者优先.

(四)php项目开发

⒈使用PHP语言开发互联网应用程序;

⒉网站产品和网站功能模块的开发与维护;

⒊与页面设计师协调沟通,编写部分Javascript和HTML;

⒋参与底层MVC框架的编写与维护。

软件工程师一般指从事软件开发职业的人。软件工程师是一个认证考试,具体地说是从事软件职业的人员的一种职业能力的认证,通过它说明具备了工程师的资格。软件工程师的技术要求是比较全面的,除了最基础的编程语言(C语言/C/JAVA等)、数据库技术(SQL/ORACLE/DB2等)等,还有诸多如JAVASCRIPT、AJAX、HIBERNATE、SPRING等前沿技术。此外,关于网络工程和软件测试的其他技术也要有所涉猎。

对于软件工程师,不太重视学历,但并不是对学历没有要求,重点关注项目的经验和学习知识的能力,能否利用软件工程专业知识来解决问题,根据岗位不同,对软件工程师的要求也有所不同。具体能力要根据岗位和自己的兴趣爱好选定自己的职业规划方向,一方面要详细了解软件工程师的要求,可以关注企业的招聘信息;一方面自己要贮备通用的知识技能,广泛阅读相关的计算机材料对自己以后的发展大有帮助。可以确定的是软件工程师的前途在未来的发展依然是不断升温的职业,比较需要有技术和良好前景的专业之一。

工作内容:

1、指导程序员的工作;

2、参与软件工程系统的设计、开发、测试等过程;

3、协助工程管理人保证项目的质量;

4、负责工程中主要功能的代码实现;

5、解决工程中的关键问题和技术难题;

6、协调各个程序员的工作,并能与其它软件工程师协作工作;

7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等考试科目。工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程。

202 评论(9)

星无畏惧

软件开发专业都要学以下语言:C,JAVA,PHP,PYTHON,MYSQL,JAVASCRIPT另外就是各个语言的框架,提高开发速度的。下面是跟数据相关的知识。1.如果没有语法错误, 则以函数形式返回编译好的代码块; 否则,返回 nil 加上错误消息。如果结果函数有上值, env 被设为第一个上值。 若不提供此参数,将全局环境替代它。 所有其它上值初始化为 nil。 (当你加载主代码块时候,结果函数一定有且仅有一个上值 _ENV ))。 然而,如果你加载一个用函数(参见 , 结果函数可以有任意数量的上值) 创建出来的二进制代码块时,所有的上值都是新创建出来的。 也就是说它们不会和别的任何函数共享。2.接下来就是根据以上信息进行下面的操作,chunkname 在错误消息和调试消息中,用于代码块的名字。 如果不提供此参数,它默认为字符串chunk 。 chunk 不是字符串时,则为 "=(load)" 。字符串 mode 用于控制代码块是文本还是二进制(即预编译代码块)。 它可以是字符串 "b" (只能是二进制代码块), "t" (只能是文本代码块), 或 "bt" (可以是二进制也可以是文本)。 默认值为 "bt"。 不会对二进制代码块做健壮性检查。 恶意构造一个二进制块有可能把解释器弄崩溃。运行程序来遍历表中的所有域。 第一个参数是要遍历的表,第二个参数是表中的某个键。 next 返回该键的下一个键及其关联的值。 如果用 nil 作为第二个参数调用 next 将返回初始键及其关联值。 当以最后一个键去调用,或是以 nil 调用一张空表时, next 返回 nil。 如果不提供第二个参数,将认为它就是 nil。 特别指出,你可以用 next(t) 来判断一张表是否是空的。索引在遍历过程中的次序无定义, 即使是数字索引也是这样。 (如果想按数字次序遍历表,可以使用数字形式的 for 。)4.当在遍历过程中你给表中并不存在的域赋值, next 的行为是未定义的。 然而你可以去修改那些已存在的域。 特别指出,你可以清除一些已存在的域。如果 t 有元方法 __pairs, 以 t 为参数调用它,并返回其返回的前三个值。否则,返回三个值:next 函数, 表 t,以及 nil。 因此以下代码5.传入参数,以 保护模式 调用函数 f 。 这意味着 f 中的任何错误不会抛出; 取而代之的是,pcall 会将错误捕获到,并返回一个状态码。 第一个返回值是状态码(一个布尔量), 当没有错误时,其为真。 此时,pcall 同样会在状态码后返回所有调用的结果。 在有错误时,pcall 返回 false 加错误消息。

116 评论(14)

丸子的小雕

初级部分:面向对象程序设计、JavaAPI使用、数据结构及算法基础、Java高级类特性、异常处理;及Swing图形程序设计、流、网络程序设计、对象序列化、Applet、多线程程序设计、Java应用国际化基础;桌面系统项目开发;编程基础提高课程:反射机制、设计模式(I)、正则表达式,新特性等;5.基于Oracle的数据库开发及管理、数据库设计、标准SQL、PL/SQL编程;、、、JavaBean编程;Tomcat服务器使用、Jbuilder及Eclipse等集成开发环境;操作系统中的Java程序开发、Linux系统管理;编程提高课程:JDBC进阶、高效分页处理、过滤器使用技巧、Struts中动态表单验证、DispatchForm等;高级部分设计模式、Struts架构核心工作机制、国际化、验证框架、StrutsTaglib、ORM基础、基于Hibernate的企业级应用;手机游戏设计、界面程序设计、数据库程序设计、手机短信、多媒体短信(彩信)开发;核心技术、XML、WebService、异构系统整合、分布式应用开发、WebLogic和JBoss等应用服务器;、UML与系统建模和设计、RationalRose、软件工程和软件过程模型、版本控制及设计模式;企业级应用开发提高课程:Hibernate使用技巧、设计模式(II)、Spring编程入门、提高JavaEE应用的性能;.NET程序设计.NET架构、.NET桌面和Web程序设计、.NET与JavaEE平台应用的整合;职业素质IT职业规划、沟通技巧、团队合作、专业技术规范、面试技巧等职业技能培训。完成以上培训课程后,通过考核就可以获得培训机构颁发的合格证书。现在比较吃香的是JAVA,特别是J2EE,未来3G出来后,手机编程将成为热点,J2EE当然就会很吃香了。关于证书的权威性,建议你要去知名的培训机构去,最好是像SUN这类国际大公司有关认证所指定的培训机构,这样权威性高些。一般来讲,软件公司是非常喜欢通过了软件工程师的人员,学历对他们来说并不重要,而重要的是能力。如果你的能力够强,在一个好的公司的话,这个月薪我想应该是可以拿到的。

271 评论(9)

抢银行的小怪兽

第一个阶段(java基础阶段)语法2.面向对象3.常用的api4.界面编程5.多线程6.文件网络编程..第二个阶段 (数据库阶段)第三个阶段 (web开发阶段)第四个阶段 (j2ee 中级部分)第五个阶段 (j2ee 高级部分)

215 评论(12)

相关问答