Coursera 笔记

Module 05 · Job Opportunities and Skillsets in Software Engineering

What Does a Software Engineer Do?软件工程师的工作职责

Coursera ↗

学习目标

观看完本视频后,您将能够:

  • 描述软件工程师开发的软件类型以及他们使用的技术;
  • 识别软件工程师的类别以及他们所在的团队;
  • 描述软件工程师的日常任务和职责。


什么是软件工程师?

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

软件工程师开发的软件类型种类繁多,包括:

  • 桌面应用程序
  • Web 应用程序
  • 移动应用程序
  • 游戏
  • 操作系统
  • 网络控制器

他们使用许多技术来完成这些任务,包括:

  • 编程语言
  • 开发环境
  • 框架和库
  • 数据库
  • 服务器

软件工程师的两大分类

1.后端工程师(Back-end Engineers)

后端工程师,也称为系统开发人员,主要负责构建计算机系统和网络,供前端应用程序使用。

2.前端工程师(Front-end Engineers)

前端工程师,也称为应用程序开发人员,更多聚焦于客户端,负责创建用户交互的软件,例如:

  • Android 应用
  • iOS 应用
  • Windows 应用
  • 跨平台网站

软件工程师的工作环境

软件工程师工作在各种不同的环境中,你可能会加入一个开发团队,负责以下类型的项目:

项目类型 描述
现成软件(Off-the-shelf software) 开发标准化的软件,适用于广泛的用户。
定制软件(Bespoke software) 为特定客户的需求量身定制的软件解决方案。
内部软件(Internal software) 为组织内部用户开发的软件,优化内部业务流程。

在你的团队中,你可能会专注于以下领域:

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

软件工程师的日常任务

作为软件工程师,你的日常工作可能包括:

  1. 获取用户需求并设计新的软件系统以满足其需求。
  2. 编写代码并进行测试,确保软件按预期运行。
  3. 评估和测试新软件,确保其性能和可靠性。
  4. 优化现有软件,提升程序的效率。
  5. 维护和更新现有系统,保持系统的稳定性和安全性。
  6. 编写代码文档,便于其他开发人员理解。
  7. 向用户和客户展示新系统,收集反馈并进行迭代。
  8. DevOps 工程师,会将代码集成并部署到底层基础设施。不仅需要构建自己的系统,还要测试、改进和维护其他团队成员开发的软件。

软件工程师的职责

软件工程师的职责范围广泛,具体任务根据工作年限和职位不同而有所变化。

  • 初级职位(Junior):
    • 主要负责编写、测试、部署和文档化代码。
    • 职责相对有限,集中在某个具体领域。
  • 高级职位(Senior):
    • 负责多个软件解决方案领域,涵盖规划、设计等阶段。
    • 职责范围更广,通常需要领导或协调项目。


小结

在本视频中,您学习了:

  • 软件工程师设计和开发多种类型的软件解决方案。
  • 后端工程师构建计算机系统和网络,前端工程师构建用户界面。
  • 软件工程师的任务包括:设计、编写新软件,维护和更新现有软件。
  • 随着职业发展,您将从负责小块代码,逐渐扩展到多个产品或项目领域。

软件工程是一个充满挑战和机会的职业,适合喜欢解决复杂问题、享受技术创新的人!