作为一个java程序员,一个良好的学习计划和职业规划是必须的,不然的话,很快就可能会和这个行业脱节,导致到了一个特定的年龄段的时候,出现就业的压力。

学习,肯定是一直贯穿一个程序员整个职业规划的主题,我们就不多说了。我们就只是说说职业的线路规划。

一般来说,作为一个程序员,有两种发展方向。

一种是纯技术线路

Java工程师

我们需要在1-2年的时间,让自己在写代码的时候,能够脱离Google或者书本。当然,脱离并不说就不用了,很多时候,我们还是需要在Google上面寻找解决方案的。但是找到以后,不要直接的复制粘贴,去读别人的代码,了解其中的原理,然后下一次遇到这样的问题,不是再去Google一次,而是能够直接的自己写出来。

一般到了3-5年的时候,我们就算是一个比较资深的程序员了,这个时候,你的技术能力至少要能够上升到架构的层面了,能够一个人完成一个不太复杂的架构工作,并且能够自己开发组件,并且交给其他人使用。

5年以后,可以说很多人都会遇到一些瓶颈,一般来说,这个时候,一些同事可能在你的上升过程中不会有太大的帮助了,还有可能,公司的系统的规模的原因,很多知识其实并不会应用其中了。

这个时候,就主要靠自学了,在课余的时候,自己学习很多框架还有一些理论的知识,然后在开源社区里面,将自己的代码开放出来,并且建立交流的群,让使用你的开源代码的小伙伴给你提意见,不断的自我学习自我提高。

当然,合适的时候,找个大的企业,去实践自己也是很重要的。

这种技术线路的话,最终可能会成为架构师、技术专家。

一种是技术管理线路

Java工程师

在前面的5年,可能和纯技术线路的发展差别不大,只是我们在日常的时候,多注意一些项目管理的方式方法。

然后,在自己的技术到达一个瓶颈的时候,不要纠结自己的技术高度,向横向发展,了解各种技术的优缺点,各种语言的基础知识,然后学习项目管理方面的理论和方法论。

争取能够从一个小的项目组长开始,了解带团队的工作内容,积累经验。

然后,如果可以的话,可以去考一些PMP或者高级项目经理的证书。从技术切入,进入管理序列。

当然,因为你拥有技术,同时有管理知识,其实项目经理这种职位并不是最适合的,技术经理或者技术总监才是真正未来发展的方向。

顺便普及一下,技术总监是一个管理岗位,很少会去写代码的,如果一个公司说招聘一个技术总监,然后你的主要工作是写代码,那么他要的并不是技术总监,只是挂了技术总监名头的程序员。

转型方向:产品

其实很多的小伙伴会选择最终走上产品的这条路。我们都知道,每个人的能力和智力都有不同,做技术,难免会遇到一些瓶颈,有些人可能就跨过去了,但是还有很多人跨不过去。

那产品也就是一个不错的发展规划,当我觉得写代码吃力,或者兴趣不大的时候,就可以考虑转型做产品了。

产品是一个业务导向的岗位,要做好产品,首先要了解业务,并且要去亲身的体验。这样,做出来的才是好产品。