后端开发工程师的生命周期

  • 1 职业发展方向:
  • 标准:需要不断学习、主动思考、不断锻炼、多提问
  • 技术专家:三年、五年、八年的时间节点
  • 2 后端学习成长路线
  • 2.1 后端技术图谱
  • 2.2 Go语言技术图谱
  • 3 个人精进的思路
  • 1、计算机基础 + 算法(持续积累刷题刷思维)
  • 2、语言基础
  • 3、数据库
  • 4、第三方组件
  • 5、单机———多机,存在一个分布式的问题
  • 6、高并发高可用微服务


1 职业发展方向:

大体确定职业路线:技术管理、技术专家、项目/客户经理、技术转测试


标准:需要不断学习、主动思考、不断锻炼、多提问

  • 经验总结、笔记积累,最好是把自己的总结整理好————>参考建立一个网站,类似https://pdai.tech/
  • 知其然知其所以然,即便当下用到的只是简单的东西,但简单也能思考很多,避免只做CRUD,毫无不可替代性
  • gin框架,如何实现router的绑定、整体框架结构是怎么样的
  • xorm框架框架结构是什么,代码结构如何,如何实现字段的识别绑定,如果字段重复如何应对,要设计一个类似的框架,需要考虑哪些要点?从哪些方面进行实现?同类的框架有哪些?之间的差异是什么?优势劣势比较,实现方式差别
  • mysql的事务是如何实现的?不同数据库的使用是否掌握、熟悉?
  • 技术基础能力
  • 除了整体的开发逻辑,还有里面的具体实现细节需要不断积累
  • 考虑前后端的数据关联,识别唯一性防止重复提交
  • 什么时候需要开启事务
  • 什么时候需要异步操作,http的超时时间是60秒,超过就会报超时错误,肯定需要尽快的返回结果给前端
  • 日志的合理使用,debug的调试
  • 快捷键的使用,提高code效率
  • 实现方案需要多考虑可能会出现的情况,不能只是实现单纯的实现需求,5W2H法
  • 学习go语言的技术栈,工作内容安排、时间安排、学习安排,有意识的去分配
  • 平常工作时间的调剂,抽空出来学习
  • 周末时间的安排,至少抽出一天时间用来个人学习,
  • 极客时间课程学习,保证每天的学习
  • 刚出来工作需要多学习,越往后人越懈怠

技术专家:三年、五年、八年的时间节点

  • 三年:
  • 能仿造现有开源框架,自己开发类似框架
  • 开发能力独当一面,能独立承担一个中小项目的开发,需求对接、开发、上线、维护…
  • 开发技术的广度,对go语言相关的技术栈都有广泛的了解,能熟练的使用,对某些内容有较深入的研究
  • 尤其是分布式、微服务这部分的内容,要多了解
  • 五年:
  • 技术不仅要有广度,也需要有深度。深入的去了解实现原理,内部结构,相关技术的对比
  • 对某一些内容有非常深入的了解
  • 八年:
  • 架构师

2 后端学习成长路线

2.1 后端技术图谱

路线图谱

职业发展 后端 架构 后端工程师成长路线_数据库

2.2 Go语言技术图谱

go语言后端开发工程师路线

职业发展 后端 架构 后端工程师成长路线_微服务_02

3 个人精进的思路

应对要学的东西太多,解决无处下手


1、计算机基础 + 算法(持续积累刷题刷思维)

2、语言基础

  • 基本语法
  • 集合类:数组、切片、map
  • 协程
  • 内存

3、数据库

  • 基本数据库:mysql
  • 涉及缓存:redis
  • 消息队列 :kafka

4、第三方组件

  • 网络组件:gin,设计思想、源码实现,手撕实现简易框架
  • 数据库组件:xorm、gorm,比较区别、内部实现
  • GRPC
  • apollo,实现原理
  • 会用只是最低级的,要多问为什么
  • 一个一个组件看内部的原理、实现

5、单机———多机,存在一个分布式的问题

  • 分布式锁
  • 跨服务调用
  • 数据同步

6、高并发高可用微服务