能否翻译翻译,到底什么才叫“精通Java” ?
01 模糊的岗位能力标准
技术类人员的招聘始终是令HR 与技术面试官头疼的事。
在一般招聘流程中,当确定了某个岗位招聘需求后,技术面试官会与HR 一同商讨并明确该岗位的画像。
明确画像后,一般HR 会负责在招聘平台书写岗位JD,技术面试官则会准备相应的笔面试题目来考核岗位所要的能力。
但在实际招聘中往往没有想象中那么美好:
(1)HR 在描写岗位JD时,所涉及的能力一般只能写一些比较模糊的描述。
比如在一个典型的Java 岗位JD 中,岗位所涉及的能力通常会被一条条列出,但往往只能看到:
“精通Java 语言”
“熟练掌握SpringBoot 框架”
“精通kafka 等中间件”
“熟悉Linux 常用命令”
“熟练使用MySql 等关系型数据库及调优”
“有较强的逻辑思维能力”等等……
这些用词——“熟悉”、“精通”、“熟练掌握”非常主观并且没有统一标准。
对候选人来说,只要工作年限、学历、开发年限符合标准,大家多少都觉得自己“熟练”、“精通”与“掌握”相关能力,从而踊跃投递。
但这就让负责技术招聘的HR 苦不堪言,毕竟他们又无法判断候选人相关能力的掌握程度。
除了根据硬性要求筛选外,HR 一般会进行简单的面试和笔试粗筛,让许多通过测试但又不合格的候选人进入了面试官的流程当中。
由于候选人不合格,技术面试官只能不断拒绝,HR 又只能反复去跟技术面试官确认不同的候选人,途中耗费大量时间,劳神费力。
(2)对于技术面试官而言,岗位以及相关能力需求,往往是根据实际项目所产生的。
招聘的目的是为了满足实际项目需求,解决问题。
从另一个角度看,技术面试官在实际招聘中也面临着许多困难。
第一,通过HR 看简历,或者简单初面,很难看出候选人的真实能力,所以必须对他们的技术能力进行测评。
但测评的题目如果是照搬网上现成的,就会存在提前刷题的可能性,试题无法反映出他的真实能力。
第二,如果是自己出题,那会耗费大量时间精力,毕竟技术面试官本职工作是项目本身。
第三,即便公司有现成的题目,常见的八股文与算法题面试方法,也很难了解对方某个能力到底是多么“精通”。
比如常见的“SpringBoot”相关题目可能会有:
SpringBoot 是什么?有什么特点?它的核心注解和配置文件;它的启动过程和自动配置原理;常用功能和组件;还有一些最佳实践,比如如何优化SpringBoot 的性能和内存占用等……
这些问题可能都比较偏向理论,跟实际项目的需求有着巨大差别,里面的考点可能还无法对应到具体项目所需要的技能,面试官也只能从候选人的回答中去间接判断他的技能熟练度。
也就是测试的得分,与他是否适合该岗位,没有直接关系。
正如一个人在驾校的理论知识考试里得满分,就觉得他实际上路完全没问题一样。
第四,每家企业会根据自己的岗位能力需求来给岗位定级,但由于每家企业的需求都不同,导致不同企业的岗位职级标准都不一样,技术面试官有很强的主观判断余地。
一家企业的中高级Java 后端开发,可能并不具备另一家企业中高级岗位所需要的能力。
技术面试官在招聘同样职级的岗位时,可能会面临许多自认为匹配,但实际能力并不符合的候选人。
上述种种困难,会给技术面试官带来一些问题,比如前面提到的大量不合格的候选人进入到自己的流程中,浪费了大量的时间来面试。
又比如,会出现我们所说的招聘信效度低下的问题。虽然聘用了该候选人,但他的背景资历、以及理论知识很强,却并不能胜任并满足实际工作中的需求。
以上困难都可以被归因为一点:有清晰岗位画像后,没有统一标准,导致没法考核各项能力。
要解决以上问题,我们需要根据不同岗位级别,以及岗位各项能力的熟练程度,针对性地出题。
02 建立统一标准,搭建测评体系
我们可以分几步来思考。
第一步,是建立一个统一的岗位级别标准来进行参考。
给每一个岗位的职级都定好相应的能力。
比如一个中高级(比如划定为S6 级)的Java 后端工程师,我们可以定下来他首先需要掌握Java 的进阶特性,了解Linux 基础,掌握关系数据库知识,掌握各类框架与中间件。
这种S1-S9 的职级模板,可参照业内主流大厂的标准所制定,能给技术面试官一个良好的参考,让他对要招的岗位能力与技能建立起一个清晰明了的初步认知。
当然他之后还可以根据自身业务需求,对相应的技能需求进行调整。
第二步,如何定义“了解”、“熟悉”、“掌握”、“精通”这些由浅至深的技能熟练度呢?
这些都不能基于候选人的答案来主观判断,我们需要对其建立起一套客观标准。
比如,我们可以试着将SpringBoot 能力中含有的各类知识点全部罗列出来,并从基础到高级进行分类。
当然技术面试官也可以根据自身业务需求来罗列他们想要的知识点。
我们这里提供了一个参考:
比如在基础部分,可以包含“批量数据处理”、“API 设计”等;
进阶部分则包含“异步处理”、“数据缓存”等;
高阶部分则涵盖了“自动流程”、“生命周期” 等等……如下图:
当我们说一个候选人“掌握SpringBoot”时,意味着候选人必须知道基础阶段的至少两个知识点,也知道进阶阶段的至少两个知识点,但并不要求他知道高阶阶段的知识。
但如果面试官希望候选人比“掌握”更进一步,去“精通SpringBoot” ,则可以调整比例,要求候选人知道更多高阶的知识点。
第三步,如何证明候选人知道这些知识点呢?
很简单,这些知识点其实就是一个个考点,我们只需根据这些考点来出相应的试题就好了。
当然这些知识点与题目最好能跟实战项目相关,面试官可以根据项目需求做自定义的调整。
根据这种思路,一套技术测评体系就可以被搭建起来了。
岗位的每一个能力,都有对应的题目去考核,让试题的得分与岗位匹配度,建立起了内在联系。
在流程上,技术面试官就可以先参考预设的职级模板,了解该岗位各个等级所需要的能力。
比如S6 级,就相当于主流大厂中高级的后端Java 岗 。如果他决定招这样的岗位,他便能参考下表中的各项能力,以及能力熟练度需求。
或者他有独特的业务需求,则可以调整相应的能力。
之后由浅至深,罗列出该能力所需的各类知识点,根据能力熟练度分配各类知识点的比例,最后就可以根据知识点来出题组卷,以及跟HR 确定岗位画像。
这样便能最大限度地保证,所出的试题能符合招聘岗位的能力需求,也能对这些能力的熟练度做个比较精准的判定。
通过这样一次性测试,可以直接考核出候选人的能力,面试官也能一次性地了解该候选人是否直接匹配要招的这个岗位。
技术面试官可以使用上述流程与标准来出题组卷,并将各试卷交由HR 分派给候选人。
一旦候选人通过测试,获得高分,HR 就可以出具报告给技术面试官进行评估,进入后续面试流程,有把握的话甚至可以直接录用。
由于这样的测试能在众多候选人中,一次性找出匹配该岗位的人选,这也大幅减少了HR 与技术面试官之间的对接流程。
当然,如果还是担心自己没有试题,或者建立这种测评体系太复杂太费时间,没有关系,ShowMeBug 的技术测评2.0 专门搭建了该测评体系。
里面不仅有上述定级定岗的标准,而且也支持您基于自身业务需求,对各个能力、各个知识点进行个性化定制。
我们在各知识点下,也提供了大量基于真实项目的实战题型供您使用。
我们现已支持40+ 主流岗位的专业定级与测评,注册还能赠送15 场次的免费测评,欢迎体验~