寻找优秀的开发人员
那些伟大的开发人员都在哪里?
当你第一次尝试填补空缺职位时,如果你像大多数人一样,你会投放一些广告,也许浏览大型在线板,并获得大量简历。
当你经历它们时,你会想,“嗯,这可能行得通”,或者,“不可能!”或者,“我想知道这个人是否能被说服搬到布法罗。不会发生的,我保证,永远不会发生的是,你说,“哇,这个人太棒了!我们必须拥有它们!事实上,你可以浏览数千份简历,假设你知道如何阅读简历,这并不容易,我将在周五谈到这一点,但你可以浏览数千份工作申请,坦率地说,你从未见过一个伟大的软件开发人员。没有一个。
这就是发生这种情况的原因。
偉大的軟體開發人員,實際上是各個領域最優秀的人,從來沒有在市場上。
一个普通的优秀软件开发人员在他们的整个职业生涯中总共会申请四份工作。
优秀的大学毕业生被一位与行业有联系的教授拉去实习,然后他们从那家公司获得早期工作机会,从不费心申请任何其他工作。如果他们离开了那家公司,通常是和朋友一起去一家创业公司,或者跟随一个伟大的老板去另一家公司,或者因为他们决定他们真的想从事Eclipse的工作,比如说,Eclipse很酷,所以他们在BEA或IBM寻找一份Eclipse工作,然后他们当然会得到它,因为他们很聪明。
如果你很幸运,如果你真的很幸运,他们曾经出现在公开的就业市场上,比如说,当他们的配偶决定接受安克雷奇的医学实习时,他们实际上将他们的简历发送到他们认为是他们想在安克雷奇工作的几个地方。
但在大多数情况下,伟大的开发人员(这几乎是一种重言式)是,呃,伟大的,(好吧,这是一个重言式),而且,通常,未来的雇主会很快认识到他们的伟大,这意味着,基本上,他们可以在他们想去的任何地方工作,所以他们老实说不会发送很多简历或申请很多工作。
这听起来像是你想雇用的那种人吗?它应该。
这条规则的推论——伟大的人永远不会出现在市场上的规则——是坏人——严重不合格的人——在市场上出现了很多。他们总是被解雇,因为他们无法完成自己的工作。他们的公司失败了——有时是因为任何愿意雇用他们的公司可能也会雇用很多不合格的程序员,所以这一切都导致了失败——但有时是因为他们实际上太不合格了,以至于他们毁了公司。是的,它发生了。
谢天谢地,这些病态的不合格的人很少能找到工作,但他们确实一直在申请,当他们申请时,他们会去 Monster.com,一次检查 300 或 1000 个工作,试图赢得彩票。
从数字上看,优秀的人非常罕见,他们从未进入过就业市场,而不称职的人,即使他们同样罕见,在他们的整个职业生涯中都申请了数千份工作。所以现在,Sparky,回到你从Craigslist上得到的那一大堆简历。他们中的大多数都是你不想雇用的人,这有什么奇怪的吗?
我想,精明的读者会指出,我遗漏了迄今为止最大的群体,即坚实、能干的人。他们在市场上比优秀的人多,但比不称职的人少,总而言之,他们会在你的 1000 份简历中出现少量,但在大多数情况下,现在几乎每个帕洛阿尔托的招聘经理都有 1000 份简历,他们的办公桌上有 970 份简历,来自申请帕洛阿尔托每份工作的 970 名不称职的人中的少数人, 而且可能是一辈子的,只有 30 份简历值得考虑,其中可能很少有人是伟大的程序员。好吧,也许甚至没有一个。我们将看到,弄清楚如何在大海捞针中找到这些针是可能的,但并不容易。
我还能得到它们吗?
是的!
好吧,也许吧!
或者,这要看情况!
与其将招聘视为“收集简历,筛选简历”的过程,不如将其视为“追踪获奖者并让他们与您交谈”的过程。
我有三种基本方法可以解决这个问题:
- 去山上
- 实习
- 建立自己的社区*
(“建立自己的社区”带有一个小小的星号,意思是“难”,就像乔治·丹齐格(George Dantzig)解决的著名数学问题一样,因为他来得太晚了,听说它应该是无法解决的)。
你也许也可以想出自己的想法。我只想谈谈三个对我有用的方法。
到山上去,哎呀!
想想你想雇用的人在哪里闲逛。他们参加什么会议?他们住在哪里?他们属于哪些组织?他们阅读哪些网站?与其在 Monster.com 上广撒求职网,不如使用 Joel on Software 招聘板,将您的搜索限制在阅读本网站的聪明人身上。参加非常有趣的技术会议。伟大的 Mac 开发人员将参加 Apple 的 WWDC。优秀的Windows程序员将在Microsoft的PDC上。还有很多开源会议。
寻找当天最热门的新技术。去年是 Python;今年是 Ruby。参加他们的会议,在那里你会发现对新事物感到好奇并总是对改进感兴趣的早期采用者。
在走廊里溜达,与你遇到的每个人交谈,参加技术会议并邀请演讲者出去喝啤酒,当你找到一个聪明的人时,砰!——你开始进入全面的调情和奉承模式。“噢噢,太有趣了!”你说。“哇,我简直不敢相信你这么聪明。而且也很帅。你说你在哪里工作?真?那里?嗯嗯,你不觉得你可以做得更好吗?我想我的公司可能正在招聘......”
这条规则的必然结果是避免在通用的大型招聘网站上做广告。有一年夏天,我无意中使用 MonsterTRAK 为我们的暑期实习做广告,它提供了支付一点额外费用的选项,让美国每所学校的学生都能看到实习机会。这导致了数百份简历,其中没有一份通过第一轮。我们最终花了一大笔钱来获得大量简历,这些简历几乎没有机会找到我们想要雇用的那种人。几天后,MonsterTRAK 是简历的来源这一事实让我认为候选人可能不适合我们。同样,当 Craigslist 刚起步时,互联网行业的早期采用者实际上只是访问过它,我们通过在 Craigslist 上做广告找到了很棒的人,但今天,几乎每个中等计算机知识的人都使用它,导致太多简历的针头大海捞针比率太低。
实习
抓住那些从未进入就业市场的伟人的一个好方法是在他们意识到有就业市场之前就得到他们:当他们上大学时。
一些招聘经理讨厌雇用实习生的想法。他们认为实习生是未成型的,技能不足。在某种程度上,这是真的。实习生不如有经验的员工有经验(不。真的吗?!你将不得不对它们进行更多的投资,而且它们需要一些时间才能跟上速度。关于我们领域的好消息是,真正伟大的程序员往往在10岁时就开始编程。当同龄人都在跑来跑去玩“足球”(这是许多不会对计算机编程的孩子玩的游戏,涉及用脚踢一个叫做“球”的球形物体(我知道,这听起来很奇怪)),他们在父亲的家庭办公室里试图让Linux内核进行编译。他们没有在操场上追逐女孩,而是在Usenet上陷入了关于没有实现Haskell式类型推理的编程语言的彻底堕落的激烈战争。他们没有在他们的车库里组建乐队,而是实施了一个很酷的黑客,这样当他们的邻居通过他们的开放接入 WIFI 点窃取带宽时,网络上的所有图像都会颠倒过来。哇哈哈哈哈!
所以,与法律或医学领域不同,在软件开发方面,当这些孩子在大学二年级或三年级时,他们已经是相当优秀的程序员了。
几乎每个人都申请一份工作:他们的第一份工作,大多数孩子认为等到最后一年再担心这个问题是可以的。事实上,大多数孩子都没有那么有创造力,他们只会在实际有某种校园招聘活动的情况下申请工作。好大学的孩子可以从校内雇主那里获得足够的好工作选择,以至于他们很少费心去接触那些懒得来校园的雇主。
你可以参与这种疯狂,在校园里招募,这是一件好事,不要误会我的意思,或者你可以颠覆它,试图在他们毕业前一两年得到优秀的孩子。
我在 Fog Creek 以这种方式取得了很大的成功。这个过程从每年九月开始,那时我开始利用我所有的资源来追踪全国最优秀的计算机科学学生。我给几百个计算机科学系寄信。我追踪了当时距离毕业还有两年时间的计算机科学专业的名单(通常你必须认识系里的人,教授或学生,才能找到这些名单)。然后我给每一个我能找到的CS专业的学生写一封私人信。不是电子邮件,而是一张写在雾溪信笺上的纸,我用实际的墨水在自己签名。显然,这是罕见的,它引起了很多关注。我告诉他们我们有实习机会,并亲自邀请他们申请。我给 CS 教授和 CS 校友发送电子邮件,他们通常有某种 CS 专业的邮件列表,他们会将其转发到该列表。
最终,我们收到了很多这些实习的申请,我们可以挑选作物。在过去的几年里,我每次实习都会收到 200 份申请。我们通常会将这堆申请减少到大约 10 个(每个职位空缺),然后打电话给所有这些人进行电话面试。在通过电话面试的人中,我们可能会有两三个人飞到纽约进行面对面的面试。
到面对面面试时,我们很有可能想要雇用这个人,以至于是时候开始全面招聘了。他们在机场迎接他们,一位穿制服的豪华轿车司机拿起他们的行李,把他们带到他们的酒店,这可能是他们一生中见过的最酷的酒店,就在时尚区的中间,模特们随时进进出出,复杂的浴室装置可能是现代艺术博物馆永久收藏的一部分, 但祝你好运,试图弄清楚如何刷牙。在酒店房间里等候时,我们留下了一个招待套餐,里面有一件T恤,由Fog Creek工作人员建议的纽约徒步之旅,以及2005年暑期实习生的DVD纪录片。房间里有一台DVD播放机,所以他们中的很多人都看了以前的实习生玩得很开心。
经过一天的面试,我们邀请学生在纽约停留几天,如果他们想看看这个城市,费用由我们承担,然后豪华轿车在他们的酒店接他们,然后把他们送回机场回家。
尽管只有大约三分之一的申请人进入了面对面的面试阶段,但通过面试的申请人必须获得积极的体验,这一点非常重要。即使是那些没有成功的人,也会认为我们是一个优雅的雇主,并告诉他们所有的朋友他们在大苹果的一家豪华酒店里住得有多开心,这让他们的朋友在明年夏天申请实习,哪怕只是为了旅行的机会。
在实习期间,学生们通常会开始想,“好吧,这是一份不错的暑期工作和一些很好的经验,也许,只是也许,它会带来一份全职工作。我们比他们领先一点。我们将利用暑假来决定是否要他们成为全职员工,他们将利用暑假来决定是否要为我们工作。
所以我们给他们真正的工作。苦功。我们的实习生总是在生产代码上工作。有时他们正在研究公司里最酷的新东西,这可能会让正式员工有点嫉妒,但这就是生活。有一年夏天,我们有一个由四名实习生组成的团队从头开始构建一个全新的产品。那次实习在几个月内就收回了成本。即使他们不是在构建新产品,他们也在开发真正的代码,并具有他们完全个人负责的一些主要功能领域(当然,有经验丰富的导师来帮忙)。
然后我们确保他们玩得很开心。我们举办派对和开放日。我们让他们在当地一个相当不错的宿舍里免费住宿,在那里他们可以结交来自其他公司和学校的朋友。我们每周都会有一些课外活动或实地考察:百老汇音乐剧(今年他们为Q大道疯狂)、电影开幕式、博物馆参观、乘船游览曼哈顿、洋基队比赛,信不信由你,今年最喜欢的事情之一就是去岩石之巅旅行。我的意思是,它只是一幢高楼,你从曼哈顿市中心的屋顶上出去。你不会认为这将是一次如此令人敬畏的体验。但事实确实如此。Fog Creek 的一些员工也参加了每项活动。
在暑假结束时,总有一些实习生说服我们,他们是我们必须雇用的真正优秀的程序员。请注意,不是所有的人,有些只是我们愿意传承的优秀程序员,而另一些人则在其他地方会很棒,但在 Fog Creek 则不然。例如,我们是一家相当自主的公司,没有很多中层管理人员,人们被期望完全自我驱动。从历史上看,这种情况发生过几次,暑期实习生在有人指导他们的情况下会很棒,但在雾溪,他们得不到足够的指导,会陷入困境。
无论如何,对于我们真正想雇用的人,等待是没有用的。我们提前提供一份全职工作,条件是他们毕业。这是一个很好的提议。我们希望他们能够回到学校,与朋友比较笔记,并意识到他们的起薪比任何人都高。
这是否意味着我们多付了钱?一点也不。你看,第一年的平均工资必须考虑到这个人无法解决的一定程度的风险。但我们已经试镜了这些孩子,他们没有不出色的风险。我们知道他们能做什么。因此,当我们雇用他们时,我们比任何其他只面试过他们的雇主都拥有更多的信息。这意味着我们可以付给他们更多的钱。我们有更好的信息,所以我们愿意比没有这些信息的雇主支付更多的费用。
如果我们把工作做好了,而且我们通常做得很好,那么此时实习生就会完全放弃并接受我们的提议。有时需要更多的说服力。有时他们想留下他们的选择,但 Fog Creek 的出色报价确保了他们第一次必须在早上 8:00 起床并穿上西装去面试 Oracle,当闹钟响起时,他们很有可能会说“为什么我早上 8:00 起床并穿上西装去面试 Oracle,而我已经有一份出色的工作在雾溪等我?而且,我希望,他们甚至不会费心去接受采访。
顺便说一句,在我继续之前,我需要澄清一些关于计算机科学和软件开发实习的事情。在这个时代,在这个国家,人们完全期望这些是带薪实习,而且薪水通常非常有竞争力。虽然无薪实习在从出版到音乐等其他领域很常见,但我们每周支付 750 美元,外加免费住宿、免费午餐、免费地铁通行证,更不用说搬迁费用和所有福利了。美元金额略低于平均水平,但它包括免费住房,因此它比平均水平好一点。我想我会提到这一点,因为每次我在我的网站上谈论实习时,都不可避免地有人感到困惑,认为我在利用奴隶劳动或其他东西。你在那里——年轻的鞭打者!给我来一杯冰冷的橙汁,手工榨制,让它变得活泼!
实习计划为优秀员工创造了一个管道,但这是一个相当长的管道,很多人在这个过程中迷失了方向。我们基本上计算出,我们将不得不为每一名全职员工雇用两名实习生,如果你雇用的实习生在学校还剩一年,那么从你开始招聘到他们出现在全职工作的第一天之间,还有两年的管道。这意味着我们每年夏天都会雇用几乎与办公室实际容纳的实习生数量一样多。前三个暑假,我们试图将实习计划限制在还剩一年的学生身上,但今年夏天我们终于意识到我们错过了一些优秀的年轻学生,所以我们向大学任何一年的学生开放了该计划。信不信由你,我什至在想办法让高中生来这里,也许放学后用大学的钱来设置电脑,只是为了开始与下一代伟大的程序员建立联系,即使它变成了一个六年的管道。我的视野很长。
建立社区(*困难)
这里的想法是创建一个由志同道合的聪明开发人员组成的大型社区,他们以某种方式聚集在您的公司周围,这样您就可以在每次有职位空缺时自动联系受众。
说实话,这就是我们如何找到这么多伟大的雾溪人:通过我的个人网站,你现在正在阅读的网站。这个网站上的主要文章可以被多达一百万人阅读,其中大多数是软件开发人员。由于有大量的自我选择的受众,每当我在主页上提到我正在寻找某人时,我通常会得到一大堆非常好的简历。
这个类别带有星号,意思是“难”,因为我觉得我给你的建议是,“要赢得选美比赛,(a)变得美丽,(b)参加选美比赛。那是因为我真的不确定这个网站为什么或如何变得如此受欢迎,或者为什么阅读它的人是最好的软件开发人员。
我真的希望我能在这里为您提供更多帮助。德里克·波瓦泽克(Derek Powazek)写了一本关于这个主题的好书(社区设计)。许多公司尝试了各种博客策略,不幸的是,他们中的很多都未能建立任何类型的受众,所以我只能说,对我们有用的东西可能对你有用,也可能对你不起作用,我不确定你能做些什么。
员工推荐:潮湿时可能会很滑
寻找优秀软件开发人员的标准建议是询问您现有的开发人员。理论上,天哪,他们是聪明的开发人员,他们必须认识其他聪明的开发人员。
他们可能,但他们也有非常亲爱的朋友,他们不是很好的开发人员,在这个领域大约有一百万个地雷,所以事实是,我通常认为员工推荐的想法是最薄弱的新员工来源之一。
当然,一个很大的风险是竞业禁止协议。如果你认为这些并不重要,想想Crossgain的案例,当Microsoft用个人诉讼威胁他们时,它不得不解雇四分之一的员工,都是前Microsoft。没有一个头脑正常的程序员应该签署竞业禁止协议,但他们中的大多数人都这样做了,因为他们永远无法想象它会被执行,或者因为他们没有阅读合同的习惯,或者因为他们已经接受了工作机会并举家搬到了全国各地,工作的第一天是他们第一次看到这个协议,但现在有点太晚了试着谈判一下。所以他们签字,但这是雇主最狡猾的做法之一,而且它们通常是可执行和执行的。
关键是,竞业禁止协议可能意味着,如果你过于依赖推荐,最终从同一个前雇主那里雇用了一群人,而你的员工首先从这个雇主那里认识其他明星程序员,你就要冒相当大的风险。
另一个问题是,如果你有任何形式的选择性招聘流程,当你要求你的员工寻找推荐人时,他们甚至不会考虑告诉你他们真正的朋友。没有人愿意说服他们的朋友申请他们公司的工作,结果却被拒绝了。这有点阻碍了友谊。
由于他们不会告诉你他们的朋友,而且你可能无法雇用他们曾经一起工作的人,剩下的是没有太多的潜在推荐人。
但是,员工推荐的真正问题是,当对经济学有基本了解的招聘经理决定为这些推荐人提供现金奖金时会发生什么。这很常见。理由是这样的:通过猎头或外部招聘人员招聘优秀人才可能要花费 30,000 到 50,000 美元。如果我们能向员工支付,比如说,每招聘一名员工,他们就要获得 5000 美元的奖金,或者每 10 次推荐人就能获得一辆昂贵的跑车,或者其他什么,想想这会节省多少钱?5000 美元对受薪员工来说听起来像是一笔财富,因为它确实如此。所以这听起来像是一个双赢的局面。
麻烦的是,突然间你可以看到小齿轮转动,员工开始把他们能想到的每个人拖进来面试,他们有很强的动机让这些人被录用,所以他们指导他们进行面试,在会议室里与面试官进行安静的对话,突然间,你的整个员工都在试图让你雇用某人无用的大学室友。
这是行不通的。ArsDigita 因购买法拉利并将其放在停车场并宣布任何获得 10 次推荐的人都可以拥有它而获得大量宣传。没有人接近,新员工的质量下降,公司分崩离析,但可能不是因为法拉利,事实证明,法拉利是租来的,只不过是一个宣传噱头。
当 Fog Creek 员工推荐可能非常适合我们工作的人时,我们愿意跳过最初的电话屏幕,但仅此而已。我们仍然希望他们接受所有相同的面试,我们保持同样的高标准。