国内很多程序员都喜欢在简历上写上掌握某某语言,或是面试时说自己精通XX语言,其实我个人是不推荐在简历上写了解, 熟悉,掌握,精通这种八竿子都摸不着边的东西。难道从事了三年java或是五年Python就算是精通了吗?还是在经过面向对象到线程,再到框架等学习之后就算是掌握了呢?
那么,到底一门语言学到什么程度才能叫精通?这里我们按照程序员的水平分为了六个层次。
第一层,从未听说过,所以简历上你根本也不会写,但是确实有很多东西是你未曾听过的,此层灰色。
第二层,身边的朋友,或者是同事用到过,但是你并未使用过,这些东西在简历上写出来,意义也不是特别大,反而是在跟面试写聊天的时候,扯一些是没问题的,可以当成是视野开阔,此层白色。
第三层,自己在项目中使用过,但是并不太了解原理,这是在简历上可以写的,项目中用到了什么什么什么什么什么,往往也是会的最多的技能,此层绿色。
第四层,自己使用过,而且熟悉原理和实现方案。这是需要在简历上单独拿出来重点说的。比如说,Jsonp的跨域原理,一致性哈希是什么鬼等等。这也是有可能跟面试官聊的比较深入的,也是最能证明你对知识掌握深度的,此层蓝色。
第五层 自己不但用过,还知道原理,还改过源码,这是资深的工程师专属技能,根据自己的业务需要做一些扩展和定制改动,这是最能让面试官惊艳的,此层紫色。
第六层,整个框架都是自己写的。比如说我们当年封装好的一套DAL框架,以及做SNS依据Facebook自己实现的一套第三方标签库,包括我们自己写出来的一套代码生成工具等等。这些更是你到了新公司的价值所在,此层橙色。
下图为业界数十位技术大牛一起联手整理的初级工程师的岗位技能树,用的就是六色描述法,可以打开看看实际的例子。
我自己是一名大数据架构师,目前辞职在做线上教育大数据讲师,每天都会直播分享免费公开课,大家可以加群参加。以及我自己整理了一套最新的大数据学习系统教程,包括Hadoop,数据挖掘,数据分析。送给正在学习大数据的小伙伴!这里是大数据学习者聚集地,欢迎初学和进阶中的小伙伴!加QQ群:584900118