2023全栈开发人员职业路线图

news/2024/10/31 3:23:45/

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页长。阅读它以便了解敏捷软件开发的全部内容。

在这里插入图片描述

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

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

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

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

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

在这里插入图片描述

3. 需要熟练掌握JavaScript

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

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

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

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

4. 掌握Git

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

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

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

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

在这里插入图片描述

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年论文。这是一篇值得阅读的论文。

在这里插入图片描述

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

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

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

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

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

8. 中间层技术

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

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

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

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

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

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

9. 使用YAML进入云原生

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

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

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

在这里插入图片描述

10. 靠近硬件

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

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

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

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

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

11. 致力于12个要素

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

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

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

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

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

在这里插入图片描述


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


http://www.ppmy.cn/news/62802.html

相关文章

Linux权限划分的原则

考察的不仅是一个具体的指令,还考察对技术层面的认知。 如果对 Linux 权限有较深的认知和理解,那么完全可以通过查资料去完成具体指令的执行。更重要的是,认知清晰的程序员可以把 Linux 权限管理的知识迁移到其他的系统设计中。 权限抽象 一…

真实业务场景使用-模板模式+策略模式组合

模板和策略设计模式一般是使用最频繁的设计模式,模板的场景主要是处理一系列相同的流程,将这些流程放到模板里,每个流程里的处理可能有一些不一样的地方,则可以抽象出一个方法,由每一个有实际意义的子类实现。 策略模…

C# 判断文件/目录是否存在

C# 判断文件是否存在,不存在则创建 C#判断指定目录是否存在,不存在就创建 spath:文件夹路径名 using System.IO; if (Directory.Exists(spath)) { } else { DirectoryInfo directoryInfo new DirectoryInfo(spath); directoryInfo.…

Linux学习之Shell(一)

Shell概述 1)Linux提供的Shell解析器有 [xiaominghadoop101 ~]$ cat /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh2)bash和sh的关系 [xiaominghadoop101 bin]$ ll | grep bash -rwxr…

ShardingProxy分库分表实战

目录 ShardingProxy简述 快速使用 ShardingProxy部署 ShardingProxy使用 ShardingProxy的服务治理 Shardingproxy的其他功能 ShardingProxy的SPI扩展 ShardingSphere总结 ShardingProxy简述 ShardingProxy的功能同样是分库分表,但是他是一个独立部署的服务…

实现docker目录和本地目录的互通

1.docker run使用-v 绑定一个卷 来实现容器中的目录与本地某个目录的联通,这样可以让容器中的数据在容器销毁之后仍然可以被保留下来。下面是一些基本的步骤: 创建一个本地目录,用于存储容器中的数据。例如,我们可以在本地创建一…

Altium Designer中如何在顶层中添加对应端口

转载说明: 大众深度科普 https://jingyan.baidu.com/article/c33e3f4889f327ea15cbb584.html 版权归原作者所有;感谢原作者的分享; 转载到此,主要为了后期查看方便; 本经验简要介绍Altium Designer中如何在顶层中添…

字符设备驱动开发实验

我们以 chadev 这个虚拟设备为 例,完整的编写一个字符设备驱动模块。chadev 不是实际存在的一个设备,是为了方 便讲解字符设备的开发而引入的一个虚拟设备设备有两个缓冲区,一个为读缓冲 区,一个为写缓冲区,这两个缓冲…