你好,我是一个做java1年多的菜鸟,最近面过了一家公司因为钱很多就去了,但是做的是erp 的项目,就是在已有的开发框架上去拼装用的是uap开发和以前用开源框架去开发感觉差好多,怕干了几年就废了,我是应该坚持下去,还是刚干一星期就跑路,求大佬解答,谢谢。
一个星期过去了,不知道你有没有跑路……
其实啊,这个问题我没法给你答案,因为,怎么选择,和你的职业价值取向有关。
所以,我先说说程序员职业发展的一般性规律,然后,你再结合你的价值取向,做出你的选择。
接下来我们先说生涯发展理论,然后再针对程序员划分阶段。
舒伯的生涯发展阶段理论
美国著名的学者舒伯提出了生涯发展阶段理论,将个人生涯划分为成长(0~14)、探索(15~24)、确立(25~44)、维持(45~65)、衰退(65+)五个阶段。
其中探索阶段又分为暂定期(15~17)、转移期(18~21)和试行期(22~24)。你应该处在试行期这个阶段:刚走出校园,参加工作,开始从事某种职业,并探索其是否能够成为自己的长期职业。在这个阶段,两个关键任务,一个是探索方向,一个是快速积累专业技能。
确立阶段分为修正期(25~30)和安定期(31~44)两个子阶段。
一般来讲,到了修正期,个人会在所选职业中安顿下来,重点寻求职业及生活上的稳定,此时的表现往往是工作上成了团队骨干,有了小家庭,或者开始组建小家庭。
到了安定期,31~44岁的时候,职业发展方向已经非常明确,致力于实现职业目标,为确立与保持地位而竭尽所能。对大多数人来讲,这是最富创造力的阶段。
看我文章的人,很少超过 44 岁的,后面的阶段暂且不提。有感兴趣的,可以文章后留言哦。
程序员职业发展的四个阶段
参照舒伯的生涯发展阶段理论,我们可以把程序员的职业发展分为四个阶段:
22 ~ 24,试行阶段,此时最主要的任务,是探索“软件开发是否适合我?”、“什么技术栈适合我?”、“什么领域适合我?”这三个问题的答案。同时要在专业技能上打好基础,能够掌握一两种编程语言,熟悉一个技术栈,可以胜任别人安排的一般复杂度的任务。
25 ~ 30,确立阶段,此时最主要的任务有两个,一是在探索的基础上,选定一个技术领域,深入积累,形成自己的优势标签,比如有的人成了自己团队里的Spring Boot专家,有的人成了自己公司的Golang布道者,有的人吃透了业务技术也很赞;二是探索自己未来的发展方向,是走技术路线,还是走管理路线。这个阶段的后期,我们要能够理解业务和架构,有设计思维,变得和前一阶段不一样——我们得有负责较负责模块的能力,能够指导处在前一阶段的程序员。
31 ~ 40,安定阶段,此时无论你走技术路线还是管理路线,方向都应该比较明确了,主要任务就是全情投入,积累优势,形成地位。走技术路线的,成了某一方向的专家;走管理路线的,成了架构师或中层管理人员。这个阶段,做得好的,能够拎得起一个项目了,无论技术、业务、架构、管理,都能搞得定。
41+,保持阶段,这个阶段的首要任务,是竭尽所能保持自己的地位和优势。做技术的,要继续深挖,将影响力从小团队扩大到公司、从公司内扩大到公司外,同时也要提升高度和宽度。做管理的,要提升管理能力和领导力,从带小团队到带大团队,从管一个项目到管理项目群,从带一线执行者到管理基层管理者。
注意一,每个阶段都会影响后面的阶段。假如你在确立阶段没有做好,一直没完成探索,没找到方向,来来回回换,那你的确立阶段就很难立起来,肯定会接着探索。假如你在确立阶段没立起来,那后面就很难安定……
注意二,从第2个阶段后期开始,我们要关注专业技术之外的东西,比如技术,比如管理、沟通、演讲、规划、产品等等通用能力。因为职场后期的天花板,往往是因为缺乏通用能力造成的。
你的选择
最后,我们来说你的问题。请先回答下面2个问题:
如果只能选一个技术栈深入挖掘,你准备选哪些语言、框架的组合?
三年后,你还愿意使用用友的UAP框架做ERP系统的二次开发吗?
三年后,你所做的产品或服务,在哪个领域?
如果你对第1个问题的答案里,没有ERP、UAP这些东西,第2个问题的问题的答案是“不愿意”,第3个问题的答案不是ERP,那就现在离开哦。