我不认为我打算写一篇有关此的文章,更不用说在哈勃(Habr)上发表文章了,但是正如他们所说,“这需要做一些事情。” 疼
在我职业生涯的10年中,我先是作为系统管理员,然后是系统工程师和DevOps,在设法成为一名简单的绩效,技术和团队负责人之后,我访问了不同国家的各种规模的公司并进行了数十次面试,在寻找员工时参与了需求的形成和...伙计们,招聘是黑暗的。
我认为,现在赖以生存和发展的招聘方式和方式会伤害到员工和公司。
我将尝试解释原因。
雇主在找谁?
这完全取决于要考虑此问题的飞机。
从业务的角度来看,雇主正在寻找一种可以以最小的成本执行所需功能的部门。
在部门主管,副主任等级别 需求有所变化且很详细-他们需要一个薪金适合预算的人,可以在市场上找到可用的资金,并且将执行其经理为商业目的为他设定的任务。
在此级别上,通常确定企业愿意为该工作支付的特定资金,然后从该级别确定人力资源订单以寻找符合条件的员工,然后那些通过第一个过滤器的候选人来进行面试。
值得一提。为了开始招募人员,您需要知道要寻找的人。
为此,对候选人提出了要求。
对于大型公司而言,出于标准化的考虑,仍然存在“如何进行采访”的规则列表,甚至还有内部培训,标题为“持牌采访员”。
这一切都令人作呕。根据公司的结构和管理人员的能力,从“我们需要前端程序员,需求很普通”到“我们需要具有
<30项清单的知识,
至少23个月的工作经验和要求的经验的前端程序员”的样式来形成需求
列表。在快速消费品公司工作
至少2年 。”
有时甚至是技术熟练的员工也要参与其中,他们的任务是“形成您书面使用的技能和技术的完整列表”,而所有这些都需要进行一些调整,以留出“要求”栏中的空缺。
在更罕见的情况下,任务是“形成测试以测试必要的知识”,这会在Hackerrank上引发各种测试任务,其中包括与工人无限远的任务。
无论采用什么方法来形成此范围内的需求,
它的效果都不
好。为什么这样做效果不佳?
行业中的技术堆栈非常庞大。
需求超出了您的想象或编写(尽管也有三页的需求清单)。
此外,公司中的堆栈迟早也会更改。
领导者将改变,软件平台将改变,新的供应商将提供很好的报价。
但是人们会留下来。 如果它们没有逃跑或不必解雇它们,因为它们无法执行新功能。
形式化的愿望是可以理解的。 它在心理上是安全的,可消除头部的压力。
但这
干扰了雇用和进一步的工作 。
招聘专业人员会因为关键字不匹配而错过大量人才。
在LinkedIn上查看“您拥有与此职位匹配的技能的27%”。 或在发行HH / Indeed / Glassdoor的第一页上查找具有需求和技术知识的空缺。
遵循规则,面试官
提出妄想问题 ,意识到他们与未来的任务无关。 大多数情况下,
他们自己除了调查表中写的
答案外,不知道其他答案 ,并且如果
答案不正确 ,
他们 将不会理解正确的答案 。
尤其是当公司有很多不同专业的专家,并且规则和问题对于每个人都是相同的。
不遵循规则,面试官开始依赖于他们可能非常具体的知识,并提出问题,这些问题再次无济于事,无法确定此人将如何执行面对他的任务。
他可能是从另一个项目开发特定系统的,他可能非常(不)喜欢ML,他可能(不)喜欢Go / Python / Perl / C#/ C ++ / C / Java / Scala,鄙视或崇拜Puppet / Salt / CFEngint / Chef等
仅仅因为他是一个男人,除了自己的经验和品味之外,他没有其他可依靠的东西。
这样的面试对每个参与人员都是压力大的。大多数受访者仍然不愿意对候选人发表负面评论。 候选人在这样的面试之后的印象也不是很积极。 经理们对职位空缺没有得到满足感到不安,人力资源部被迫发出越来越多的信件和信息,想知道为什么他们提供的候选人不合适,因为“这完全符合要求”。
这些问题源于这样一个事实,即员工搜索系统的设计目的不是要找到一个有头脑的好员工,而是要找到一个具有一定功能的职位,并试图通过最大数量的需求来描述它。列表,关键字,标签,问题列表以“子字符串函数需要多少个参数”的风格进行采访-它们破坏了一切。
这样的选拔系统一方面会引起专业的“访问者”,他们进入的职位并不是客观地吸引,另一方面,他们阻止了普通专家来公司工作并带来很多好处,因为他们使用Puppet而不是Salt,用Python 2.7编写。他们使用Symphony而不是3.5,而不是Laravel,Docker,不是RKT,Docker Swarm,不是Kubernetes或etcd,不是Consul。
所有工具均已更改和更换。
1-2年后,当前有关工具的知识将不再相关,而5年后,没人会记住最多。 一切都必须改变,员工的职能也可能随着环境和项目而改变。
绝大多数公司都没有问题,您需要了解8种排序算法并记住所有Spring Boot Core功能或他知道的npm库。
一开始人们知道哪种配置管理系统,或者他记得多少个Java参数,都没有关系。
如果一个人知道如何在给定的框架内执行特定的功能,这并不意味着他是一个好专家。
这仅意味着,巧合的是,他知道现在和现在如何执行特定功能。
实际上,根据我的经验,其他标准对于应聘者(以及将来的成功员工)而言更为重要:
- 您需要有足够的能力,能够推理和学习,能够对不知道的内容做出合理的假设。
- 您需要具有有关操作系统,网络和相关技术的基本知识。
- 您需要了解所使用工具的基础以及为何需要(或不需要)这些工具。
- 人们需要对如何工作以及遵循这些信念有信心。
- 简而言之-您需要能够进行广泛的思考 。
看看大型成功的公司,他们对候选人的要求。 他们最小限度地指定技术,只是为了表明要依赖的特定基础。
以下是
Yandex在职位空缺中以
系统管理员的 身份写的要求:
- Unix / Linux管理经验-三年以上;
- 具有管理开源应用程序(Web服务器,数据库,邮件服务器等)的经验;
- 了解TCP / IP网络技术;
- 具有脚本语言(shell,python,perl)的编程经验;
- 从同事的经验中学习并与他人分享自己的能力;
- 去年您曾担任过类似职位。
这就是愿望:
- 具有设计连续,流畅运行的系统的经验(24x7x365);
- 分析技巧,以防止并快速排除故障。
以下是
Google SRE职位的
要求 :
- 拥有计算机科学或相关技术领域的编码学士学位,涉及编码(例如物理学或数学),或具有同等的实践经验。
- 具有算法,数据结构,复杂性分析和软件设计方面的经验。
- 有以下一项或多项经验:C,C ++,Java,Python,Go,Perl或Ruby。
这里是愿望:
- 对大型分布式系统的设计,分析和故障排除感兴趣。
- 系统的问题解决方法,加上较强的沟通能力以及主人翁意识和驱动力。
- 能够调试和优化代码并自动执行例行任务。
与列出项目中使用的所有10个框架相比,最好
多注意 公司的工作和候选人必须做的工作描述。
改变采访方式。在面试中询问基本知识,大声问原因,提出广泛的问题(并准备多听一次答案,这会让您感到惊讶),建立对话,交流,共享信息。 寻找共同点,尝试理解一个人的想法以及为什么会这样。
我问过这个问题的大多数人(以及我本人)都同意,实际上
15到
20分钟的交流足以确保一个人合适并确定其水平,
在10分钟之内有必要了解一个人并不完美。
同时,测试和深入的技术调查实际上
不会影响结果 。
是的,在这段时间里,您将不得不为进行面试的人增加大脑和沟通能力。
高层管理人员必须学会信任进行这些面试的人员,以及将来与雇用人员一起工作的人员。
您将不得不放弃标签,疯狂的(且不加思索的)过滤,以及过多而平静的标准化。
您将必须对招聘结果承担更多责任,因为 “这是他的测试结果,他回答了98%的问题,我不知道他为什么失败了该项目”将不再起作用。
候选人(包括不合适的候选人)的流入将增加。
但是,请自己想一想-它会有所回报吗?