关于本文的缘由,主要是笔者所在的部门都每年都会有一批招聘名额,而一般此时笔者都会被拉苦力,也是因为笔者所处的公司属于传统软件行业,所以笔者在面试时候经常有一种胸闷的感觉。
概述
本文只是列举笔者心中对于年限和相应能力的匹配,因为所在行业和层次,所以笔者不会提及诸如网络协议,算法和数据结构等的要求,力求给出一个不那么飘渺的标准。这里的飘渺并不是说上面提到的东西没用,而是如果本文提到的标准都不满足的话,那就真的就需要反思一下了。码畜这个称号一般只会是自称。
明细
年限 | 能力 | 备注 |
---|---|---|
半年 | 能够自如使用公司技术栈应对自己手上的现有事情。极少再因为技术问题求助于公司的高级研发人员 | 按照笔者这么些年的经验,一个月能够完成本职工作的任务,半年开始从容面对。 |
一年 | 了解并惯用常见的二方库,诸如Apache lang3,guava或者公司内部自研的基础工具集 | 这本来就是用来提高自己的生产率的,没道理不第一时间了解 |
一年半 | 开始有着明确的代码规范意识,并在这半年里开始刻意锻炼自己的代码规范。 | 之前的积累已经可以让你写出代码,这半年的时间应该开始锻炼写出好代码。相关的经典之作无数人推荐,只要有心不会找不到。 |
两年 | Java基础基本得到夯实 | 诸如Object的三个方法的应用场景,Java的集合体系,异常体系等等。现在开始要知道自己写的代码执行时候会发生什么。 |
三年 | 对于SSM框架等源码应该有着主线的了解,能够将这些组件的内部分为单独的模块,而不再是一个完整的黑盒。 | 这一年的时间,结合工作,足够你翻遍这三个工作中必然用到的源码。 |
三年+ | 这一步开始出现分歧,诸如算法和线程,JVM如果工作中不是频繁接触,经常陷入学了忘,忘了学的怪圈。 | 略 |
注意:以上这些阶段并不是完全隔离的,彼此之间应该是相互交融,互为补充。
最后
笔者属于半路出家,在刚迈入这个行业的时候,前辈就一再告诫:一年经验重复十年不等于十年经验。正如JOJO里一再提及的觉悟,年限只是表明你在这个行业里待了多少年,如果想要获得与年限匹配的回报,还是需要积攒出与之相匹配的能力,这就是觉悟——想要得到什么,就必须为之努力。
笔者一直坚定认为每个人都有选择自己生活方式的自由,对于主动放弃更高目标,甘于平和人生的,笔者从来都只有羡慕,因为笔者一直也是想作一条咸鱼。但是对于既喊着待遇太低,又拒绝额外付出努力;哪怕指明了方向,依然不愿向前多走一步,笔者个人是不愿意和其共事的。
最后,借用《Clean Code》里Bob大叔的一句话结尾 —— "多少尊重一下你的技艺,用心是最好的品质"(不由让人想起不少做了四五年,连哪些文件和目录应该置于版本控制工具之下都还没弄清楚的)。