首页 > 其他分享 >2023全栈开发人员职业路线图

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

时间:2023-05-06 15:11:23浏览次数:48  
标签:开发人员 数据库 应用程序 全栈 API 2023 RESTful

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

标签:开发人员,数据库,应用程序,全栈,API,2023,RESTful
From: https://www.cnblogs.com/icodewalker/p/17377387.html

相关文章

  • 易基因:2023年植物表观转录组研究的最新进展(m6A+m5C)|深度综述
    大家好这里是专注表观组学十余年,领跑多组学科研服务的易基因。被称为表观转录组(epitranscriptome)的RNA修饰正成为基因调控的广泛调控机制。由于绘制转录组范围RNA修饰测序策略的改进,以及分别对沉积、去除和识别RNA修饰的writers、erasers和readers密集表征,表观转录组学领域最......
  • 产品原型21-20230505
                                    ......
  • 云锵投资 2023 年 4 月简报
    2023年4月云锵投资团队月报:摘要本月量化基金策略业绩:中;本月量化股票策略业绩:差;(优良中差,表明全国排名四位分)云锵投资概述云锵量化投资包含量化投基、量化投股。量化投基使用自动化程序进行量化选基。其中包含了多个策略。本集合投资目标是通过选择优质基金,来获取更高的......
  • LeetCode 周赛 343(2023/04/30)结合「下一个排列」的贪心构造问题
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。今天是五一假期的第二天,打周赛的人数比前一天的双周赛多了,难道大家都只玩一天吗?这场周赛是LeetCode第343场单周赛,如果不考虑第一题摆烂的翻译,整体题目质量还是很不错哒。往期回顾:L......
  • 2023/5/5每日随笔
        今天,上了一天课,上了计算机网络,概率论,web应用技术开发,计算机网络学了TCP可靠传输的实现,TCP报文段的首段格式等等,概率论学习了第五章内容,下午web学习了数据库等等的内容,晚上把计算机网络写完了,然后没背单词,时间不够了,而且要复习180个单词太多了,根本背不了单词,就撤了。......
  • 2023.5.5
    1//new在堆区开辟数据,手动开辟,手动释放2#include<iostream>3usingnamespacestd;4//1.new的基本语法5int*func()6{7//new返回的是指针8int*p=newint(10);9returnp;10}11voidtest01()12{13int*p=func();14co......
  • 2023.5.5 《动手学深度学习》第3、4章
    今天继续学习《动手学习深度学习》第3章:线性神经网络、第4章:多层感知机,今天学到的内容主要有这两章的概念,另外,完成了Kaggle房价预测的代码复现(Kaggle_HousePricePrediction.ipynb)。一、理论部分:1、概念解释:超参数:可以调整但不在训练过程中更新的参数称为超参数2、DL操作数......
  • 总结20230505
    代码时间(包括上课):2h代码量(行):30行博客数量(篇):1篇相关事项:1、今天上的计算机网络,简单个事Tcp协议啥的。2、上了概率论课,讲的是大数概率与中间极限定理。3、晚上在安装机器人大赛需要用到的工具。 ......
  • 2023 5 5
    #include<iostream>#include<iomanip>usingnamespacestd;intmain(){inta;cout<<"请输入a:";cin>>a;cout<<"十进制:"<<dec<<a<<endl;cout<<"十六进制......
  • 2023-05-05:给定一个无向、连通的树 树中有 n 个标记为 0...n-1 的节点以及 n-1 条边
    2023-05-05:给定一个无向、连通的树树中有n个标记为0...n-1的节点以及n-1条边。给定整数n和数组edges,edges[i]=[ai,bi]表示树中的节点ai和bi之间有一条边。返回长度为n的数组answer,其中answer[i]:树中第i个节点与所有其他节点之间的距离之和。输入......