7月21日,我们与Delivery Club的副首席技术官Andrey Evsyukov在社交网络上进行了交流。Andrey讲述了DC招聘框架的工作原理,并分享了一些有关如何优化它以使其像发条一样工作的秘密。我们与您分享广播的笔录和录音。
听到您关于建立自己的IT业务的建议(在雇用员工和组织生产方面)会很有趣。
从事有趣项目的最低团队人数应该是多少?我的意思不是数量,而是必需的物品。也许这不是您的个人资料,但我想听听您的想法。
确实,我的个人资料不是我的,我不是企业家,而是工程师。如果我们谈论职位的最低限度构成,那么在我看来,应该有一个通过关键字搜索简历和应聘者的分类员/搜索者,应该有一个最初选择的招聘者,应该有人来检查人们的技能以及他们对指定职位的遵守情况和做出最终决定的人。在这里需要特别注意的是,我的个人资料是基于我所服务的公司,并且始终有一个不断发展的科技品牌,在很大程度上影响着我们寻找候选人的方式。在我看来,这与例如招聘公司有根本不同,如果我们谈论的是一家没有自己的技术品牌或产品的公司,而该公司正在为其寻找雇员。
– , , , ?
, , , 2 dry/solid-, 15 ?
有不同类型的团队。即,功能工厂,产品团队,授权的产品团队等。这完全取决于开发人员应影响的区域。如果他收到任务,则给出代码进行审查,这时公司认为他的任务有待解决-这是一个故事。另一个-如果开发人员还负责功能的部署,则第三-如果他负责阐明产品要求,则来自业务,利益相关方和产品经理。或者说这样的故事,当开发人员参与产品变更产生的主动性时,就知道产品在生产中的外观以及对用户的影响。当他们查看产品指标时,就会知道业务分析-转换,保留等。当他们知道应用程序在生产中的行为时,他们就会知道技术指标,知道如何使用Grafana和其他工具。
在第一种情况下,一个人会收到一份描述清楚的任务,并且还有一个单独的技术分析师和项目/产品经理,他们已经完成了有关任务和需求的多个工作阶段。当他准备代码并进一步发送代码,而不是在乎它之后的任务会发生什么时,那么技术上的技能对他来说确实更为重要。
如果故事更接近Delivery Club,那么开发人员将参与澄清需求,了解产品和业务指标,了解如何影响最终用户,参与部署,了解应用程序在生产中的行为-然后,首先要有软技能计划,并且相关知识很重要。在这种情况下,一个人可能不知道所有排序方法,但同时他了解应用程序的工作原理,对体系结构,对生产中的应用程序进行监控,对公司业务的了解以及对公司业务的了解以及如何将其转化为产品指标的方式以及更多内容。它是对产品或所处理产品的一部分很重要的指标然后评估转移到其他方面。
通常,在有条件的PHP开发人员空缺的情况下,您可以看到Docker,Kubernetes,Ansible,Prometheus,Grafana,CICD,GoLang所需的知识-并且还可以使用Python,Rust,Scala。真的有必要吗?还是最好根本不申请这样的空缺?
这取决于开发过程的结构。而且,大概是公司处于什么阶段。如果她处于成长阶段,当存在不确定性时,就会有一种实验和假设的文化,那么她将具有不同的招聘员工形象。也就是说,将要求人们了解他们的工作如何影响最终用户和产品-在这里,您必须具备Docker / Kubernetes知识。
如果可以为考生解决1-2小时的家庭测试问题,这是否有意义?
许多程序员和自由职业者可能不想做免费测试-习惯为此付费吗?
我将根据个人经验和观点回答。首先,俄罗斯的IT招聘市场是一个竞争激烈的市场。我们强调减少与潜在候选人的交流点数,以实现该主题中所述的结果。我们不提供测试任务-我们认为,这对技能的测试很弱。对我们而言,确定一个人在“现在和现在”的动态过程中的想法很重要,为此,我们需要出席并观察他如何在异议和条件变化的情况下工作-这向我们介绍了软技能。通常情况下,应聘者在被要求执行测试任务的阶段中会掉下来,因此我们不练习这种情况。
, ? Rider App – ?
我们自己开发Rider App。如果我们谈论测试-目前,Delivery Club雇用了180名IT专家,大约有30个团队。我们有跨国产品团队,每个团队都有一个QA工程师,也就是说,他们中大约有30个,我们还有QA领导角色,负责方向和技术战略。
测试过程本身或多或少是行业标准。JiraFlow和GitFlow是一个阶段,在这个阶段中,开发人员编写单元测试,功能测试由QA工程师编写,他们还创建他们遵循的测试用例。然后是集成测试,以及部署之后的最终测试。
43天50个职位听起来不现实。入职过程很有趣。
将一个人引入流程中需要花费一些时间-我们通常需要3-4周的时间,并且我们需要进行增强的代码审查。如何应对新手的流动?
在过去的1.5年中,我们的入职流程已正式确立。它需要一个月到3个月的时间-可能需要整个试用期。它分为三个大阶段。首先是过程,文化,技术堆栈的研究。在第二阶段(第二至第四周)-“半战斗”任务,技术债务带来的任务,非优先任务,在其中更容易学习并将自己沉浸于上下文中。一个人在试用期的第3个月或中期收到一个真实的项目,我们计划用其100%的可用时间-然后该人显示他在前两个阶段研究的内容。
流程已正式确定,我们在Confluence上拥有一个知识库,其中包含针对每个发展方向的文档-入职适应性略有不同。总有一位直接经理,他也是团队的负责人。此外,我们现在正在实践“伙伴”文化(团队中的一个人,可以帮助一个人适应并建议在哪里寻找信息以及与谁联系)。此外,直属经理还担任导师并帮助团队领导制定员工的目标。另外,您还可以参考一个团队和其他团队。我们在团队之间和团队内部有很多横向沟通,您总是可以与任何人打交道-包括纵向更高的人;不客气。
现在,入职过程正常进行,目前还没有问题。
senior- ?
在我看来,您可以提供比市场更高的薪水,或者招聘几乎任何人并宣布他们为高级。在第一种情况下,它会在每个人的嘴上(这个事实将是策略的一部分)。
交付俱乐部的薪水是市场平均水平。至于技能,我会说我们有合格的专家。有几种技术可以加快招聘速度;如果使用所有可用的技术,则可以真正加快招聘过程,同时提高其质量。现在我们将更详细地讨论这一点。
因此,在谈论加快招聘速度之前,我将告诉您我们的招聘周期如何运作以及其组成的各个阶段-以便以后您可以参考它们中的每一个并描述如何提高每个人的质量和速度。招聘。
首先,应该提到Delivery Club是Mail.Ru集团的一部分。我们使用Mail.Ru的多个功能-例如,操作和招聘。也就是说,我们有来自Mail的HR。总共有7名招聘人员和大约40名招聘经理参加了招聘,这是我们的主题,并且于2020年第二季度举行。
该过程从编写工作说明开始。我们描述需求,必要地描述项目-员工价值观(即员工应该为之工作)。此文本也用于首次联系。招聘人员通过所有人都听到的资源进行的搜索是一种冷酷的搜索。编制好需求和员工价值的描述后,我们进入采购阶段-这是寻找联系人和第一个联系人的步骤。我们不致电求职者,而是通过即时通讯工具进行联系。该人员将获得工作说明中的所有信息。之后,安排了一个简短的会议-放映,持续15-30分钟。这是下一步。它完全由招聘团队管理。在此阶段,我们要确定是否要致电下一个候选人-技术面试。在筛选阶段,会询问有关团队合作的问题-这是在交付俱乐部工作的最重要技能之一,以及员工的期望-他正在申请什么职位,他拥有什么样的物质和非物质动力。我们决定与候选人进一步沟通后,便通过电报聊天与招聘人员和高级管理人员进行沟通。有人进行技术面试,有商业领袖参加决赛,我和整个招聘团队也都在场。候选人出现后,他们会给我们提供指向Huntflow的链接(我们在其中维护候选人数据库),说有这样一个职位的候选人具有这样的技能,并且同意时间,然后他们已经确定了方便的时段。高层管理人员写信给候选人,告知他们自己什么时候可以,并安排技术面试。
技术面试是案例面试。我们提供建筑设计案例;该程序块还包含一小部分有关硬技能编程的程序块-仅15至30分钟。大部分面试只是基于案例的设计面试;它持续2到2.5个小时,有时是3个小时,尽管我们努力不拖延他们:在这段时间内,候选人感到疲倦,面试变得无效。经过技术面试后,高级经理在Huntflow中写出反馈,输入面试结果,检查硬技能和软技能。这也将写入聊天记录中,并决定是否致电决赛候选人。
决赛持续30-60分钟,该职位所属方向的负责人以及本人或技术总监将参加决赛。在决赛中,我们最终找出候选人的期望,谈论我们要提供给他的项目,并做出最终决定-向候选人提出要约或写出我们为什么不准备向他提出工作的原因。
现在让我们确定在这里可以加速和改进的地方,以及在什么时候应该注意哪些阶段。
首先,正如我提到的,俄罗斯IT专家市场竞争激烈。雇主的数量超过了候选人的数量,当一个人宣布希望找工作时,他会收到许多公司的回应。在西方市场,情况恰好相反:如果一家公司发布空缺,则会形成一系列申请人。
这告诉我们不要拖延反馈。重要的是要快速完成所有阶段,并与候选人沟通,将要进行什么阶段,要花费多长时间,以及何时接收反馈。该研究表明,平均而言,俄罗斯的IT专家可以在3天之内找到工作-甚至在1天之内的停机时间都可能导致应聘者流失。我们的经验证实了这一点-在某些情况下,当候选人在接受技术面试反馈的时候很晚才收到另一家公司的报价。
首先,重要的是要了解我们对候选人的兴趣-即我们提供的员工价值观,我们与市场上其他公司的差异。我们在职位描述和沟通的各个方面都拥有这一点:决策自主权,协调一致的发展过程,清晰的职业发展历程,使用现代技术,最后-在包括公司在内的发展最快,发展最快的电子商务行业中工作,这是该市场的领导者。
与候选人联系后,我们需要快速找到面试机会。为此,我们在Telegram上进行通信。我们有一项规定-也就是说,当我们准备与高管人员进行面试时,我们会在招聘者说有候选人之后的3小时内做出回应,我们需要抽出时间进行面试。此外,我们不迟于1天(最好是在同一天,最多要在第二天早晨)写面试反馈。延误可能会导致候选人的流失。
因此,我们有一个技术面试阶段,开发人员和团队负责人可以参加,而且我们增加了正在招聘的招聘人员的数量,并增加了新人选的流动性。在那之后,对我们来说重要的是确保我们主要跟踪软技能。对我们而言,重要的不是技巧,而是公司文化特征的巧合,一个人的适应能力和受过良好的教育程度,他在团队中的表现如何。在某些情况下,尽管有人以前没有写过Go语言(他有Java经验),但还是有人来申请GoLang开发人员,同时又通过了一次技术面试(稍后我会告诉您有关案例面试的信息),非常酷进行了服务的设计,迅速得到了答复,定位了方向,接受了新的投入,并且没有迷路。最后我们聘请了他,他很快掌握了Go,现在他正在执行一些很酷的任务。
重要的是,案件采访阶段可以扩展,以便在那里可以联系更多的人,并且在此阶段我们确定的重点是明确的。在这个阶段,我们还没有完全确定动机:我们必须确定适应能力,反对异议的能力,确定一个人如何辩论,给出反馈,接受批评和定向的能力。
当您有40位高级管理人员并且需要进行150次技术面试时,您将无法每次都去找那个人,问问面试进行得如何,这个人是否喜欢。您应该标准化足够的反馈-技术面试后记录的报告格式。我们的高级经理和我接受了很多培训-我讨论了哪些软技能对我们很重要,为什么以及如何形成这些软技能(展望未来-它们是根据我们工作的业务领域的特点而形成的)。我们讨论了案例采访,什么动作,如何正确遵循,如何建立上下文,以便您可以检查一个人的适应能力以及他如何以新的介绍来定位自己。当然,关于如何在面试报告中反映所有这些内容,以便以后有人进入决赛时,您可以看到他如何通过技术面试。在此之前,还附有筛选报告,由招聘者填写。结果,作为一个进行决赛的人,我掌握了整个情况。它说明了一个人为什么要换工作,他改变的动机是什么,在新的工作场所对他来说重要的是什么。进一步-报告他在团队中的工作方式,是否知道如何衡量自己的效能,他是否具有适应能力,在架构上有多出色,在数据库,Go,PHP或相关语言方面拥有什么知识。因为进行总决赛的人有全貌。它说明了一个人为什么要换工作,他改变的动机是什么,在新的工作场所对他来说重要的是什么。进一步-报告他在团队中的工作方式,是否知道如何衡量自己的效率,他的适应能力,他在体系结构方面的表现如何,对数据库,Go,PHP或相关语言有什么了解。因为进行总决赛的人有全貌。它说明了一个人为什么要换工作,他改变的动机是什么,在新的工作场所对他来说重要的是什么。进一步-报告他在团队中的工作方式,是否知道如何衡量自己的效能,他是否具有适应能力,在架构上的表现如何,对数据库,Go,PHP或相关语言的了解。
最后,我们对文化的相关性进行最终检查,最后弄清要求,确保谈论我们拥有哪些空缺,将要完成哪些项目,如何进行入职。在此阶段,重要的是要有期望-明确工作的样子,从可用职位中选择职位。其中,我们讨论了公司有什么好处和非物质动机:自愿医疗保险,体育馆,会议,培训,员工发展;绩效评估是如何建立的;如何申请晋升以及一个人的职业发展道路。所有这些都会影响候选人的最终决定。
总的来说:招聘人员进行筛选,有一个由高管经理组成的团队进行案例面试,有一个由指导经理组成的团队(与我一起)进行决赛。原来是“漏斗”。重要的是,在每个阶段都要检查特定的事情,最后将所有事情放在一起,并做出是否准备接受候选人的决定。如果您想在短时间内雇用很多人,它有助于加快流程并处理高流量。
有一个问题是在这么短的时间内雇用这么多人有多现实。应该注意的是,这不是Delivery Club招聘的第一波。第一个是在2019年第一季度,其后是在2020年的第三季度和第一季度。
还有其他一些事情可以加快招聘速度。首先,当您了解候选人不适合您时,您需要了解如何向他提供此反馈。您需要告诉他在面试中看到了哪些优势。您必须清楚地理解为什么做出支持另一位候选人的决定,但同时给该候选人一些发展领域,他说:如果您收紧这一点,我们可以继续对话。我们有很多人回来的例子。首先,他们在收到反馈时说:谢谢,您为我强调了我以前从未考虑过的领域。在这种情况下,他们不会因为不被服用而感到沮丧。然后他们准备工作回来,提高某些技能,然后重新申请。例如,这种“投资”可以使您在六个月至九个月内增加收入。
其次,由于我们在一家产品公司工作,并且我们开始在技术品牌上工作,所以这极大地影响了应聘人员的忠诚度。我们有这样的事情:一个人到Mail时,可以在任何业务部门申请空缺;在我们开始下载技术品牌后,我们面临着人们只为我们而来的事实-“我们想去Delivery Club,我们看到Denis Gorev是如何谈论信使任命的,我们意识到您有很多事情,许多系统,复杂的情况-我们想尝试。”就是说,向技术品牌注入有关系统工作原理的故事也很重要,以便调整候选人的输入流。
最后,从三月份开始,在自我隔离期间我们切换到远程工作这一事实也使我们得以加速。我们仍在远程工作,我们开始研究远程员工市场。在此之前,我们只谈论莫斯科的办公室,但现在我们决定扩大候选人和员工的地域。在此期间,我们意识到可以进行远程工作。我们的流程已经非常灵活地适应了,这开辟了新视野和新机遇。
在第二季度,我们总共在招聘人员的帮助下与潜在应聘者进行了约500次联系,进行了约250张屏幕截图,150次技术面试,70场决赛,并提出了58份报价。在每个阶段,大约有50%的渠道。我们可以说,要雇用约50名员工,有必要与潜在候选人进行约500次联系-联系被理解为试图与资源上找到的人进行沟通。在这500个案例中,大约有350个以任何方式做出了回应,我们对其中的250个进行了初步筛选,并将其转换为150个技术访谈。决赛和报价阶段的漏斗要小得多。在这个阶段,在我看来,我所谈论的工作起着作用-即,您如何以期望的方式工作。您还记得候选人的动机吗:也许对他来说重要的是开发,研究技术,研究微服务或拥有一支协调良好的团队和导师。您将这些内容记录在候选人库中,并对这些期望做出回应-尤其是在决赛和提出要约时。
您可以通过案例采访分享案例研究吗?每个人都一样吗,或者您有一套案例吗?
让我们更深入地进行案例采访。这是什么?首先,针对案例有几种答案选项,它们无法事先学习。如果考生问他们应该做什么准备,那就没有答案。无法准备工作恰恰是案例采访的美。
我们有几个案例访谈,我们根据潜在的候选人来寻找他们。有时,技能之间存在明显的差异:例如,有一次我们正在寻找对RnD了解Python的候选人-我们为他们使用了一种情况;当我们在为平台寻找PHP-schnicks时,情况就不同了,当在消费者方向使用Go-schnicks时,则是第三种情况。
在这种情况下,首先,条件,环境和任务很重要。案例访谈也很不错,因为它们接近现实。我们再次回到一个事实,即今天的市场竞争激烈:对于我们而言,吸引潜在员工至关重要。当一个人来面试时,他们开始质疑他,他觉得自己正在接受考试,或者好像在接受讯问-候选人不喜欢这种面试,而这正是我们在面试后收到的反馈。但是,如果一个人被赋予一项有趣的任务,接近现实并且旨在准确地告诉他他的工作方式,他的交流方式,他如何讨论建筑,一切从内部看起来如何-他参与其中,他很感兴趣,他更愿意回答在此。也就是说,没有比这更糟糕的了当一个人遇到一个纯粹的综合问题时,他首先问一个问题:也许有可能不这样做吗?为什么使用您给我的算法?如果可以进行路由注入,为什么还要制作整个应用程序?最有趣的是,在食品公司中,作为工程师,我们总是被要求以这种方式思考-除了面试,他们通常还需要彻底改变思维方式。我们试图考虑到这一点。
候选人到来时,我们向他打招呼,告诉他所有阶段看起来如何,告诉谁在面试中。候选人谈论自己的情况-重要的是让他放松一点,以便他可以充分利用自己的潜力,不会紧张,也不必担心。然后我们和他一起玩一场大比赛。
“想象一下,您在Delivery Club工作了。您将在一个团队中工作,该团队在人们订购食物的移动应用程序上工作。订购食物后,您需要制作一个快递跟踪屏幕。如果您以前曾经使用过它,那么会有一张这样的地图,您可以在其中看到他的行踪。因此,将自己想象成需要设计类似内容的后端开发人员。”
接下来,我们告诉上下文。上下文意味着一定的环境。我们说:“有一个API网关,它接受来自移动应用程序的请求,对它们进行授权,然后进一步路由它们。有一项带有订单的服务-有这样的数据库,这样的字段,提供这样的数据的小手。此外,还有一个物流服务,从应用程序将坐标发送到该服务,该服务在快递员的手中。”也就是说,从本质上讲,我们创造了与现实的最大近似,我们说有可能改变,而不能改变。假设其中一项服务是用考生尚不知道的外来语言编写的,也就是说,该服务无法更改。否则,另一项服务太复杂,它还没有准备好对其进行更改。然后候选人受到限制:他无法更改这两项服务,但可以建立任何其他数量的服务来解决传递快递坐标的问题。
事实证明,此人不是专心于面试,而是如何建立这样的系统。找到了可以尝试应用的直观解决方案。绘制了一个时序图。事实证明,该解决方案不起作用,因为不满足条件。该人进一步思考。在他提出一些建议之后,有时我们会使用带有“错误路径”的小分支-因此我们检查了我经常谈论的适应性。
通常,适应性可以描述为通过接受阶段的速度。我喜欢这个比喻:假设您被要求建造一间小屋。您用棍子建造小屋。现在,您需要确保它免受雨淋-然后用防水布覆盖它。现在,有必要确保它不会因地震而倒塌-显然,有必要拆除所有物体,建造基础并建造不是小屋,而是建造建筑物。也就是说,如果解决方案很简单,则可以轻松快捷地放弃它。现在,假设您已经建造了一座大型建筑物,然后您将获得一个条件,在此条件下您了解自己建造的所有东西都不对。而且拒绝这样的事情已经非常困难。
我们检查人员准备回退到什么程度,概述他所做的所有事情,并了解是否值得进一步开发此解决方案-还是一样,有必要删除所有内容并以不同的方式进行操作。当一个人谈到这个问题时,我们说:是的,让我们重做一切,我们有这样的机会,我们甚至还没有开始编写代码。然后,当我们回来时,他们重建了一切,这是正确的决定,我们说一个人具有相当高的适应能力。
您在入口处是否有针对某些标准表格的测试?如果是这样,您如何评价其有效性?如果没有,为什么不呢?
如果问题是关于候选人的,那么我们没有测试。看起来像问卷和考试的东西吓跑了人们,而且招聘效果不佳,因此重点放在案例面试上。我们不进行心理测试,在这个问题上我们没有能力。
之前发生了什么
- Facebook高级软件工程师Ilona Papava-如何获得实习机会,如何获得报价以及有关在公司工作的所有信息
- Bodex Yangel,Yandex ML工程师-如果您是数据科学家,如何不加入愚蠢的专家队伍
- EOLastBackend的Alexander Kaloshin-如何启动一家初创公司,进入中国市场并获得1500万美元的投资。
- Natue Teplukhina,Vue.js核心团队成员,GoogleDevExpret-如何在GitLab中通过面试,进入Vue开发团队并成为一名工程师。
- , DeviceLock — .
- , RUVDS — . 1. 2.
- , - . — .
- , Senior Digital Analyst McKinsey Digital Labs — Google, .
- «» , Duke Nukem 3D, SiN, Blood — , .
- , - 12- — ,
- , GameAcademy — .
- , PHP- Badoo — Highload PHP Badoo.