极客大学算法训练营_训练营与大学

极客大学算法训练营

来自技术招聘公司的数据

极客大学算法训练营_训练营与大学_第1张图片

对编程训练营进行编程似乎是不可能的。 他们说,与其花四年的大学时间,您可以学习如何成为一个为期三个月的计划的软件工程师。 从表面上看,这听起来更像是特朗普大学的广告,而不是合理的教育模式。

但这不是我们在Triplebyte中发现的。 我们会与工程师进行面试,并将他们与非常适合的初创公司匹配。 公司在寻找什么样的技能方面差异很大 ,并且通过绘制这些差异,我们能够帮助工程师进行更多的采访并找到他们自己找不到的工作。 在过去的一年中,我们已经与大约100名训练营的毕业生合作,并且许多人还在大公司找到工作。 我们在不知道候选人背景的情况下进行盲目面试,并且我们定期进行面试,并给候选人非常积极的分数,当得知候选人仅编程了6个月后,才感到惊讶。

训练营的毕业生是初级程序员。 他们有很多东西要学习,并且代表了雇用他们的公司的投资。 也就是说,最近的大学毕业生也是如此。 我们发现,训练营的毕业生整体上在网络编程和编写干净的模块化代码方面比大学的毕业生更好,而在算法和理解计算机的工作方式方面则更差。 总而言之,我们与两个小组的合作取得大致相同的成功。

在这篇文章中,我将尝试阐明如何做到这一点。 我将深入探讨两组之间的差异,并希望解释一些人如何在不到一年的时间内成为有竞争力的初级程序员。

分析

我们在Triplebyte上进行的技术访谈大约需要两个半小时,分为四个主要部分,重点是实际编程,Web架构,底层系统理解和算法理解。 并不是每个工程师都能完成每个问题(我们让程序员专注于他们的长处),但是该过程可以很好地衡量每个工程师在这些领域中的相对长处。

为了更好地了解新兵训练营的毕业生和大学毕业生的比较,我绘制了这两个小组在每个领域的平均表现。 y轴是每个问题的分数(其中1 =强否,2 =弱否,3 =弱是,4 =强是)。 作为参考,我还包括了全部申请人,以及通过我们面试的所有工程师。

极客大学算法训练营_训练营与大学_第2张图片

关于此图的第一件事要注意的是,在实际编程和Web系统设计上,训练营的毕业生表现与大学毕业生相同或更好,而在算法和低级系统上则更差。 我们实际的编程问题并不容易。 他们需要理解一个问题,提出抽象来解决该问题,并将其呈现在代码中。 如果有的话,与算法问题相比,我们实际的编程问题需要更多的现场思考。 但是,他们不需要学术CS或数学或任何特定知识。 这是问题的症结所在。 训练营的毕业生在实践技能上匹配或击败大学毕业生,而在深厚的知识上却会失败。

在设计问题上也存在类似的模式。 Bootcamp的毕业生在涉及Web服务器,数据库和负载平衡器的Web问题上表现更好。 大学毕业生在涉及比特/字节,线程,内存分配以及理解计算机实际工作原理的低级设计问题上表现更好。

Triplebyte看到了训练营和大学毕业生的偏见样本。 我们通过在线编程测试进行背景盲筛选,并且仅采访通过此测试的工程师。 因此,我们无法知道在训练过程的早期阶段,有多少百分比的训练营毕业生和大学毕业生不及格,并且以上图表仅反映通过测试的人。 尽管如此,仍有大量的训练营毕业生通过了我们的考试,并且在面试中也达到了大学毕业生的水平。

我想特别提请注意大学毕业生在算法问题上的表现。 他们不仅比新兵训练营的毕业生更好,而且也更好。 他们比接受我们采访的普通程序员要好得多(他们大多数都有2年以上的经验),并且几乎与我们通过的普通工程师一样好。 这是有趣的。 它支持这样的说法,即大多数程序员并未在工作中使用算法技能,并且随着时间的流逝而萎缩。

这怎么可能?

除了我们的数据,似乎仍然很难相信3个月可以与4年制大学学位竞争。 时间尺度似乎不对。 首先要注意的是,教学时间的差异并不像看起来的那么大。 训练营非常激烈。 学生每天要完成8个小时的工作,许多人要在周末休息和下班(一个受欢迎的训练营,每周运行6天)。 在整个过程中,助教都与学生一起工作。 什么训练营缺乏持续时间,它们可能会增加强度。

第二点是,训练营教授实用技能。 传统的CS程序员在诸如NP完整性和Scheme中的编程等概念上花费大量时间。 现在,我绝不贬低这些材料。 我喜欢学术CS(以及Cook-Levin定理)。 它是美丽,令人着迷的东西,我从中学到了很多东西。 但这并不直接适用于大多数程序员在大多数时间所做的事情。 训练营可以不懈地专注于实践技能,从而显示出巨大的成果。 训练营助教不断批评每个学生的编码风格。 他们教测试。 他们教学生如何使用编辑器。 传统CS学位课程从未想到如何使用编辑器。

这不会使训练营的毕业生具备与大学毕业生同等的技能。 如果您想进行硬算法或低级编程,传统的CS培训仍然可以为您提供更好的服务。 但是,对于许多入门级开发职位而言,这确实使他们中的佼佼者具有惊人的竞争力。

结论

有两种方法可以解释此博客文章中的结果。 一种方法是说训练营是橱窗装饰。 他们向经验不足的程序员讲授如何使他们看起来像优秀的程序员一样需要知道的知识,但会跳过该学科的核心。 但是,我认为这种观点太愤世嫉俗。 查看这篇文章的另一种方式是,证明训练营与CS程序相比完全侧重于其他领域。 他们集中精力于成为一名高效程序员所需的实践技能。 这些是CS计划希望学生在学习过程中掌握的技能。 训练营如此务实,给学生带来了沉重的工作量,他们可以与CS毕业生的实际技能相匹配。

训练营的毕业生并非对所有公司都有意义。 就像最近的大学毕业生一样,他们是对雇用他们的公司的投资。 他们有很多东西要学。 而且,在算法和低级系统上,它们显然比经过学术培训的工程师还要糟糕。 数据库或自动驾驶汽车公司可能应该坚持拥有CS学位的人。 但是绝大多数公司需要程序员来解决网络上的实际问题。 在这个轴上,我们发现训练营的毕业生完全具有竞争力。

我们都将训练营的毕业生放到了顶级公司,并且看着他们成长。 我们已经看到他们学​​习了毕业时缺少的一些CS技能。 我们已经看到他们了解大规模生产系统。 我们已经看到他们担任领导职务。 真是太不可思议了,最好的训练营毕业生学习的速度和程度如何。 和他们一起工作是我的荣幸,我们一定会继续与训练营的毕业生合作。

如果您是训练营的毕业生(或大学毕业生,或其他任何人),并且对寻找技术实力雄厚的公司感兴趣,请尝试一下我们的流程 。 我也对您对这篇文章的想法感兴趣! 给我发送电子邮件至[email protected]

感谢Jared Friedman和Daniel Gackle阅读了此草稿,并感谢Buck Shlegeris编写了这篇文章的主要帮助。

翻译自: https://hackernoon.com/bootcamps-vs-college-11dd76a4d127

极客大学算法训练营

你可能感兴趣的:(算法,数据库,编程语言,python,人工智能)