实习明显不同。 在我公司里,实习生是军人。 为了使上下文更清楚:一个拥有300名员工的公司,开发Java / C#\ 10种类型的JS,我们仅在立陶宛的2个城市培训开发人员。 网站,银行,发电厂,动物园-项目有很大的不同。 公司正在成长,我们需要人。 一种招聘方式:实习。
通常的实习开发人员是2至4年级的IT,数学学生。 与维尔纽斯或考纳斯的研究并行进行培训。 开始实习40人,完成30-35,由Joons雇用10。
10个人不仅仅是一个美丽的数字。 对于一个受雇的六月,您需要至少一位高级/领导,他有空闲时间,并且您可以无痛地输入和上传受训者的项目,在那里他将获得经验和收益(并通过客户安全检查)。 另外,没有理由将六月挂在不渴望成为导师的领主身上。 此外,Javists并不急于雇用.NET实习生。
乍一看?
十岁的琼斯出生半年,有13个人。
一个月来,它还没有奏效,但是进步明显。 一切都从计划开始:就“您的团队将在六个月内获得多少琼斯”(哈哈,这就是他们的回答方式)接受潜在客户的采访,选择并培训讲师和导师,正在制定程序,并且正在准备入学考试。
入学考试后,每个城市选出20名候选人,组成4个小组,每个小组在导师的指导下进行为期3个月的培训项目。 同时,所有学生每周一次听一组讲座:前,后,最佳实践,测试。 然后再进行一次考试(毕业),一系列面试-并邀请新员工加入团队。
原则上,没有什么复杂的,但是有很多阻塞的机会。
我们招募团队
当选择导师/讲师时,问题就开始了。 您不能只说一句就说:我们从您那里带走了6个人,他们每周将在实习生上花费大约一天的时间。 您不能跟开发人员说:您将进行授课-您需要志愿者。 您需要考虑出差和休假(阅读,夏天不实习)。 令人高兴的是,动机没有问题:金钱,新经验,团队领导能力培训-这就足够了。 当在每个城市中选择2位讲师(前+后)和4位指导者时,开始磨削,称为“入学考试准备”。
我们正在准备入学考试
你知道如何进行面试吗? 入学考试并不难。 问题在准备问题时就开始了。 例如,他们喜欢考纳斯(Kaunas)的OOP,我更愿意将其从考试中剔除(并使维尔纽斯深信不疑)。 EntityFramework与Dapper,SQL与JS,铁杆与琐事-4场圣战已经消亡,现在我正在为第五次战争做好心理准备。 令人高兴的是,战争是局部的,人们确实在试图挑起争论。 可悲的是-争论需要时间,这就是金钱。 为了节省时间,开发了用于准备测试任务的标准。
首先,每个人写5-10份作业,每个主题1-2份。 然后,每个团队在本地聚会并讨论所有任务。 每种解决方案都设置了一个分辨率:合适,完成后将适合(动作列表),炉渣(原因列表)。 如果任务被两个城市批准:它将进入
俱乐部的最终名单。 如果没有足够的任务,则考虑修订任务。 如果还不够,则将编写其他任务,或者修复炉渣。 两次迭代足以填充测试部分。
逻辑部分仍然更简单:每个人都选择了他们希望在考试中看到的3个任务,在最终列表中输入了票数最高的任务。 在过去的一年中,在三个地方进行了4项任务,很快又进行了投票。 为什么快? 因为最好的任务之间没有根本的区别。
考试后,进行复习:哪些任务解决得更多,哪些任务解决得更少,哪些主题被证明是最困难的,因此寻求“解决问题-邀请实习”的相关性。 这样的分析将使我们能够找到任务的最佳复杂性,并说服同事放弃某些任务(仅在明年将它们放下)。 实际上,这就是“用C#实现OOP”部分替代了OOP理论上的任务。在准备了最终的任务清单之后,开始进行光泽度指导。 格式化文本,由同事解决任务以查找不准确之处,在IDE中检查任务,找到前几年的匹配项。 在上学期,我们没有产生任何光泽-35个测试任务中有5个不正确。
有趣的是:您如何看待,选择哪种字形作为测试任务的答案(1-2-3-4或abcd)?1-2-3-4。 进行检查时,由于按键位置更方便,因此节省了时间。
媒体类
在准备考试的同时,还有一个实习广告。 Facebook,报纸,自己的网站-仅约10个频道和30项活动。 人力资源和市场营销对此负责。
一个单独的时刻是注册。 有人注册两次,有人在最后一刻注册。 有些根本没有注册。 学生人数很重要:它决定了打印任务的数量。 经验公式:80%的注册参与者将参加考试。
考试前一两天,系统会发送提醒,常见问题解答和考试规则。 提醒您很重要:考试前几个月,每个同志都已注册,很可能忘记了。
入学考试
大学,一两个流,一堆任务,来自公司的4个人。 在每个城市都有。 有必要事先与大学达成协议,确保注明预期的学生人数,接待小组的抵达时间,小组的离开时间,由谁来提供钥匙,由谁来接他们。 “谁来参加”尤为重要-考试在晚上结束。 您需要在考试前半小时到达:检查教室,设备,与学生见面,回答问题,将FAQ放在黑板上;如果有投影仪,请将钢笔和空白纸放在桌子上。 请务必理解:大学员工只会免费帮助您,因此最好检查办公室中的所有内容。 另外,今天的态度变坏了-下学期您将无法获得听众的好评。 值得考虑的是尘土-准备水喝(对于学生来说,学生可以自己带来规则上的内容),找出附近的厕所。
在考试开始时,重复规则,分发任务,然后开始。 无聊开始。 人们决定,审查员无事可做。 学生不作弊,或者不作弊。 重要的是要为观察者找到一堂课,而他们却很少。 首先是要验证学生是否清楚地写下了他的名字,这在检查考试时非常重要。 第二是收集考试评论。 学生离开-观察者问他“你最不喜欢什么?”的问题。 它是这种形式。 如果您问什么是最好的,将不会听到任何有趣的信息。 所有观察者依次收集反馈。 一个人收集了一部分-去记录,下一个占据了这个职位。
考试结束后,所有材料都被收集起来,灯熄灭,门关闭,钥匙交出。 乏味的开始:检查。
入学考试
为了进行验证,我们提前在Google码头上准备了一张工作表,并就并行性达成了一致。 首先,检查测试任务,然后检查逻辑任务。 最简单的选择:一个人检查50-100个测试任务,然后将所有材料收集在一堆中,其余团队成员并行检查逻辑任务:每个逻辑任务由城市中的一个人检查。
逻辑任务比较难检查,但是更有趣:学生开玩笑,写感谢信,并希望“你们检查我在这里写的内容”。 有时候,有些解决方案会令他们无情,例如在Flavel的任务“额头”上计算100人的能力。 有时,评估的初步原则不起作用-大多数学生对任务的理解与计划完全不同。 在这种情况下,您必须快速浏览许多决策并提出新的评估标准。
对于测试任务,几年来我们形成了“设计者的梦想”文档:在左侧,我们用名称固定列(从注册数据库中删除名称),在顶部,我们固定任务编号和逻辑任务的最大点,我们根据图纸上的布局用粗边框划分各列。 这种格式的测试无需任何大脑参与即可进行测试。 对于逻辑任务,审阅者可以创建其他列。
检查和验证应尽快进行。 学生在学年中有两个时间段,他有空-在课间之间。 您需要有时间在这些窗口中进行实习(您可以略微参加冬季课程,但不参加夏季课程,以获得毕业/文凭)。 因此,重要的是要检查分配并尽快发送邀请。 理想情况下-提前2-3天与老板\客户达成协议-开发人员会很忙。 有些学生会拒绝实习-因此您需要提前准备“第二级”。 从实践中,将有1-2名二线学生收到邀请。
从搞笑注册时,学生填写几个字段,包括“关于我”。 后来,他们进入了一个验证文档,其中包含诸如“ 关于我:”,“删除表条目”;-我希望那行不通。
道德:也准备接受测试。
讲座
很简单:理论,然后练习。 就我个人而言,我尝试用
哈勃拉(Habra)合适
的精彩故事来淡化理论。 为练习分配尽可能多的时间非常重要。 受训者经常说“一切都好”,即使有些事情行不通-然后他们也不了解所学内容。 我们必须检查所有内容和每个人,这需要时间。 最常见的浅滩存储在公司Wiki中,并于明年派上用场。 初始化\配置是一个单独的弊端,对于1-2个受训者来说,某些事情肯定行不通。
在授课过程中,我们从头开始,从头到尾结束-因此受训者可以从
第二堂课中看到结果。 首先是市场营销,Git,是html \ css的基础。
总是有诱惑力去把握难以驾驭的事情,而不是专注于演讲的关键方面。 它有助于将练习划分为最小的元素,即增加复杂性的3-4个元素-提高计划的准确性。 在讲座的最后,留下了材料的链接,理想的文章是“如何使用Y制作X”。 需要休息10-15分钟。 对受训者来说是强制性的,因为在每次休息时,一半的受训者离开,而后半部分则由讲师帮助。
除了准备内容之外,部分时间还花在基础结构上-正在准备两个存储库:Starter,End。 在课程开始之前,第一个开放给实习生(ReadOnly),讲师将在演讲期间投入使用。 第二个在课程结束时打开-看起来像一个Starter,只有一点点邀请。 所有组的关键存储库都应该设置为相同的存储库-如果每个讲师都有自己的版本,则替换其中一个存储库将更加困难,尤其是在前面有依赖地狱的情况下。 是的,讲师经常发生一些事情:销售重要客户的重大错误,重要客户的旅行,特别重要的客户的特别重要的发布。 在这方面,在邻近城市有两名讲师是很方便的:如果一个
被公交车撞到 ,第二个将代替它。
您可以进行家庭练习,其实施与招聘建议相关。 我不知道,这是因为强大的受训者会为他们做基础锻炼,或者因为锻炼会使受训者变强。
关键原则:您必须了解,几个月后的听众将与讲师在同一团队中工作。 现在不要略过解释,这样可以节省时间。
指导
在指导工程师的指导下,由5名受训人员组成的4个团队。 指导者是潜在客户,Scrum管理员和项目经理之间的交叉。 任务是制作一个项目。 最初很简单,但是可以根据需要添加功能。 实践表明,有一半的实习生会流失:他们可能根本停止走路,他们可能根本没有遇到困难,您需要为确定优先次序做好准备。 指导对于开发人员来说是一种全新的体验,使您可以从完全不同的角度看待事物。 如何管理团队-每个人都自己选择,我将只介绍我们指导的一些功能。
首先,时间紧迫。 一个由5名学员组成的团队每周8个小时。 所有的冲刺,所有的问题,所有的仪式,所有的任务设定-在指导者身上。 此后,了解领导的动机就容易得多。
第二,演讲成瘾。 在某种程度上有助于规划。 与讲师进行交流非常有用:找出他将要谈论的话题,要求更详细地强调一些要点。
第三,最后,导师带领3-4个全栈琼斯团队。 尽快灌输开发纪律,例如代码审查和拉取请求,这一点很重要,这可以使您至少将代码保持在最小顺序。
第四,导师生活在公共汽车,火车,飞机
和不明飞行物等因素相辅相成的地方。 今天您的团队有5个人,明天突然有3个人。 除琐碎的疾病外,还为文凭做准备,改变兴趣并意识到实习所花费的时间。 在我的记忆中,最史诗般的信件是:“
我注册并通过了考试,但我不知道您正在学习Web开发。您做的很酷,但是我是数据科学家,所以让我们继续吧 。”
第五,导师每周都要评估一名实习生。 如果导师发生任何事情,其他人可以接管团队。 实习生的面试邀请很大程度上取决于导师的推荐-因此应记录导师的印象。 在一次经验转移会议上,他的一位同事观察了有关他所爱的人的记录-经验是由他的前导师传达的。
期末考试
仅检查在实习期间研究过的主题。 它是在办公室与Google一起执行的,但没有Messenger。 纯粹是实际的任务:实习生可以访问存储库,进行编码,提交。
考试后的学员按照两个参数的总和进行排序:考试分数和指导老师的等级,然后他们开始接受面试的邀请。 采访未参加该学院的学生同事。 现在我们正在考虑简化系统:指导者说“我推荐\不”,所有推荐的人均按考试成绩排序。
学期后
休息吧 讲座分析,回顾,数据分析,文档更新,下一学期的准备-以及与雇用的开发人员进行团队建设。