如果您是大三学生,如何进入一家大公司? 如果您是大公司,如何聘请像样的初级员工? 在削减的基础上,我将讲讲我们如何雇用初学者到前端的故事:我们如何制定测试任务,准备进行面试并建立了一个指导计划,以促进新人的发展和入职,以及为何面试的标准问题不起作用。
我想驯服大三你好 我叫帕维尔(Pavel),我在Wrike团队中担任前端人员。 我们创建了一个用于项目管理和协作的系统。 自2010年以来,我一直从事网络工作,在远程站点上工作了3年,参与了多家初创公司,并在大学教授了有关网络技术的课程。 在公司,我参与了技术课程的开发和针对初级的Wrike指导计划,并直接招募了他们。
为什么我们甚至考虑雇用初级人员
直到最近,我们还招募了中到高级的前端开发人员,他们足够独立,可以在入职后完成产品任务。 在今年年初,我们意识到我们想改变这一政策:一年来我们的产品团队数量增加了将近2倍,前端供应商的数量已经接近100个,并且在不久的将来所有这一切将不得不再次翻番。 有很多工作,很少有空手,市场上的空手甚至更少,所以我们决定吸引那些刚刚开始前线之旅的人们,他们意识到他们已准备好投资发展。
谁是大三学生?
这是我们问自己的第一个问题。 有不同的标准,但是最简单,最容易理解的原则是:
大三学生需要说明什么功能以及如何制作。 Middle需要解释需要什么功能,他本人将处理实现。 Signor本人将向您解释为什么根本不需要完成此功能。
初级或初级人员是需要有关如何实施特定解决方案的建议的开发人员。 我们决定以以下内容为基础:
- 初级-一个想要发展并准备为此工作的人;
- 他并不总是知道他想发展哪种方式。
- 需要建议并寻求外部帮助-来自他的领导,导师或社区。
我们还有几个假设:
- 对6月职位的反应将激增 。 在发送简历的阶段必须过滤随机响应;
- 主过滤器无济于事 -需要执行更多测试任务;
- 测试任务会吓到所有人 -不需要它们。
当然,我们有一个目标:
3个星期内有4个大三 。
有了这种认识,我们开始尝试。 计划很简单:从可能的最大漏斗开始,然后尝试以管理流量的方式逐渐缩小漏斗的大小,但不要将其减少到每周1个候选者。
我们发布空缺
对于公司 :将有数百个回复! 考虑一个过滤器。
大三 : 对于初学者 ,在提交简历和测试作业之前不要害怕问卷-这表明该公司已经照顾了您,并很好地建立了流程。
在第一天,大约有“具有JavaScript知识”的应聘者的70份履历便飞向我们。 然后再说一次。 还有一件事。 我们身体上无法打电话给每个人在办公室里进行面试,并从他们那里选择最酷的宠物项目,活着的github或至少有经验的人。
但是,第一天我们为自己做出的主要结论-风暴开始了。 现在是时候添加问卷调查表,然后再提交简历了。 它的任务是淘汰那些不准备尽力发送简历的候选人以及那些不具备知识和背景的候选人,至少要在可以搜索正确答案的范围内。
它包含有关JS,布局,网络,计算机科学的标准问题-每个知道在前端要求面试的人都知道。 let / var / const和有什么不一样? 如何仅将样式应用于宽度小于600像素的屏幕? 我们不想在技术面试中提出这些问题-实践表明,在进行2-3次面试后可以回答这些问题,完全不了解开发情况。 但是,另一方面,他们能够首先向我们展示候选人是否原则上理解了背景。
在每个类别中,我们准备了3-5个问题,并且日复一日地以答复的形式更改了它们的设置,直到我们排除了最困难和最困难的问题。 这使我们减少了工作量-在3周内,我们收到了
122名候选人 ,我们可以与他们进一步合作。 这些是IT专业的学生; 想从后端走到前面的家伙; 25-35岁的工人或工程师,他们根本想改变自己的职业,并为自我教育,课程和实习投入不同的精力。
靠近一点
对于公司 :测试任务不会吓跑求职者,但有助于减少漏斗。
对于初级 :请勿复制粘贴测试-这很明显。 并保持您的github井然有序!
如果我们邀请每个人进行技术面试,那么我们每周仅对大三学生就必须进行大约40次面试,而且只能在前端进行。 因此,我们决定测试第二个假设-有关测试任务。
在测试中对我们而言重要的是:
- 建立良好的可扩展架构,但不会过度设计;
- 最好做得更长一些,但是要做得比一夜之间写一篇文章并发送评论“我一定会结束”更好;
- Gita中的开发历史是工程文化,开发的迭代以及解决方案没有完全被狂热地沸腾的事实。
我们同意,我们希望看到一个算法问题和一个小型Web应用程序。 在基础课程的实验室水平上准备了算法算法-二进制搜索,排序,字谜检查,使用列表和树。 结果,我们将二进制搜索作为第一个测试案例。 使用任何框架(或没有框架)的井字游戏都应该成为Web应用程序。
其余一半的人都掌握了测试任务
-54名候选人向我们发送了解决方案。 难以置信的洞察力-您认为网络上有多少准备好进行复制粘贴的井字游戏实现?
多少钱实际上,似乎只有3个。在大多数解决方案中,恰好有这3个选项。
什么不喜欢:
- 复制粘贴或在同一教程中开发,但没有自己的体系结构;
- 这两个任务都位于不同文件夹中的同一存储库中,当然没有提交历史记录;
- 肮脏的代码,违反DRY,缺乏格式;
- 一类中模型,视图和控制器的混合体,长数百行代码;
- 缺乏对单元测试的理解;
- “在额头上”的解决方案是获胜组合3x3的硬编码矩阵,例如,很难扩展到10x10。
而且,我们还关注邻近的存储库-很棒的宠物项目是一个加号,而其他公司的大量测试任务更像是铃铛:候选人为什么不能去那里?
结果,我们在React,Angular,Vanilla JS上找到了不错的选择-其中有29个,我们决定邀请另一位没有测试的候选人参加他的非常酷的宠物项目。 我们关于测试项目收益的假设得到了证实。
技术面试
对于公司 :没有中/老年人来找你! 需要更多的个性化方法。
对于初中生 :请记住,这不是考试-不要试图让前三名保持沉默,也不要让教授倾尽所有可能的知识,以免使他感到困惑并称其为“优秀”。
我们想在技术面试中了解什么? 一个简单的事情-候选人理解。 他可能具有一些艰苦的技能,如果他经历了甄选的第一阶段,还有待发现他是否知道如何运用它们。 我们商定了3个任务。
首先是关于算法和数据结构。 我们用笔在纸上,用伪语言在图形的帮助下,并在绘图的帮助下,找到了如何复制树或如何从简单连接的列表中删除元素的方法。 一个不愉快的发现是,并非每个人都了解递归以及链接的工作方式。
第二个是实时编码。 我们去了
codewars.com ,选择了一些简单的方法,例如按最后一个字母并在30-40分钟之内对单词数组进行排序,并与应试者一起尝试使所有测试通过。 精通井字游戏的人似乎并不感到惊讶-但实际上,并不是每个人都能意识到需要将值存储在变量中,并且该函数应通过return返回某些内容。 尽管我衷心希望这是一个混蛋,但他们能够在更轻的环境中处理这些任务。
最后,第三点是关于架构的。 我们讨论了如何制作搜索字符串,如何进行反跳操作,如何在搜索提示中呈现各种小部件,前端如何与后端交互。 有很多有趣的解决方案,包括有关服务器端渲染和Web套接字的解决方案。
我们以这种方式进行了21次采访。 观众们完全杂乱无章-让我们继续看漫画:
- “火箭 。 ” 他从不平静下来,到处乱窜,在一次采访中,他会向您泛滥甚至与所提问题没有直接关系的想法。 如果这是一所大学,那将是许多人熟悉的尝试,可以很好地证明自己的全部知识,而当您记住刚得到的机票时,您决定昨晚不教它-您仍然无法将其淘汰。
- 格鲁特 。 与他保持联系非常困难,因为他是Groot。 在面试中,您必须摇摆很长时间,逐字逐出答案。 如果只是昏昏欲睡,那很好。否则,您的日常工作将非常困难。
- 德拉克斯 以前,我从事货物运输,从编程中我只学习了Stackoverflow上的JS,所以我并不总是了解采访中的话题。 同时,他是一个好人,有良好的意愿,并希望成为一个很酷的前端。
- 好吧,也许是《星际大王》 。 通常,您是可以与之进行谈判并建立对话的好候选人。
我们的研究结束时,有
7名候选人进入了决赛,他们以凉爽的测试任务和良好的面试回答确认了他们的硬技能。
文化契合
对于公司 :您与他合作! 候选人是否准备好为自己的发展而竭尽全力? 他会完全适合球队吗?
初级 :您与他们合作! 公司准备好投资于初级员工的成长了吗,还是只是将所有艰苦的工作都交给了您?
除产品团队外,每位初级人员都必须得到领导的同意,而产品团队的领导者必须同意接受该指导。 导师的任务是指导他完成为期三个月的入门和提高硬技能的过程。 因此,我们以各种文化背景为指导,回答了以下问题:“我是否将根据我们的计划负责将候选人抽选3个月?”
这个阶段没有任何特殊功能,因此给我们带来了
4个报价 ,其中3个被接受了,伙计们加入了团队。
报价后的生活
对于公司 :照顾您的大三生,否则其他人会做的!
对于初级 :AAAAAAAAAAAA !!!
当新员工出来时,他需要加入进来-在流程过程中,告诉公司和团队中所有事情的工作方式以及他的总体工作方式。 初中毕业后,您需要了解如何发展。
当我们考虑这一点时,我们形成了26项技能的清单,我们认为,大三学生在三个月的入职期结束之前应该具备这些技能。 它包括硬技能(根据我们的堆栈),对我们的流程,scrum,基础架构和项目体系结构的了解。 我们将它们合并为一个路线图,并随时间分布了3个月。
例如,这是我的初级路线图我们为每位与他一起工作的大三学生配备一名导师。 根据导师和候选人的当前水平,会议可以每周进行1到5次,每次1小时。 主动要做一些事情,而不只是自愿编写代码的主动性前端成为导师。
来自指导者的部分负担已由我们堆栈上的课程-达特(Dart),角度(Angular)消除。 定期为4-6人的小组举行课程,这些人在这里学习工作。
在3个月的过程中,我们会定期收集大三学生,他们的导师和领导的反馈意见,并分别调整流程。 在整个过程中进行1-2次检查,检查技巧,最后进行相同的检查-根据他们的建议形成,应严格拧紧什么。
结论
对于公司 :值得向初级投资吗? 是的
对于初级 :寻找精心挑选候选人并知道如何成长的公司。
在3个月的时间内,我们查看了122份问卷,54个测试项目并进行了21次技术访谈。 这给了我们3个很酷的初中生,他们现在已经完成了一半的入职和加速路线图。 他们已经完成了我们项目中的实际产品任务,仅在前端,就有200万行代码和400多个存储库。
我们发现,初级人才的漏斗可以而且应该很复杂,但最终只有那些真正准备好投入大量精力并投资于自己的发展的人才通过。
现在,我们的主要任务是通过导师和一般课程,以个人工作的方式完成每个三年级的发展路线图,以收集指标,反馈,领导者,导师和其他员工。 在此基础上,可以认为第一个实验已完成,得出结论,改进流程并再次开始以选择新的候选人。