软件工程师要学的有:1、操作系统知识;2、编程语言和算法;3、领域知识;4、.NET方面的开发;5、JAVA应用程序开发;6、web、数据库方面的开发;7、php项目开发。其中,操作系统知识是软件工程师必须具备的重要内容。
1、操作系统知识
操作系统知识是软件工程师必须具备的重要内容,Web开发领域可能会使用到Windows系列操作系统,大数据和物联网方向要使用到Linux系列操作系统,掌握操作系统的体系结构是进行软件研发的重要基础。主要内容包括资源管理、任务调度、并发管理、权限管理、网络管理等内容。
2、编程语言和算法
编程语言是软件工程师必备的技能,不同方向的开发需要使用到不同的编程语言,比如Web开发可能会使用PHP、Python、Java等语言,而大数据可能会使用Java、R、Scala等语言,而物联网开发可能会使用到C、C++等编程语言。通常来说,软件工程师往往需要掌握多门编程语言,以应对不同的开发环境。算法是软件工程师的重点知识结构,因为软件研发说到底就是个数学问题,所以算法的掌握情况往往能够决定软件工程师的成长高度。当然,对于应用级软件工程师来说,也有可能不会接触到更多的算法。
3、领域知识
不同开发领域需要掌握不同的知识结构,比如大数据软件工程师往往需要掌握Hadoop、Spark平台的使用,而Web开发工程师往往还需要掌握前后端开发技术,包括一系列Web开发框架的使用等等。
4、.NET方面的开发
熟悉.net开发体系,熟悉C# ASP .NET;熟悉SQLServer,Oracle数据库开发;具有企业管理系统项目经验;了解企业ERP及财务管理软件(用友,金蝶)者优先;善于沟通,能独立撰写方案。为人诚实,善于学习,做事认真负责,积极主动,具有敬业精神,有团队精神。5、JAVA应用程序开发
熟练使用Struts2+Spring+Hibernate掌握Jquery掌握Java熟悉Oracle掌握xml/webservice掌握OOD、OOP基本文档写作能力6、web、数据库方面的开发
熟练掌握ASP,NET;等编程语言,熟悉.Net开发环境,理解.Net Framework,理解并能熟练使用WebService、O/R mapping、Remoting、多线程等技术;热衷于互联网WEB开发,热衷于钻研最新的前沿技术,精通XML,Javascript,CSS,AJAX等web前端技术;熟练的技术文档编写能力,熟练使用Rose,Power Design,Visio等建模和设计软件,有一定的架构设计能力;精通SQL server数据库技术,了解数据库性能调优者优先。7、php项目开发
使用php语言开发互联网应用程序;网站产品和网站功能模块的开发与维护;与页面设计师协调沟通,编写部分Javascript和HTML;参与底层MVC框架的编写与维护。延伸阅读
软件工程师职业前景
测试分析师:软件工程师的测试分析师主要职责是对系统的测试结果进行综合的分析,例如缺陷分析、性能分析等。测试分析师不但测试技术能力较强,还要具备数据库、操作系统等多方面的技术知识。这类软件工程师的发展空间也不错,可以发展成系统设计师等。
测试工程师:软件工程师的测试工程师主要职责是编写测试程序、执行自动化测试任务。这类软件工程师的测试人员至少要达到初级程序员的能力,因为经常和程序打交道。发展空间也不错,例如可以发展为程序员。
50万+团队都在用的项目协作工具一个工具满足团队所需:任务、项目、文档、IM、目标、 日历、甘特图、工时、审批以及更多,让工作更简单智能化研发管理工具PingCode 是简单易用的新一代研发管理平台,让研发管理自动化、数据化、智能化,帮助企业提升研发效能