软件工程师需要具备哪些知识?

Q6girl


软件工程师是IT领域的重要岗位之一,随着IT行业多年的发展,软件工程师也有很多细分的方向,比如Web方向、大数据方向、物联网方向、云计算方向、人工智能方向、区块链方向等等,不同方向的软件工程师需要具备的知识结构也会有所区别。另外,不同行业(金融、教育、通信、医疗)的软件工程师往往在知识结构上也有所区别。

通常情况下,软件工程师需要具备以下几个方面的知识结构:

第一:操作系统知识。操作系统知识是软件工程师必须具备的重要内容,Web开发领域可能会使用到Windows系列操作系统,大数据和物联网方向要使用到Linux系列操作系统,掌握操作系统的体系结构是进行软件研发的重要基础。主要内容包括资源管理、任务调度、并发管理、权限管理、网络管理等内容。

第二:编程语言和算法。编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言,比如Web开发可能会使用PHP、Python、Java等语言,而大数据可能会使用Java、R、Scala等语言,而物联网开发可能会使用到C、C++等编程语言。通常来说,软件工程师往往需要掌握多门编程语言,以应对不同的开发环境。算法是软件工程师的重点知识结构,因为软件研发说到底就是个数学问题,所以算法的掌握情况往往能够决定软件工程师的成长高度。当然,对于应用级软件工程师来说,也有可能不会接触到更多的算法。

第三:领域知识。不同开发领域需要掌握不同的知识结构,比如大数据软件工程师往往需要掌握Hadoop、Spark平台的使用,而Web开发工程师往往还需要掌握前后端开发技术,包括一系列Web开发框架的使用等等。

我从事互联网行业多年,目前也在带计算机专业的研究生,主要的研究方向集中在大数据和人工智能领域,我会陆续在头条写一些关于互联网技术方面的文章,感兴趣的朋友可以关注我,相信一定会有所收获。

如果有互联网方面的问题,也可以咨询我,谢谢!


IT人刘俊明


下面是我的回答!

我现在的职位就是软件工程师!我是用的语言是java语言!

第一;语言方面得至少能够熟练掌握一门语言,无论是C#,java,C,C++,python等等至少要掌握一门语言,因为有了语言才能够做更多得事情。平常开发写代码就要用到这些语言,如果不会得那岂不是尴尬了!精通Web编程,熟悉html,javascript; 精通servlet,JMS,Jdbc开发,熟悉Spring、iBatis等开源框架,熟悉各种常用设计模式; 熟悉基于Oracle或者Mysql的设计和开发、Linux操作系统、SVN操作; 大数据量、高并发系统,大型网站构建等等。

第二,除了会一门开发语言,还要懂得具体得软件开发流程,需求设计,详细设计,流程图,时序图,序列图,单元测试,测试用例。什么时候流程怎么办,该做什么东西,都要做到有个时间段得规划与验收时间。

第三。相关得服务器得知道些吧,tomcat,jboss,nginx等等,现在最流行得微服务框架得知道吧,spring cloud ,spring boot等等。

第四。硬件得知道点吧,交换机,路由器,跳线,网线等等。

总之,只要涉及软件相关的知识,都的要懂,最主要精通的还得是自己得语言!


以上就是我的回答,希望被采纳,比心!


搞笑皮小虾


需要懂许多从软件需求到最后的维护等方面的知识。如果从就业方面来讲应该具备以下的几点:1.熟悉基本的测试理论、流程、规范;熟悉WinRunner、LoadRunner;能独立进行测试方案、测试计划、测试用例设计,搭建测试环境及测试执行;2.熟练掌握C、C++、C#和JAVA,熟悉eclipse、.net等IDE环境,熟悉SQL、HTML;3.熟悉Oracle、MSsqlserver、MSAnalysisServices(AS)及多维表达式MDX,能用AS进行数据联机分析处理(OLAP)和数据挖掘;4.对软硬件比较了解,能解决各种软硬件问题;5.良好的英文读写说能力。还有就是你可以不会写但是一定要看得懂。


软硬件解决方案厂商


软件工程人才是社会IT界中人气数一数二的香飘飘,就业前景十分的乐观,并且对人才的需求还保持着年均20%的快速增长。既然如此,想必做软件方面的工作需要掌握和学习的知识是要够全够深,让我们来看看从事它需要哪些知识技能、技术级别和职位类型。

首先知晓下软件工程师的定义:软件工程师是一个广义的概念,包括从事软件职业的人员的一种职业能力的认证,也是软件开发相关工作的人员的统称。

从事软件工程师也有高低级别的区分,分别是软件技术员、助理软件工程师、软件工程师和高级软件工程师4个技术分级。

一般人都不怎么清楚软件工程师平时的工作内容,主要有:

1、 指导程序员的工作;

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

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

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

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

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

7、还要编写各种各样的软件说明书,如:需求说明书,概要说明书等;

8、考试科目工程师是中级职称,考试的题目包括了计算机体系结构、软件工程、数据库、数据结构、编译原理等计算机学科的基础课程;

对于想入行或从事软件工程师相关工作的人对行业的技术要求有哪些,软件工程师下的职位分类和开发方向又有很多,不同的职位和项目要求的能力标准又不一样,它到底有哪方面的开发项目呢?

一. NET方面的开发

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

.NET

⒉熟悉SQLServer,Oracle数据库开发

⒊以上要求至少3年开发经验。

⒋具有企业管理系统项目经验。

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

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

二.JAVA应用程序开发

熟练使用Struts2+Spring+Hibernate;掌握Jquery、Java;熟悉Oracle/xml/webservice;掌握OOD、OOP;基本文档写作能力

三.web、数据库方面的开发

⒈计算机或相关专业本科以上学历;

⒉有4年以上开发经验,有良好的代码编写习惯,熟悉软件开发规范;

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

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

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

⒍精通SQL server数据库技术,了解数据库性能调优者优先.

四.C#项目开发

⒈计算机专业本科以上学历,一年以上C#/ASP NET开发经验,熟练使用SQL数据库,有欧美项目开发经验者优先;

⒉大学英语四级以上,具有较强的听、说、读、写能力,尤其是听、说能力;

⒊工作认真细致,踏实肯干,具有较好的团队协作精神和沟通能力;良好的逻辑思维,能够承受一定的工作压力并可以按时完成工作且保证质量

五.php项目开发

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

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

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

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

从上面的知识体系来看,对软件工程师的要掌握的知识和工作中的经验能力都有高的标准。如果您对这方面的有不同的见解请在评论区留言!!!


分享到:


相關文章: