程序员分几个段位?每个级别应该会什么内容?

半世苍凉 提交于 2019-12-26 10:26:05

【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>>

程序员主要分三个级别。

初级程序员:能够独立完成一个项目。

中级程序员:能够了解一些框架的原理,做出一些改进和优化。

高级程序员:能够写一些框架,或者是一个新的语言。不管是算法搜索还是网络安全或者是某种新的语言原理,可以自由把框架两个字替换。

说三个级别前,还有一个级别要说下,即不入流程序员。

为啥说不入流?因为有很多人认为自己学了点多态多线程就已经是一个程序员了……

其实数据结构,算法理论,数据库,计算机网络这几门课非常非常非常重要。重要到什么程度呢,这是程序员对于一个世界认知的开始,也是基础,底蕴积累的越好,以后的成就越高。

然后就是所谓的面向对象,或者是函数式编程的语法什么的。这些东西真的不算啥,会点语法跟会写代码完全是两个概念。

 

初级程序员

 

初级程序员的定义是可以独立完成项目。这一个定义就秒杀了大概无数个工程师,很多人工作三年到五年也就是一个初级程序员而已。

能独立完成项目,就需要懂好多东西了。从业务的角度来说,要懂很多业务逻辑,能够理解并且抽象成模型转换成代码,要会测试,要会发布,要会改Bug,要懂版本管理,要知道代码规范。还需要懂一些框架和简单的基本原理,以及团队规范和协作的内容。这些东西是很多培训机构教不了你的,七八流的公司不但教不了你反而会让你误入歧途的。

 

中级程序员

 

中级程序员就是一个公司里的骨干了。小组Leader或者是架构师或者是老油条。眼里冒着精光头顶秃了一半的样子。

他们项目经验丰富,也需要带Team,所以需要制订一些编码规范,开发流程。有时候嫌弃哪个框架不好用了,还需要自己改一些源码。

通过对这些框架的原理都要了解的比较深入,各种算法和原理了如指掌。不同的框架选型和应用场景应该是心知肚明。

当然有一些人并不是这样,喜欢总牛角尖,永远不知道什么时候该用什么事,往往是为了解决一个简单的问题引入了一堆复杂的技术最后反而成了专家。

设计模式和架构的东西是必须要懂的,很多时候都已经在考虑的是扩展性和兼容性。怎么样把程序和架构做好。

高级程序员

 

这是比较稀少的物种。世界顶级的程序员才称得上,众多开源框架的造物者才配得上高级程序员的名号。

他们对各种底层的协议和原理都比较了解,甚至本身就是某种协议的起草者或发起人。我甚至都没见过这些人。

所以也不用关心这些人怎么样了,基本上都不会轮到你。

怎么样?你属于哪个级别呢?

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!