如何才能持续成长,是每一个开发者都绕不开的话题。
你有没有发现,身边总有人成长的特别快,他们的学习与吸收能力就特别强吗?
当你正困惑于技能方向的选择时,他已经掌握了高效的进阶方法;当你还在苦恼于 Bug 的调试与修复时,他已经在独当一面,处理更为复杂的项目了;当你还在思考自己的技术人生,寻求突破和上升,他已经成为骨干,拿高薪带小团队了。
问题的关键是:他是怎么做到的?
你要承认,永远有走在你前面的人,这没什么好丢脸的。但是成功的技术专家不一定都是学霸和工作狂, 开挂的事业与精彩生活并不存在冲突,每一次的痛苦与迷茫背后都是盲目的选择。任何一个所谓的“成功经验”都不是固定的,有时候方法比努力重要很多。注重方法要比生搬硬套靠谱的多。
那么技术人应该如何制定切实可行的个人成长计划呢?
一个人事业上能获得更大的发展,一部分是由于他的专业技术,另外一大部分需要依赖他的软性技能。程序员进阶攻略,给予正在成长阶段的你很多启发与指引,帮助你在发展不顺利的时候不会无能为力,面对打击不仅仅停留在自我贬低,面对阶段性的成长,知道下一步应该如何做出最优选择。
总体来看,能分出几个明显的阶段:启程之处、快速发展、道中彷徨、路在何方、破茧成蝶。这期间见证了互联网电商行业的高速发展,也一路从普通的开发者成长为了架构师。
左侧为成长阶段与职业角色 ,右侧为成长线
如果把专业技能称为硬实力的话,逻辑思维与解决问题的能力、书面沟通能力、领导力统统归为不可或缺的软实力范畴。在越来越多的技术知识课程涌现的今天,很少人意识到思维养成对于技术精进的重要性。
下面我归纳了一下程序员在职业生涯的各个阶段所面对的一些问题
入行之初,困惑于技能选择的多样性和起步的迷茫?
编程前期,苦恼于只能写出大佬眼中Bug不断的垃圾代码?
快速成长期,纠结于无法归纳出自己的学习体系?
进阶瓶颈期,迫切于做出改变、寻求突破和上升?
面对成长断层,面对同事的进步但是自己却于停滞不前、无法跃迁成长?
不管你处于何种阶段,也不管你是学生、初级开发人员、技术主管,或者是架构师,甚至是对程序相关领域感兴趣的人士,都可以利用文中所提及的框架体系和思维方法去践行,一定会有所得、有所获。
1. 工程化
(团队大于3个人之后,你需要去考虑团队合作,科学管理)
2.源码分析
(好的程序员,一行代码一个设计就能看出来,源码分析带你品味代码,感受架构)
3.分布式架构
(跟上技术节奏,扩宽技术视野,程序员要往上提升,要有自己的技术工具箱和技术认知。)
4.微服务架构
5.性能优化