头图

0. 全栈开发人员职业路线图

全栈开发人员

全栈开发人员是IT行业中薪资最高的职业之一。

如果您想成为一名全栈开发人员,以下是2023年全栈开发人员路线图上的十一个步骤:

  1. 掌握敏捷开发和Scrum
  2. 学习浏览器技术,如HTML和CSS
  3. 熟练掌握JavaScript或TypeScript
  4. 了解Git及其CI/CD生态系统
  5. 具备移动应用程序开发能力
  6. 使用RESTful API交换JSON数据
  7. 使用SQL管理超大型数据库
  8. 掌握中间层技术
  9. 学习用于云原生配置的YAML语言
  10. 使用Rust或C++与底层技术打交道
  11. 致力于12因素应用程序开发

1. 敏捷开发

所有全栈开发人员都具备敏捷性这一特质。

每个技术组织都知道,条件变化太快,无法提前数月进行适当的计划。这就是为什么每个全栈开发人员都必须具备敏捷性,并理解快速“响应变化比遵循计划更重要”这一点。

这是敏捷开发的一个原则。其他三个是什么呢?

  • 个人与互动高于流程和工具
  • 能工作的软件高于详尽的文档
  • 与客户的协作高于合同的谈判

无论您使用哪种软件堆栈,精通哪些开发工具或部署到哪个云平台,如果您不是一名敏捷的全栈开发人员,这些都是无关紧要的。

阅读敏捷宣言并将其12个敏捷软件开发原则铭记于心。

在学习过程中,学习敏捷框架,如Scrum或Kanban。

Scrum指南只有13页长。阅读它以便了解敏捷软件开发的全部内容。

一名全栈开发人员必须拥抱敏捷开发的理念,并精通敏捷框架,如Scrum。

2. 需要具备HTML和CSS的核心能力

HTML和CSS是网站开发的基石。

一名全栈开发人员可能不会花费大量时间开发网站的落地页面,但需要深入了解HTML,以便:

  • 修复网站错误
  • 更新WordPress模板
  • 浏览PHP代码片段
  • 修复响应式网站
  • 进行SEO优化

一名全栈开发人员需要了解和掌握的第一种编程语言是HTML。如果没有HTML知识,您不可能成为一名全栈开发人员。

全栈开发人员需要了解HTML和CSS,才能使用响应式Web框架,如Bootstrap。

3. 需要熟练掌握JavaScript

想成为一名全栈开发人员吗?那么您必须掌握JavaScript或TypeScript中的一种。

JavaScript是Web浏览器的四种W3C标准编程语言之一,也是唯一一种可以对WebAssembly组件进行基于浏览器的调用的语言。

此外,JavaScript在服务器端也得到了广泛的支持,如Node.js,因此当需要与数据库或消息队列集成时,可以轻松地将基于浏览器的JavaScript技能转移到后端。

全栈开发人员必须在前端和后端都具备能力。了解JavaScript可以让全栈开发人员进入前后端两个领域。

4. 掌握Git

全栈开发人员编写的所有代码都必须存储在某个地方。

如今,绝大多数代码都存储在基于Git的存储库中,如GitHub、GitLab或BitBucket。

全栈开发人员需要知道如何提交代码、合并分支、变基历史和压缩提交。

Git是一项必要的全栈开发人员技能。

对于全栈开发人员来说,Git和了解基于Git的SaaS提供商,如GitHub和GitLab,是必需的。

5. 移动应用程序开发

全栈开发人员需要了解移动应用程序开发。

如果您想成为一名全栈开发人员,您需要知道如何使用以下语言开发iPhone和Android设备的应用程序:

  • iPhone使用Swift
  • Android使用Kotlin
  • 两者都可以使用React Native

您还需要了解发布到Apple Store或Google Play Store的复杂性。

如果您不知道如何将移动应用程序分发给客户,那么开发移动应用程序就没有意义了。

6. 使用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是将客户端和服务器端应用程序集成的关键。

7. SQL和关系型数据库技术

NoSQL数据库很重要,但关系型数据库更重要。

全栈开发人员需要了解结构化查询语言(SQL)的基础知识,以便处理存储数十亿行和数TB数据的大型企业级关系型数据库。

SQL和关系型数据库技术的知识对于全栈开发人员非常重要,以便:

  • 管理、修改和查询大型数据库系统
  • 为外部工具、客户端和API提供后端集成
  • 调整和优化数据库性能
  • 在出现问题时解决生产问题

8. 中间层技术

全栈开发人员需要知道如何将客户端层和后端数据库层连接起来。

  • 如果需要与应用程序服务器和云API交互,则Java非常适合。
  • 如果您的堆栈包括机器学习或人工智能,则Python非常适合。
  • 如果要使用跨越堆栈多个层的单一语言,则JavaScript非常适合。

全栈开发人员需要了解中间层编程语言,以及与该语言堆栈相关的中间层技术的知识。

例如,一个以Java为重点的全栈开发人员还应该对Java中间层技术有深入的了解,例如:

  • Tomcat
  • WebSphere
  • Kafka
  • Jenkins
  • CouchDB
  • Hadoop

中间层对于全栈开发人员来说非常重要。

全栈开发人员应该了解n层软件堆栈的工作原理。

9. 使用YAML进入云原生

YAML是云原生技术的标准“应用程序配置”语言。

  • 想要使用Terraform进行基础设施即代码管理吗?
  • 想要使用GitHub Actions进行持续集成和部署吗?
  • 想要使用Docker和Kubernetes部署应用程序吗?
  • 想要在AWS上配置网络网关吗?

您可以使用YAML对它们进行配置。YAML是全栈开发人员的必备技能。

YAML是云原生部署和软件配置的关键。

10. 靠近硬件

不是所有开发人员都需要“靠近硬件”。

但如果您需要,您需要了解编程语言,如Rust、Go或C。

这些语言使全栈开发人员可以为以下组件编写代码:

  • 操作系统,如Linux和Windows
  • 制造和汽车领域中使用的嵌入式系统
  • 云计算中使用的虚拟化程序
  • 密码和安全组件

了解类似Rust或C++的语言,可以让全栈开发人员编写编译为二进制代码的代码,而不需要像Java和Python一样运行在抽象层之上。这就是为什么这些语言被称为“靠近硬件”的原因。

11. 致力于12个要素

“12因素应用程序”原则描述了开发云原生应用程序的最佳实践。

学习如何创建12因素应用程序,并承诺按照这些原则编写您的应用程序。

任何部署为微服务、Lambda过程或无服务器函数的应用程序都必须符合12因素要求。

了解这12个因素,并承诺遵守它们。

如果您掌握了所有这些技能,您将完成2023年全栈开发人员的路线图,并将在IT领域获得可观的职业生涯。

对于云原生开发,全栈开发人员必须致力于12因素应用程序。


【注】本文译自 2023 full-stack developer roadmap


信码由缰
65 声望8 粉丝

“码”界老兵,分享程序人生。


引用和评论

0 条评论