Module 05 · Job Opportunities and Skillsets in Software Engineering
What Does a Software Engineer Do?软件工程师的工作职责
学习目标
观看完本视频后,您将能够:
- 描述软件工程师开发的软件类型以及他们使用的技术;
- 识别软件工程师的类别以及他们所在的团队;
- 描述软件工程师的日常任务和职责。

什么是软件工程师?
软件工程师运用他们在工程学、数学和计算机科学方面的才华,设计和开发解决实际问题的软件,以满足用户需求。如果你是一个喜欢分析、解决问题的人,软件工程可能是你理想的职业!

软件工程师开发的软件类型种类繁多,包括:
- 桌面应用程序
- Web 应用程序
- 移动应用程序
- 游戏
- 操作系统
- 网络控制器

他们使用许多技术来完成这些任务,包括:
- 编程语言
- 开发环境
- 框架和库
- 数据库
- 服务器

软件工程师的两大分类

1.后端工程师(Back-end Engineers)
后端工程师,也称为系统开发人员,主要负责构建计算机系统和网络,供前端应用程序使用。
2.前端工程师(Front-end Engineers)
前端工程师,也称为应用程序开发人员,更多聚焦于客户端,负责创建用户交互的软件,例如:
- Android 应用
- iOS 应用
- Windows 应用
- 跨平台网站
软件工程师的工作环境
软件工程师工作在各种不同的环境中,你可能会加入一个开发团队,负责以下类型的项目:

| 项目类型 | 描述 |
|---|---|
| 现成软件(Off-the-shelf software) | 开发标准化的软件,适用于广泛的用户。 |
| 定制软件(Bespoke software) | 为特定客户的需求量身定制的软件解决方案。 |
| 内部软件(Internal software) | 为组织内部用户开发的软件,优化内部业务流程。 |
在你的团队中,你可能会专注于以下领域:

- 数据集成层:从各种来源访问并加载数据到解决方案中。
- 业务逻辑层:将现实世界的业务规则应用到数据上。
- 用户界面:创建用户与软件互动的界面。
软件工程师的日常任务

作为软件工程师,你的日常工作可能包括:
- 获取用户需求并设计新的软件系统以满足其需求。
- 编写代码并进行测试,确保软件按预期运行。
- 评估和测试新软件,确保其性能和可靠性。
- 优化现有软件,提升程序的效率。
- 维护和更新现有系统,保持系统的稳定性和安全性。
- 编写代码文档,便于其他开发人员理解。
- 向用户和客户展示新系统,收集反馈并进行迭代。
- DevOps 工程师,会将代码集成并部署到底层基础设施。不仅需要构建自己的系统,还要测试、改进和维护其他团队成员开发的软件。
软件工程师的职责
软件工程师的职责范围广泛,具体任务根据工作年限和职位不同而有所变化。
- 初级职位(Junior):
- 主要负责编写、测试、部署和文档化代码。
- 职责相对有限,集中在某个具体领域。
- 高级职位(Senior):
- 负责多个软件解决方案领域,涵盖规划、设计等阶段。
- 职责范围更广,通常需要领导或协调项目。

小结
在本视频中,您学习了:
- 软件工程师设计和开发多种类型的软件解决方案。
- 后端工程师构建计算机系统和网络,前端工程师构建用户界面。
- 软件工程师的任务包括:设计、编写新软件,维护和更新现有软件。
- 随着职业发展,您将从负责小块代码,逐渐扩展到多个产品或项目领域。
软件工程是一个充满挑战和机会的职业,适合喜欢解决复杂问题、享受技术创新的人!
