2023 全栈开发人员职业路线图
0. 全栈开发人员职业路线图
全栈开发人员
全栈开发人员是 IT 行业中薪资最高的职业之一。
如果您想成为一名全栈开发人员,以下是 2023 年全栈开发人员路线图上的十一个步骤:
掌握敏捷开发和 Scrum
学习浏览器技术,如 HTML 和 CSS
熟练掌握 JavaScript 或 TypeScript
了解 Git 及其 CI/CD 生态系统
具备移动应用程序开发能力
使用 RESTful API 交换 JSON 数据
使用 SQL 管理超大型数据库
掌握中间层技术
学习用于云原生配置的 YAML 语言
使用 Rust 或 C++与底层技术打交道
致力于 12 因素应用程序开发
2. 敏捷开发
所有全栈开发人员都具备敏捷性这一特质。
每个技术组织都知道,条件变化太快,无法提前数月进行适当的计划。这就是为什么每个全栈开发人员都必须具备敏捷性,并理解快速“响应变化比遵循计划更重要”这一点。
这是敏捷开发的一个原则。其他三个是什么呢?
个人与互动高于流程和工具
能工作的软件高于详尽的文档
与客户的协作高于合同的谈判
无论您使用哪种软件堆栈,精通哪些开发工具或部署到哪个云平台,如果您不是一名敏捷的全栈开发人员,这些都是无关紧要的。
阅读敏捷宣言并将其 12 个敏捷软件开发原则铭记于心。
在学习过程中,学习敏捷框架,如 Scrum 或 Kanban。
Scrum 指南只有 13 页长。阅读它以便了解敏捷软件开发的全部内容。
一名全栈开发人员必须拥抱敏捷开发的理念,并精通敏捷框架,如 Scrum。
3. 需要具备 HTML 和 CSS 的核心能力
HTML 和 CSS 是网站开发的基石。
一名全栈开发人员可能不会花费大量时间开发网站的落地页面,但需要深入了解 HTML,以便:
修复网站错误
更新 WordPress 模板
浏览 PHP 代码片段
修复响应式网站
进行 SEO 优化
一名全栈开发人员需要了解和掌握的第一种编程语言是 HTML。如果没有 HTML 知识,您不可能成为一名全栈开发人员。
全栈开发人员需要了解 HTML 和 CSS,才能使用响应式 Web 框架,如 Bootstrap。
4. 需要熟练掌握 JavaScript
想成为一名全栈开发人员吗?那么您必须掌握 JavaScript 或 TypeScript 中的一种。
JavaScript 是 Web 浏览器的四种 W3C 标准编程语言之一,也是唯一一种可以对 WebAssembly 组件进行基于浏览器的调用的语言。
此外,JavaScript 在服务器端也得到了广泛的支持,如 Node.js,因此当需要与数据库或消息队列集成时,可以轻松地将基于浏览器的 JavaScript 技能转移到后端。
全栈开发人员必须在前端和后端都具备能力。了解 JavaScript 可以让全栈开发人员进入前后端两个领域。
5. 掌握 Git
全栈开发人员编写的所有代码都必须存储在某个地方。
如今,绝大多数代码都存储在基于 Git 的存储库中,如 GitHub、GitLab 或 BitBucket。
全栈开发人员需要知道如何提交代码、合并分支、变基历史和压缩提交。
Git 是一项必要的全栈开发人员技能。
对于全栈开发人员来说,Git 和了解基于 Git 的 SaaS 提供商,如 GitHub 和 GitLab,是必需的。
6. 移动应用程序开发
全栈开发人员需要了解移动应用程序开发。
如果您想成为一名全栈开发人员,您需要知道如何使用以下语言开发 iPhone 和 Android 设备的应用程序:
iPhone 使用 Swift
Android 使用 Kotlin
两者都可以使用 React Native
您还需要了解发布到 Apple Store 或 Google Play Store 的复杂性。
如果您不知道如何将移动应用程序分发给客户,那么开发移动应用程序就没有意义了。
7. 使用 JSON 构建 RESTful API
客户端和服务器之间发生的绝大部分通信都是通过交换 JSON 数据的 RESTful API 进行的。全栈开发人员需要了解两者。
全栈开发人员需要知道:
如何构建 RESTful API 网关以供客户端访问
如何从客户端应用程序连接到 RESTful API
如何通过认证和加密保护 RESTful API
如何创建可靠的可扩展的 RESTful API
作为学习 RESTful API 的一部分,还要学习如何将 JSON 存储在 NoSQL 数据库中。NoSQL 数据库是 Facebook 和 Twitter 实现大规模扩展的方式,它们大大简化了 RESTful 数据持久性。
开始学习 RESTful API 的旅程,可以阅读 Roy Fielding 关于 RESTful API 是什么以及为什么互联网需要它们的 2001 年论文。这是一篇值得阅读的论文。
RESTful API 是将客户端和服务器端应用程序集成的关键。
8. SQL 和关系型数据库技术
NoSQL 数据库很重要,但关系型数据库更重要。
全栈开发人员需要了解结构化查询语言(SQL)的基础知识,以便处理存储数十亿行和数 TB 数据的大型企业级关系型数据库。
SQL 和关系型数据库技术的知识对于全栈开发人员非常重要,以便:
管理、修改和查询大型数据库系统
为外部工具、客户端和 API 提供后端集成
调整和优化数据库性能
在出现问题时解决生产问题
9. 中间层技术
全栈开发人员需要知道如何将客户端层和后端数据库层连接起来。
如果需要与应用程序服务器和云 API 交互,则 Java 非常适合。
如果您的堆栈包括机器学习或人工智能,则 Python 非常适合。
如果要使用跨越堆栈多个层的单一语言,则 JavaScript 非常适合。
全栈开发人员需要了解中间层编程语言,以及与该语言堆栈相关的中间层技术的知识。
例如,一个以 Java 为重点的全栈开发人员还应该对 Java 中间层技术有深入的了解,例如:
Tomcat
WebSphere
Kafka
Jenkins
CouchDB
Hadoop
中间层对于全栈开发人员来说非常重要。
全栈开发人员应该了解 n 层软件堆栈的工作原理。
10. 使用 YAML 进入云原生
YAML 是云原生技术的标准“应用程序配置”语言。
想要使用 Terraform 进行基础设施即代码管理吗?
想要使用 GitHub Actions 进行持续集成和部署吗?
想要使用 Docker 和 Kubernetes 部署应用程序吗?
想要在 AWS 上配置网络网关吗?
您可以使用 YAML 对它们进行配置。YAML 是全栈开发人员的必备技能。
YAML 是云原生部署和软件配置的关键。
11. 靠近硬件
不是所有开发人员都需要“靠近硬件”。
但如果您需要,您需要了解编程语言,如 Rust、Go 或 C。
这些语言使全栈开发人员可以为以下组件编写代码:
操作系统,如 Linux 和 Windows
制造和汽车领域中使用的嵌入式系统
云计算中使用的虚拟化程序
密码和安全组件
了解类似 Rust 或 C++的语言,可以让全栈开发人员编写编译为二进制代码的代码,而不需要像 Java 和 Python 一样运行在抽象层之上。这就是为什么这些语言被称为“靠近硬件”的原因。
12. 致力于 12 个要素
“12 因素应用程序”原则描述了开发云原生应用程序的最佳实践。
学习如何创建 12 因素应用程序,并承诺按照这些原则编写您的应用程序。
任何部署为微服务、Lambda 过程或无服务器函数的应用程序都必须符合 12 因素要求。
了解这 12 个因素,并承诺遵守它们。
如果您掌握了所有这些技能,您将完成 2023 年全栈开发人员的路线图,并将在 IT 领域获得可观的职业生涯。
对于云原生开发,全栈开发人员必须致力于 12 因素应用程序。
版权声明: 本文为 InfoQ 作者【码语者】的原创文章。
原文链接:【http://xie.infoq.cn/article/1822f70594920147f1a0d0875】。
本文遵守【CC-BY 4.0】协议,转载请保留原文出处及本版权声明。
评论