Java程序员必备哪些技能? 有哪些提升的空间?对于程序员的成长,我们一般可以分为三个大的阶段,一是初级(0到3年);二是中级(3到5年);三是高级(5年以上)。这其中不仅仅需要的是时间的锤炼,还有技术上的提升。
阶段一:初级阶段。
这个阶段的学习可能是科班出身的学生在本硕博阶段完成的,也可能是半路出家的学生在线下IT教育培训机构中和线上教育平台上完成的。这部分教育内容是基础性的,体系也比较成熟。
技能:我们知道如何团队协作、如何使用项目管理工具、项目版本如何控制、我们写的代码如何测试如何在线上运行等等,积累了一定的开发经验,也对代码有了一定深入的认识,是一个比较纯粹的Coder的阶段。
心态:在学习过程中,和老师做过一些小项目,自认为自己很牛,那个时期的我们,压根不知道自己不知道,还以为自己懂很多,现在想起自己以前就好笑,那个时候还算不上程序员,顶多只能算是个业余编程爱好者。
表现:假自信、过度承诺、满口我能行没问题、看不起其他程序员….。
阶段二:中级阶段。
这个阶段一般是程序员开始工作之后,他们需要在不同的项目中掌握进阶技能,并逐渐确立自己的专长,程序员在职级上升的过程中要掌握一些专业技能,程序员会有意识的去学习。
技能:这个阶段其实更像一个分水岭,些人在三年里,除了完成工作,在空余时间基本不会研究别的东西,这些人永远就是个Coder,年纪大一些势必被更年轻的人给顶替;有些人在三年里,除了写代码之外,还热衷于研究各种技术实现细节、看了N多好书、写一些博客、在Github上分享技术,这些人在五年后必然具备在技术上独当一面的能力并且清楚自己未来的发展方向,从一个Coder逐步走向系统分析师或是架构师,成为项目组中不可或缺的人物。
心态:工作三四年后,自己的技能逐步提高,成为了项目组的技术大拿,这时候也很自信,知道自己能够解决遇到的一般问题,这时候就是中级程序员阶段了。
表现:自信、比较客观、真正承诺、有点自我…
阶段三:高级阶段
在这个阶段一些程序员脱颖而出,开始带团队的阶段。这个时候程序员需要的是一些宏观层面的学习内容。
技能:有些人必然成长为一名对行业有着深入认识、对技术有着深入认识、能从零开始对一个产品进行分析的程序员,这样的人在公司基本担任的都是CTO、技术专家、首席架构师等非常关键的职位。
心态:工作多年后,随着自己知识的深度和广度的提高,越学发现越不懂,有时好觉得自己以前真是浪费了太多时间。虽然觉得自己还有很多需要提高,但是对工作中遇到的问题基本没有解决不了的,这个时候很多知识都自成体系,解决问题也有了自己的潜意识,有时连自己都不知道自己知道,这时候属于高级程序员级别了。
表现:开放、主动、好学、谦虚…