全文请见《后端开发学习路径》
软件开发一般是以项目为单位进行,从后端开发的视角看,一个软件项目从提出需求到落地,通常要经历需求评审、系统设计、开发、联调、测试、上线等诸多环节,如图 1 所示。
作为核心岗位的后端开发,仅仅具备“开发运行于服务器端的程序”的能力是远远不足以胜任的。在头部互联网企业对该岗位的职责定义中,普遍要求服务端开发工程师具备业务分析、代码编写、架构设计、技术攻关、团队协作、文档编写、系统维护等综合能力。阅读至此,读者可能会认为如此高要求完全是“内卷”的结果,但从笔者的工作经验来看,这些能力其实也是服务端开发的不同阶段所需的,具体而言,服务端开发可分拆为需求分析、抽象建模、系统设计、数据设计、非功能性设计、编码实现及发布运维等阶段,每个阶段都需要相应的能力作为支撑,其中核心流程如图 2 所示。