# Hey there! 👋 2021版,开发者学习路线图分享!

作者:小傅哥
博客:https://bugstack.cn (opens new window)
原文:https://mp.weixin.qq.com/s/HyMzm9omIoIGz_bdKmL5Xg (opens new window)

沉淀、分享、成长,让自己和他人都能有所收获!😄

# 一、介绍

Hey there! 👋 Roadmap to becoming a web developer in 2021

前端、后端、运维,如果你不清楚自己要从哪开始,下个阶段要学什么,到哪里算是结束,可以参考下 Kamran Ahmed 整理的 Web 开发者 2021 版最新的学习路线图。

以后端学习举例,这里包括你从接触互联网的基础内容开始,了解一部分如HTML、CSS的前端语言,之后学习操作系统的相关知识,并逐步转为后端语言学习,这包括你开始选择Java、C#、Go等,当一门基础语言掌握了以后,也就要逐步的开始提交你的代码,无论是工作需求还是个人积累代码,都会用到代码开发版本控制器的使用,以及你会发现GitHub这个神奇的网站。当你有了语言的编程能力,那么就要开始接触一系列用于存储数据库的技能学习,包括:关系型数据库和 NoSql 数据库已经缓存的应用,甚至可能你还会深入的研究如 Mysql 的内核和原理。接下来你的代码会经过测试、调试、验证、持续继承上线,以及验证它们是否安全可靠。此外你会慢慢的接触到真正的有价值的代码要在设计模式和系统架构的框架下进行开发,以及学习这西相关技巧,并且再也不只是单一的应用开发,还会用到分布式架构的相关技术,如:MQ、RPC、分布式任务、分库分表组件等,之后是对于这样大量应用的部署,可以运用容器化的能力,简化部署和提升弹性。可能一部分有特殊需求的研发还会涉及到学习图形数据库,WebSocket 等各项能力,在这个过程中也会涉及到一些运维知识,来侧面提升你的代码研发能力。

当然这还不是结束,甚至可能永远没有结束!

# 二、学习路线

# 1. 前端

# 2. 后端

# 3. 运维

# 三、学习资料

# 1. 技术内容

如果你对以上的学习路线有了较清楚的认识,但可能自己不好容易找到这些资料,那么可以参考我整理好的学习内容,包括对初学编程,大一、大二、大三、大四以及毕业了工作了几年后,都应该找什么样的资料学习的一个汇总。按照不同阶段的学习范围把资料分到不同的文件夹去,方便所处不同阶段的读者可以有一个相对准确的学习范围。

img

# 2. 实战内容

如果你已经跨过了初级阶段,需要做一些实践型的项目,可以关注下我的Github,如下:

img

  • 内容:本代码库是作者小傅哥多年从事一线互联网Java开发的学习历程技术汇总,旨在为大家提供一个清晰详细的学习教程,侧重点更倾向编写Java核心内容。这部分资料也是我所写博客中实践项目的源码,在这里你可以学到Netty、字节码编程、设计模式、领域驱动设计、规则引擎、面试、架构以及职场经历的分享。
  • 地址https://github.com/fuzhengwei/CodeGuide/wiki (opens new window)

# 四、总结

其实我们都是在经历着这样的一个学习阶段,时不时的就会到达某个不好突破的瓶颈期,就像:

  1. 刚到公司理解不了项目插不进去手。
  2. 能写一些代码逻辑了,但总感觉写的不好。
  3. 设计模式慢慢用上了,但好像对整体架构又不太清楚。
  4. 能游刃有余的接项目了,又感觉自己好像就是一个CRUD工具人,没有技术深度。
  5. 想着要去扒开各种技术组件的源码看一看,但好像又有些看不懂,单个代码都懂,放一块不知道啥意思了。
  6. 撸了一些源码后,又没多久就忘记了,很难把这些技术内容结合到一块去。
  7. 开始尝试着做技术迁移,把在源码里学到的数据结构、算法逻辑,开始逐步用到自己的业务项目中了,感觉实现起来的逻辑有些深度了。但好像没有技术高度和全面的整合能力。
  8. 开始做整体的架构设计,把代码逻辑转换成图和文字,总感觉不知道从哪下手描述,描述出来的东西,讲完了听众都没有啥反应。
  9. 技术调研、经验积累、编写文章、提升影响力,一点点慢慢的平心静气的沉淀自己,是你接下来要完成的事情。
  10. 路还很长,要铺宽度,也要挖深度,要懂得沟通,也要协调人员,不只是研发视角,还要有业务思维、产品逻辑、运营能力。

所以,我们要不断的去铺设自己的技术栈,做有成体系和有深度的学习,并把这西学到的能力运用在项目开发中,也要记录笔记整理资料,慢慢的才会形成自己一套完整的抗打的技术广度和深度。