软件开发职业发展规划与建议

2,264 阅读3分钟

本篇的目的

结合多年的开发经验和管理经验,大学毕业刚入行的同学一些建议,只代表个人观点,不恰当之处请忽略。

计算机软件开发的三个阶段

计算软件开发,按照工作经验的积累大体上可以分为三个阶段:应用研发,组件开发,架构师。在每个阶段需关注的侧重点不同。

  1. 应用研发
  • 理论知识掌握
    一般来说都是从应用研发开始做起,学校毕业后,大部分人都是学习了一堆理论知识,可实践的场景较少。
  • 资深工程师的蜕变
    在这个阶段,通过业务开发,逐步理论结合实际,熟悉开发框架中用到知识点,不断的学习积累,慢慢的成长为资深工程师。
  • 业务领域专家
    学习相应业务领域的知识,成为技术&业务的方面的专家,探索更多技术服务于业务的场景。
  1. 组件研发
  • 迷茫期
    当业务研发经验积累到一定程度,掌握了大部分高并发,数据库,缓存等相关的知识后,大部分人会比较迷茫。
  • 突破
    这个阶段可以尝试学习各种开源项目,并学习其中的设计思想和算法。对日常技术点进行提炼,封装,形成组件即各种轮子。
  • 技术专家
    对底层原理及技术深度有追求,可以往这一方面发展。如果有更好的业务知识,探索更多技术引领业务的场景。
  1. 架构师
  • 架构师是什么
    架构师是一个人,也可以是一个团队,负责在整个项目中对技术活动和技术说明进行指导和协调。
  • 架构师硬实力
    技术功底扎实,从计算机底层,网络,设计模式,到数据库与高并发编程,及各种中间件技术,常用的解决方案,都要有一定的理解。
  • 架构师软实力
    具备良好的沟通及项目管理能力,这个阶段,写代码不再是主要工作。
  • 一些建议
    系统学习系统设计的各方面知识,同时关注最新的技术及架构演变,形成自己的方法论。
  • 路漫漫
    努力坚持,剩下的交给时间。一个合格的架构师,可以很轻松成为一个合格的管理者。

职业生涯的一些建议

  • 语言
    不要把自己限制在一门语言里面,语言会限制你看问题的高度。尽量走出自己的舒适区,多学习一门语言,可以看到不一样风景。
  • 敬畏
    不要盲目自信自己的代码没有问题,要自我审查和总结。
  • 学习
    多读书和学习,逆水行舟,不进则退。
  • 锻炼
    高强度脑力工作下,别忘了锻炼身体,身体是自己的。
  • 同理心
    学会换位思考,站在不同的角度看问题,有时候问题可以大事化小小事化了。