我们知道互联网行业分为产品、运营、技术等多个岗位。而技术这个岗位细分之下也能分为开发、运维、测试三个部分,但总的来说他们都被统称为程序员。
程序员三个级别——初级、中级、高级
初级程序员能够独立完成一个项目;中级程序员能够了解一些框架原理做出一些改进和优化;高级程序员能够写一些框架,甚至一个新的语言。
在了解这三个级别程序员的界限与要求之前,先想想程序员一般是来自于哪里,无外乎三个地方,学校、自学、培训机构。
从学校毕业的程序员,普通的应届生虽然学的内容很多,但基本上能够掌握一门语言就算是很好的了,更多的人学完之后大多处于一知半解的状态:
自学的程序员,首先能够学有所成就已经很有自制力了,除了看书就是在网上看一些免费的教学视频进行学习。不得不说的是,自学的程序员是很有学习力的人,但是:
从培训机构出来的程序员,更多的是对某种编程语言掌握充分,但是问题也是只会一种语言。虽然有足够匹配企业用人需求的项目经验,但是除了在学习中会思考的学生以外,大部分的学生在做项目的时候没有自己的逻辑。
随着行业的发展,对于用人标准这块更是拿捏得死死的,初级程序员如果想要获得更高薪的工作,就不得不提升进阶自己,成为高段位的程序员了。
入门的程序员:
这个阶段比初级还要弱一点的阶段,这部分的人一般是很多转行人的学了一点点编程,或者一些大学毕业生只掌握了一些多态多线程。
这类人对于编程只有表面的一些理解就认为自己是程序员,但其实他们才刚刚入门而已,底层东西全然不懂,对面向对象的理解也只是一些基础的语法而已。
初级程序员:
初级程序员的定义起码是可以独立完成项目的。很多人工作了三五年也只是停留在初级程序员阶段,当然工资不会有变化了。
在IT这个领域,不进则退,可能这样的程序员能够在这个行业混个几年,但是也不是长久之计。
能够独立完成项目就需要懂很多东西,从业务角度来看,起码要有逻辑,其次是会测试、发布、改bug、懂版本管理、知道代码规划,最后还懂一些框架和基本原理。
中级程序员:
中级程序员在工作中已经算是公司的骨干了。要求项目经验丰富,也会承担带领团队的责任,还需要会定制一些编码的规范和开发流程,要求高一点的甚至需要会改一些源码。
这也反映了中级程序员要深入的理解很多框架的原理,并且清楚各种算法和原理。除了设计模式和架构,中级程序员更多的考虑的是程序的扩展性和兼容性,或者是如何做好程序和架构。
高级程序员:
高级程序员起码有实际的十年项目经验,对于底层协议和原理都了解,更厉害一点的本人就是某样协议的起草者或发起人。
作为高级程序员,不仅有系统性思维,还要有完整的知识体系,在工作之外还会不断学习钻研技术,形成自己的模型,还可以根据工作需要高效地把自己的知识应用到实际中解决问题。
在任何一个行业,高级的永远是做着轻松的活拿着最高的工资,且不用担心被优化。那么如何由初级程序员进阶成高级程序员呢?6个方法帮助你。
1、