技术成长的思考

初级程序员的成长路径

刚入行的程序员,最重要的是打好基础,提升代码质量。以下是一些建议:

  1. 扎实的编码功底

    • 不断review和学习别人的代码风格。
    • 学习设计模式,提升代码的可维护性。
  2. 主动发现和解决问题

    • 使用阿里巴巴规约插件和sonarLint插件扫描代码。
    • 抽象重复代码,提升代码的复用性。
    • 注意字符串判空、列表判空等细节处理。
    • 合理处理异常,明确异常处理的场景。
    • 写好注释,帮助自己和他人理解代码逻辑。

总结:刚入行,刚开始不要想着要提升这,要提升那,写好代码,少BUG才是王道。


3-5年程序员的成长路径

在这个阶段,你应该能够独立完成模块开发,从数据库设计到接口定义,再到开发和联调。以下是一些建议:

  1. 提升代码能力

    • 独立完成模块开发,减少对外部指导的依赖。
    • 熟练运用各种中间件,搭建脚手架工程。
  2. 阅读相关书籍

    • Think in Java(Java编程思想)
    • Effective Java(高性能的Java)
    • 设计模式
    • 周志明的Java虚拟机

总结:这个阶段你的目标就是一个成熟的程序员,知道怎么写代码,知道怎么解决自己的问题。


6-8年程序员的成长路径

在这个阶段,你应该考虑成为架构师或技术经理。以下是一些建议:

  1. 技术的广度

    • 了解各种中间件的使用场景和区别。
    • 学习不同框架和技术的优缺点。
  2. 技术的深度

    • 关注解决方案和最佳实践,学习业务结合的技术实现。
    • 阅读优秀技术博客,学习实际业务中的架构设计。
  3. 业务理解

    • 理解技术与业务的关系,设计符合业务需求的架构。
    • 评估技术方案的成本和可行性。
  4. 模型设计与画图能力

    • 理解领域模型、逻辑模型和物理模型。
    • 学会画流程图、时序图、应用架构图和物理部署图。

总结:6-8年的程序员你一定要想办法实现跳跃,可能是技术跳跃,可能是管理跳跃。这些跳跃可能需要等待机会,但是一定是需要你做好准备。将军不打无准备的仗,如果你这些都没准备好,如何指望别人把机会交给你呢?