深圳低中高级java程序员,你是什么级别?
深圳低中高等级java程序员,你是什么级别,日常中,程序员的级别,往往根据工作年限进行划分。例如:工作3年以内的,是初级;工作3~5年的,是中级;工作年限更多的,就是高级了。这样简单粗暴的划分,显然是不准确的。更确切地说,我们更希望具有相应工作年限的,应该达到相应的级别。
1.初级程序员-知道有事要做
处于初阶段的程序员,应该把精力集中在专业能力的提升上。由于经验不足,往往并不能很好的完成一样工作,但是,一个好的学习方法,一个好的做事方法,是非常关键的,这些决定了能够决定成长多块、成长多高。
如下几点,是初级程序员常见的现象,如果你身上还有某一点的存在,那还处于初级阶段:
很难提出正确的问题,大多会直接问别人这个功能应该怎么做。如果你清楚地向他解释,他就会完全按你说的去做,甚至你写的示例代码都会copy过去。因为在他们的世界里,只有编译成功和编译失败,任务完成和任务未完成。
经常犯错误,所以会预留过多“弹性时间”,以便有时间在到期日之前重做。所以总会抱怨“没时间”。
对与自己有工作交集的人员的职能没有认识。比如,对测试人员总是充满敌意的,因为他们发现了错误,“阻碍”了自己完成工作。
还没注意养成一些好习惯,比如习惯性的提炼重复代码、编写风格一致的代码、自测等等。
很遗憾,看似很初级的阶段,并不只是刚踏入工作的程序员所属,在实际工作中,也有不少工作多年的人还处在这个阶段。
2.中级程序员-知道如何做某事
对人群按照单一的维度划分,大多数都是符合正态分布的。按照能力给程序员进行级别划分,中级程序员应该是大多数,而初级和高级,应该处在正态分布的左右两侧。
中级程序员已经有了一定的整体意识和观念,但仍然没有把控全局的能力,局限在某个模块、流程上。例如:在工作中能够主导某个模块的开发,对自己的业务有深入的理解,能提出问题并解决问题。
同样可以观察一下周围,中级的开发大多数会这样做事。
针对一个问题,可以提出多个方案,但是无法做出准确的决策。一旦更权威的人给出了他的选择,中级程序员就会不假思索的按照建议执行。
可以看出代码中的一些设计模式,但是自己写代码的时候除了单例和工厂,其它的几乎想不到。
在讨论一些时髦的框架和技术的时候总能聊上几句,但是追问这个框架或者技术有什么缺点,基本说不上来。甚至,草率的在项目中运用上这些时髦的框架和技术,最终导致线上问题频发,不得不让高级程序员来收拾残局。
能够对自己完成任务所需的时间有准确的评估,但是评估他人的时间不会因人而异,也会以自己作为标准来评估。
对与自己有工作交集的人员的职能有了一定的认识。比如,会主动寻求测试的配合,帮助自己交付更高质量的项目。
3.高级程序员-知道必须做些什么
高级程序员不但可以把从1到100的事情做得很好,也有能力带领其它人完成0到1的事情。他们应该明白没有什么是完美的,相反,问题、缺点和风险总是存在的。他们的决策总是站在为了整体的「平衡」角度去考虑,而不是技术的酷炫或者外界流传的所谓“正确的”技术。他们会更多的关心那些不显而易见的东西,如可维护性,可扩展性,易阅读,易调试等等。
高级程序员就好比社会中的成年人,他们踩过足够多的坑,也填过足够多的坑,已经认清了现实的残酷,寻求适合而不是完美。周到、务实、简单,是他们做事的时候强烈散发出的“味道”。
可以根据下面的这些场景来看看你身边有多少“有味道”的高级程序员?
与初级和中级程序员不同,他们抛出问题不是为了正确的做事,而是做正确的事。他们会询问为什么要这样做以及你想要实现什么。当你告诉他们目标是什么后,他们或许会通过暗示这种方式是错误的而另一种更好来做出一些修正;当然,更重要的是还会提供论据说服你。
因为提前明确了做事的目标,所以在动手做一件事的过程中,他会在关键细节思考有没有更好的方法,甚至是那些不在之前的讨论范围的新尝试。
他可以轻松地承认他不知道什么,并且向你请教。同时也可以轻松地向他人讲清楚他所知道的事情。
他们理解合作的人员的职能的作用,不但知道什么时候向谁寻求帮助,还知道自己如何更好的帮助他们。
困难的事交给他们很放心,因为他们擅长的不是某种技术,而是解决问题的能力。他们总能解决那些之前从未遇到过的新问题,哪怕它们很困难。
希望对大家有所帮助,如有疑问,登录动力节点官网,有专业老师随时为你服务。
更多免费学习资料添加微信获取:ZZ19137181462 动力节点官网地址:http://www.bjpowernode.com/
Java培训 零基础学Java Java培训哪家好 程序员培训