软件开发工程师岗位概述
软件开发工程师
软件开发工程师至少掌握一种编程语言,能够借助某些软件工具,生产某平台(操作系统)运行的程序代码
软件工具分类
- 编译运行环境软件:将代码转化为软件可执行程序(例如Windows下的exe文件)的一种软件
- 集成开发工具软件:用来编写代码的软件,类似于文本编辑工具,这类软件通常集成了方便工程师开发工作的一系列的功能,通常使用这类工具来编写代码,提高效率
- 框架类软件:基于编程语言,将通用性的代码提取,预先形成模板代码,开发人员针对这部分代码不再需要自己编写了,只需要按照框架的要求,编写业务代码即可,减少开发人员的工作量
- 其他的一系列软件,这类软件通常提供了能够直接和代码对接的方式,可以通过编写代码的方式使用这些软件的功能,解决在某些特定场景的问题,同样可以减少开发人员的工作量
常用编程语言介绍
编程语言的一个排名网站:https://www.tiobe.com/tiobe-index/
每种编程语言都有其独特的特点和适用场景,选择合适的语言取决于项目需求。
C 语言:
直接操作硬件、程序运行速度快、缺少高级特性(对程序员要求高)
主要应用领域:操作系统、嵌入式系统、驱动程序、系统工具、游戏开发等
对于学习者:适合初学者作为了解编程语言学习的语言,如果用于工作则要求较高
编译运行环境:GCC、Clang......
集成开发工具:Keil、C++相关的工具......
框架软件:GTK+、Qt......
C++ 语言:
相比于 C 语言,C++引入了更多的高级特性,扩大了应用范围,但也增加了复杂性。
主要应用领域:游戏开发、系统软件、桌面应用、嵌入式系统、高性能计算等。
对于学习者:语言特性非常多,难于精通
编译运行环境:GCC、Clang++......
集成开发工具:Microsoft Visual Studio、JetBrains CLion......
框架软件:Qt、Boost......
C# 语言:
C# 的出现主要是为了填补 C++ 在特定领域中的一些不足,针对C++的一些语法特性进行了简化。C# 与 Windows 平台的集成性非常好,能够充分利用 Windows 操作系统提供的功能和资源。它与 .NET Framework 紧密集成
主要应用领域:Windows 应用程序、Web 应用程序、游戏开发等。
对于学习者:相对易学,但是国内的就业面相对其他语言较窄
编译运行环境:.NET Framework、ASP.NET Core......
集成开发工具:Microsoft Visual Studio、JetBrains Rider
框架软件:.NET Framework、ASP.NET Core......
Python 语言:
以简洁、易读的语法著称,可以作为一门工具型的语言,借助它进行一些自动化脚本的编写。
主要应用领域:数据分析、人工智能、科学计算、自动化脚本、Web应用等。
对于学习者:对于初学者友好,学习资源丰富
编译运行环境:python、virtualenv、Anaconda
集成开发工具:JetBrains PyCharm
框架软件:Django、Flask、TensorFlow......
Java 语言:
国内学习人数较多的编程语言
主要应用领域:Web 应用后端程序、安卓应用、大数据应用等。
对于学习者:对于初学者友好,学习资源丰富
编译运行环境:Java Development Kit (JDK)
集成开发工具:IntelliJ IDEA、Eclipse、NetBeans
框架软件:Spring Framework......
JavaScript 语言:
国内学习人数较多的编程语言,它最初被设计用于网页开发,但如今已经发展成为一种多用途的编程语言,可用于开发各种类型的应用程序。
主要应用领域:Web 应用前端程序、移动、桌面等跨平台应用、Web 应用后端程序
对于学习者:对于初学者友好,学习资源丰富
编译运行环境:浏览器、Node.js......
集成开发工具:Visual Studio Code、WebStorm......
框架软件:React.js、Angular、Vue.js、Express.js......