现在经常在打羽毛球,羽毛球等级森严,级别差太多根本没法打,只要差上半级,差的这边肯定打不过,差上两级,双方就没有体验感。有一位名叫「波澜不惊」的网友写了个很好的「业余羽毛球等级说明」,对级别的描述很精确,对每个等级具体需要掌握什么技术与这个等级的特点写得很清楚。
我作为软件后端工程师,虽然我们也有初级/中级/高级工程师的划分,但每个级别具体需要掌握什么,界限往往很模糊。我就在想能不能像羽毛球等级一样,也做一个「后端工程师等级说明」?这样既能认清自己的水平,也能更有针对性地进步。
2025 业余羽毛球等级说明

两个等级之间的映射
对于业余羽毛球初学者来说,正常的学习顺序是技术 -> 脚步 -> 球路 -> 体能,对应后端工程师,我将其它映射为技术 -> 业务 -> 架构 -> 兴趣。
羽毛球技术:握拍 / 发球 / 正手高远球 / 反手高远球 / 杀球 / 吊球,映射为后端工程师技术:编程语言 / 框架 / 数据库 / 缓存 / 中间件 / 容器化。其它一些技术如「勾搓扑挑」等映射为对工具的掌握,如「IDE、Linux Command、Git、Maven」等
后端工程师等级说明
0.5 级:刚接触编程
对应羽毛球室外打球阶段,核心特征是会刚接触编程。对 IDE、Git、Shell 等工具几乎陌生,只能照着教材输出“Hello World”,还分不清接口、数据库、部署之间的关系,只求代码能跑起来。
1.0 级:会点编程语言
对应羽毛球会握拍阶段,核心特征是会点编程语言。开始使用 IDE,能写变量、条件、循环、集合等基础特性,偶尔能写出小算法,可以照需求描述实现简单脚本或 demo,对数据库、缓存等还不太了解。
1.5 级:会使用框架
对应羽毛球会发球阶段,核心特征是会使用一种基础框架(如 Spring Boot)。开始理解接口开发的 POST GET 的区别,了解 Maven 命令,还不太会写数据库 SQL,还不能进行简单的业务开发。
2.0 级:初级工程师(大学毕业生水平)
对应羽毛球会打高远球阶段,核心特征是会能在指导下完成简单需求开发。会使用 MySQL 数据库,会写一些简单的 SQL,会使用 Git 。了解 MVC 开发,理解 ORM 等概念。能在指导下完成简单需求开发与 bug 修改,对表结构、用户登录原理与 Session 机制有初步认识。这个阶段更多是编码实现,也开始建立自己「实验室」通过 demo 代码实现各个技术点。
- 「大学毕业生水平」:我觉得是一般计算机专业刚毕业的学生就差不多这个等级
2.5 级:初级工程师+
对应羽毛球小对抗、会挑球 / 偶尔会吊球阶段,核心特征是能在指导下完成小模块开发。技术上熟练使用主力语言、框架、MySQL 关系数据库,会使用基础的 Linux 命令,理解 Git 原理。可以写简单 CURD 增删改查代码,但 Bug 较多。
3.0 级:中级工程师(高水平大学毕业生)
对应羽毛球小对抗、会杀球 / 吊球阶段,核心特征是能在指导下完成中等模块开发,能独立完成小模块开发与设计。技术上会使用常用中间件,会用缓存 Redis,理解 Maven 原理,理解 Spring 框架的核心原理,熟悉 Docker 基本用法。业务上熟悉基本的 API 设计,可独立设计 API;熟悉数据库设计,可以独立设计数据库表;有一定业务抽象能力,可以将简单业务抽象为数据库表结构与 API,会写单元测试;理解用户登录原理。开始形成以完成一个让别人 / 用户来用的比较完整的软件功能为主的「工作室」。
- 「高水平大学毕业生」:在学校学得好的,大学刚毕业就直接在这个等级
3.5 级:中级工程师+
对应羽毛球中对抗、会反手高远球阶段,核心特征是能在指导下完成中大模块开发,能独立完成中小模块开发与设计。技术上熟练使用 Redis,熟练使用常用中间件,如 Kafka。具备初步的业务设计模式意识,不只是按需求实现,开始理解业务需求背后真实的意图,可以指出需求中问题,帮助需求闭环。知道需求的优先级与重要性,合理分配精力与时间。开始对安全编程有一定想法与实现,代码不只是考虑功能实现。 开发的功能维护性在中等水平。可以快速定位独立解决中等难度的技术问题。开始建立起来对自己技术的自信。
4.0 级:高级工程师
对应羽毛球中对抗、普通大学校队水平、掌握各种杀球/吊球的阶段,核心特征是能独立完成中等模块功能的设计与开发。技术上掌握部分中间件原理,掌握 Docker 容器化原理,阅读过其源码。掌握数据库、Redis 关键机制。业务上可以快速的熟悉与理解新业务,并完成从需求分析、方案设计、编码上线工作。写的代码质量好,bug 少。开始在团队内形成个人影响力。开始建立自己的「工厂」,相比「工作室」,「工厂」有一整套的规范和标准。
4.5 级: 高级工程师 +
对应羽毛球大对抗、普通大学校队主力水平、会跳杀的阶段,核心特征是能独立完成大模块功能的设计与开发,独立解决复杂技术问题。技术上掌握中间件核心原理,从源码上理解。写的代码 Bug 非常少。各种业务系统的实现方式都已掌握,编码熟练使用各种设计模式,业务实现简洁但稳定,实现不仅考虑功能还兼顾安全,能承担核心技术攻关。开始发现现有架构的不足。这个等级需要掌握计算机基础知识,不然到不了这个级别。在团队内形成稳定的个人影响力。
PS:羽毛球技术的核心是通透的发力,后端工程师技术的核心我认为是计算机基础。发力可以分为:手指发力、手腕发力、内旋发力、鞭打发力、腰腹发力、全身发力。计算机基础可以分为: 计算机组成原理、Linux 操作系统,编译原理、网络原理、数据结构与算法等。业务球友不掌握发力,可以到 4.0 级,但绝对到不到 4.5 级。同样,我认为后端工程师不掌握计算机基础可以到高级工程师,但绝对到不了「高级工程师 +」这个等级。
5.0 级:技术专家
对应羽毛球大对抗、普通教练水平阶段,核心特征是可以根据需要修改、扩展、优化架构。高级工程师主要是在已有的架构框架下完成设计,而技术专家会根据需要修改、扩展、优化架构。各种技术运用自如,熟练运用各种技术完成业务开发。并且有一两项突出的技术,比如对 Redis 的研究非常深,给它贡献过核心代码。可以快速定位独立解决很复杂的问题。独立开发与团队配合都很好,几乎是没有 bug 的。系统安全做得好。在团队内形成极强的个人影响力
6.0 级:初级架构师
对应羽毛球比赛级、地区普通组冠军水平阶段,核心特征是独立完成一个系统的架构设计。可以是从 0 到 1 设计一个新系统,也可以是将架构从 1.0 重构到 2.0。初级架构师负责的系统复杂度相对来说不高,例如后台管理系统、某个业务下的子系统、100 万 PV 量级的网站等。6.0 级别要么初级架构师,要么就是技术 leader,可以带一个小团队,开始有团队影响力。
总结
做这么一个等级表不容易,涉及不少东西,写了很久,但水平有限,可能不太准确。本来让 AI 写,不太满意,全部手敲。后面可能不定时更新这个等级表。
后端工程师依次提升的 4 维度是技术、业务、架构、兴趣,而针对全栈工程师(独立开发),4 个维度又不太一样,我认为是技术、产品、需求、推广。每个职业都有自己的 4 维度划分。
还有一点小感受,学习计算机技术与学习羽毛球技术一样,关键是要有成就感,要有瘾,也就是正反馈,所以这就是需要有正确的方式与路线来学习,每个人情况不一样,需要找到最适合自己的方式与路线。