
开始 > 完成 > 完美
<!-- more -->
如果是说初期想入行的话,感觉最佳实践就是 B 站找一个培训班课程开始上手,写一行见到一行的效果,才有动力开始和坚持。
如果是说一步步成为大佬的话,一个可能的最佳实践也许是把北大飞猪整理的名校课程资源好好啃一遍,希望我以后有这个时间和兴趣吧,哈。
[CS自学指南 (csdiy.wiki)](https://csdiy.wiki/)
- 第一阶段,crud boy 调包侠,只追求把业务流程串起来完成各个需求,脚本式开发。代码风格较随意,无容错告警监控意识。系统裸奔,逐步形成烟囱式难维护的大泥球。不直接和业务沟通,主管分配任务专心写代码。
- 第二阶段,意识到系统生命周期最长的是维护期,可读性很重要,开始注意代码风格,[设计模式](设计模式)使用,有些面向对象思维。并上监控告警容错能力,但是没有成体系。系统设计仍是优先数据库思维,并且系统基于需求进行迭代,而需求是个性化不稳定的,导致系统跟着需求走,逐渐腐化。独立负责需求,和业务方基于需求维度沟通顺畅。
- 第三阶段,知道分布式系统设计的套路,知道关注系统的性能,可用性,可扩展性,一致性,资源占用率等。关注系统指标并且持续运营。知道技术选型对比,并能根据业务现状和增量情况,给出最合适设计方案。设计思维变为领域驱动设计,以系统建设平台能力来支撑需求接入,让个性化不稳定的需求来依赖平台化稳定的系统,而不是相反。基于平台能力,评估需求是否合理,对于排期许诺慎重。
- 再往上的阶段就是软实力的提升,在把事情做成落地后,做自己的技术影响力,内部赛马,把自己负责的盘子搞大,争取资源。