招聘与柠檬市场乔尔·斯波尔斯基(Joel Spolsky)在“寻找伟大的开发人员”(Finding Great Developers)上有一篇经典的博客文章,他在文章中推广了伟大的开发人员不可能找到的迷因,由此得出的推论是,如果你能找到一个人,他们就不是伟大的。乔尔写道,
伟大的软件开发人员,事实上,每个领域最优秀的人,都是非常简单的,从来没有出现在市场上。
在他们的整个职业生涯中,一般优秀的软件开发人员总共可能会申请四份工作。
如果你很幸运,如果你真的很幸运,他们会在公开的就业市场上出现一次,比方说,他们的配偶决定接受安克雷奇的医疗实习,他们实际上把简历投到了他们认为在安克雷奇为数不多的几个他们喜欢工作的地方。
但在大多数情况下,伟大的开发人员(这几乎是一种重言式)都是,呃,伟大的(好吧,这是一种重言式),通常未来的雇主会很快认识到他们的伟大,这意味着,基本上,他们可以在他们想去的任何地方工作,所以他们老实说不会发出很多简历或申请很多工作。
这听起来像是你想雇的那种人吗?应该是这样的。这条规则的推论--伟大的人永远不会出现在市场上--就是坏人--那些严重不合格的人--大量出现在市场上。他们总是被解雇,因为他们不能做好自己的工作。他们的公司失败了--有时是因为任何愿意雇佣他们的公司可能也会雇佣很多不合格的程序员,所以这一切加起来就是失败--但有时是因为他们实际上太不合格了,以至于毁了公司。是的,这是常有的事。
谢天谢地,这些病态的不合格的人很少找到工作,但他们确实一直在申请,当他们申请时,他们会去Monster.com,一次勾选300或1000个工作岗位,试图赢得彩票。
我预计,精明的读者会指出,我遗漏了迄今规模最大的群体,即可靠、有能力的人。他们在市场上比伟人多,但比不称职的人少,总的来说,他们会在你的1000份简历堆中少量出现,但在大多数情况下,几乎每个帕洛阿尔托的招聘经理现在办公桌上放着1000份简历,他们的970份简历与申请帕洛阿尔托每一份工作的970名无能人员中的少数人一模一样,而且很可能是终身的,只有30份简历甚至值得考虑,其中可能很少有一份是应聘于帕洛阿尔托的。这份简历可能是终生的,甚至只有30份值得考虑,其中可能很少有一份是值得考虑的,其中一份可能只有一份是无能的,而这970份都是申请帕洛阿尔托的每一份工作的少数人。好吧,也许一个都没有。
乔尔的说法基本上是,与糟糕的开发人员相比,优秀的开发人员不会有那么多工作,因为公司会努力留住优秀的开发人员。乔尔还认为,公司可以很容易地识别出潜在的优秀开发人员。但这两种说法很难调和。如果发现潜在的优秀开发人员这么容易,为什么不试着招募他们呢?你也可以很容易地得出这样的结论:优秀的开发商在市场上的代表性过高,因为他们有更好的机会,而糟糕的开发商才会保住自己的工作,这一点你也可以很容易地得出结论:优秀的开发商在市场上的代表性过高,因为他们有更好的机会,而糟糕的开发商才会保住自己的工作。这种逆向选择在衰落的公司中很常见;我在IBM 1的实习生队列中看到了这一点,还有其他地方。
好的开发商应该在市场上代表过多还是代表不足?如果我们听到关于招聘的轶事抱怨,我们可能会问,开发商的市场是不是柠檬市场。这个想法可以追溯到阿克洛夫1970年获得诺贝尔奖的论文“柠檬的市场:质量不确定性和市场机制”。阿克洛夫以二手车销售为例,将市场分为好的二手车和坏的二手车(坏车被称为柠檬)。如果没有办法区分好车和柠檬,那么好车和柠檬的售价是一样的。由于购买者无法区分好车和坏车,他们愿意支付的价格是基于市场上的平均质量。由于车主知道他们的车是否是柠檬,没有柠檬的车主是不会卖的,因为柠檬的存在压低了平均价格。这会导致反馈循环,导致柠檬成为唯一可用的东西。
这个模型当然不同于乔尔的模型。乔尔的模型假设伟大的开发人员是粘性的--他们会在每个工作岗位上呆很长一段时间。这来自两个假设;第一,未来雇主很容易识别出谁是伟大的人;第二,一旦某人被认定为伟大的人,他们现在的雇主将不惜一切代价留住他们(就像在柠檬市场上一样)。但仅第一个假设就足以阻止开发人员就业市场成为柠檬市场。如果你能说出一位潜在员工很棒,你就可以简单地去给他们开出两倍于他们目前薪水的薪水(这是我亲眼所见的实际发生的事情)。你需要一个信息不对称来为柠檬创造一个市场,而乔尔认为不存在信息不对称。
如果我们把乔尔的论点放在一边,看看就业市场,就会发现信息不完全,但现在和未来的雇主都有不完整的信息,谁的信息更好,差异很大。实际上,未来的雇主比现在的雇主拥有更好的信息是很常见的!
举个例子,有一个和我共事过的人,让我们叫他鲍勃,他通过做必要的繁重工作挽救了两个不同的项目,使这个项目不至于完全崩溃。这两个项目都被宣布成功,促销都出去了,他们进行了一场大规模的公关闪电战,其中包括在所有常见的嫌疑人中播种文章,如“连线”(Wire)、“财富”(Fortune)等等。这对那些善于把功劳据为己有的人来说很管用,但对鲍勃来说就不那么管用了。事实上,最近与我共事的另一位同事向我提到,管理层一直在问他,为什么鲍勃要花这么长时间做简单的任务。答案是,鲍勃正忙于确保他工作的服务在推出时不会出现全球停机,但这不是鲍勃的组织中你会因此而获得赞誉的那类事情。这样做的结果是鲍勃有了一个人脉,他知道自己很棒,这使得他很容易以市场价格在其他地方找到一份工作。但他的管理连锁店并不知道,根据我今天看到的报价,他们支付给他的薪酬大约是他在其他地方能赚到的一半。公司内部的信息传递如此之差,以至于外部管理人员比内部管理人员更了解某人的生产率,这种情况并不少见。我脑海中有一个特别的例子,但是如果我不加思索地想一想鲍勃的原型,我知道有四个人目前处于类似的情况。我目前在一家以这种方式运转不良而臭名昭著的公司工作,这一点很有帮助,但这种情况在任何地方都会发生。当我在一家小公司工作时,我们经常从大公司聘请伟大的工程师,这些大公司太无知了,不知道他们有什么样的人才。
认为伟大的开发人员很粘人的想法的另一个问题是,这是假设公司有能力创建开发人员想要按需工作的团队。这通常是n
没有一个人告诉我他们的公司符合(1)中的标准。一些人建议,也许Dropbox可以,或者简街(Jane Street)也可以,但答案是这样的:我认识那里的一些人,我还没有听过任何可怕的恐怖故事,加上我有时会听到一些好故事,而不是好故事。那家公司很棒,你绝对应该在那里工作。大多数人说,他们不知道有哪一家公司不是一团糟。
一些人对(2)有一些建议,但最常见的答案是,如果我知道我会去那里工作的话,答案是“笑不”。第二个最常见的答案是这样的:我认识谷歌大脑团队中的一些人,这听起来很棒。有几个团队以很棒的工作场所而闻名,但事实是,它们如此之少,以至于基本上不可能在这些团队中找到一份工作。有几个人知道他们会强烈推荐聘用谁的实际团队,但这种情况很少见。比起找到一个我愿意与之共事、会考虑搬家的开发人员来说,这要罕见得多。如果我反转这个问题,问他们是否知道有优秀的开发人员在找工作,答案通常是肯定的。
另一个问题是,伟大的开发人员是不可能找到的,因为他们加入了公司,然后就坚持了。这一观点的另一个问题是,开发人员(和公司)并不是一成不变的。因为我有幸在让人们真正茁壮成长的环境中工作,所以我看到很多人从不起眼到令人惊叹。因为大多数公司在帮助人们方面几乎没有投入任何资金,所以你在这里不用投入太多精力就能做得很好。
另一方面,我看到开发人员的整个团队都在市场上,因为他们的环境发生了变化。举个例子,我过去认识很多在马克·云手下的X公司工作的人。这是那种自然流失率很低的地方,因为人们真的很喜欢在那里工作。然后马克离开了。在接下来的两年里,几乎所有我认识的在那里工作的人都离开了。这一变化既创造了团队求职市场上的一个柠檬,又让一群优秀的开发人员进入了市场。这类事情一直在发生,现在甚至比过去更多,因为今天的收购环境非常繁重。
开发商在租柠檬市场吗?嗯,这要看你这么说是什么意思了。开发人员和招聘经理都有不完整的信息。一个方向的柠檬市场是否会使另一个方向的柠檬市场变得更好或更糟,这一点并不明显。加入新团队是不确定的,这使得开发人员不太可能离开现有的团队,这使得雇佣开发人员变得更加困难。但事实上,开发人员经常加入他们不喜欢的团队,这使得雇佣开发人员变得更容易。这样做的净效果是什么?我没有头绪。
从我的立场来看,似乎真的很难找到一个好的经理/团队,我也不知道有什么可复制的策略来做到这一点;我非常同情那些找不到合适人选的人,因为我知道这有多难。但我看到了可复制的招聘策略,所以我对那些抱怨不可能招到优秀开发人员的招聘经理几乎没有多大的同情心。
到目前为止,在我见过的每一个案例中,当招聘经理抱怨招聘问题时,招聘经理都有以下问题之一:
他们付的钱太少了。上一次我去找工作时,我发现可能在同一地理区域雇用我的公司的薪酬相差了6倍。基本上,所有的公司都认为自己很有竞争力,即使是当它们处于范围的最低端时也是如此。我不知道它是什么,但公司似乎总是认为他们的薪酬很高,即使他们甚至没有接近正确的范围。几乎与我交谈过的每个人都告诉我,他们的薪酬与任何合理的公司一样高。当然,有一些公司支付的价格稍高一些,但他们支付的价格过高了!如果你读一读乔尔的文章,你就会发现这一点--当他在上面引用的帖子中,他谈到了Fog Creek的报酬有多高。几年后,他抱怨谷歌为没有经验的大学生支付过高的薪酬,最近他几乎是在说,你不想在薪酬高的公司工作。
他们会传授优秀甚至优秀的开发人员3.早些时候,我声称我认识很多正在找工作的优秀开发人员。你可能会问,如果有这么多优秀的开发人员在找工作,为什么找他们这么难?乔尔声称,在1000份简历中,可能有30份是可靠的,970份是不称职的。在我看来,400个会很扎实,20个会很不错。这只是因为几乎每个人都使用相同的过滤器,所以每个人最终都会为他们认为可靠的30个人而争论不休。当人们对实际导致简历被过滤掉的因素进行随机试验时,通常会发现,与工作表现无关或无关的特质会产生巨大的差异。例如,在这项关于律师事务所招聘的研究中,作者发现,在没有其他变化的情况下,男性和简历上有高级标志的组合(帆船、马球和古典音乐而不是田径、搭载足球和乡村音乐)导致面试邀请增加了4倍。
我工作的第一家公司,Centaur,有一个现场面试程序,没有谷歌和Facebook这样的地方的电话屏幕那么严格。如果你听乔尔这样的人的话,你会认为半人马充满了笨蛋,但在业界工作了十多年(包括在谷歌工作)后,半人马的开发人员生产率是我工作过的所有地方中最好的。
Matasano通过使用一套不同的过滤器和获得一组不同的人员来解决他们的招聘问题,这是出了名的。尽管他们的策略取得了巨大的成功,但几乎每个人都坚持标准的策略,即挑选有品牌血统的人,进行与其他所有人基本相同的面试程序,抬高时尚人士的价格,忽略其他所有人。
如果我看看我知道的今天需求量很大的开发商,他们中的很大一部分人经历了多年的未充分就业,实际上是在乞求有趣的工作。如果你能找到这些人,就很容易雇到他们。
他们正试图招聘一些稀有技能的结合体。现在,如果你想招聘一个在深度学习和其他方面有经验的人,那么你会过得很糟糕。
他们的功能障碍比他们意识到的要严重得多。我认识一位招聘经理,他抱怨招聘有多难。他没有意识到的是,实际上他的团队中的每个人都非常不高兴,他的团队中有很大一部分人给朋友们提供了反对推荐,并告诉他们不要去。
这是一个极端的例子,但当员工认为这个地方平庸甚至糟糕时,副总裁或创始人会对招聘如此困难感到困惑,这是很常见的。
在这些问题中,(1)低工资既是最常见的,也是最容易解决的。
过去几年,甲骨文和阿里巴巴在西雅图成立了新的云计算集团。这是一个竞争相对激烈的领域,在招聘4名员工时,这两家公司的名声都不利于他们。如果你相信有关招聘有多难的抱怨,你不会认为一家公司(更不用说两家公司)能够在西雅图组建整个云团队。两家公司都解决了这个问题,支付的价格远远高于他们的竞争对手为有类似经历的人提供的价格。阿里巴巴以如此慷慨的出价而闻名,以至于当我与微软(Microsoft)谈判我的出价时,微软告诉我,他们的出价可以与除阿里巴巴以外的任何一家公司的出价相媲美。我相信甲骨文和阿里巴巴在过去几年里雇佣了数百名工程师。
大多数公司不需要雇佣近数百人;他们可以在不雇佣太多开发人员的情况下支付有竞争力的薪酬,以至于整个市场都在向上移动,但他们仍然拒绝这样做,同时抱怨招聘有多么困难。
(2)筛选出优秀的潜在员工,似乎是现代版的,从来没有人因为雇佣IBM而被解雇。如果你雇佣了一个有时尚背景的人,他擅长传统的编码面试,但他们都不会成功,谁会责怪你呢?没有人会注意到你错过的所有人。就像(1)一样,这是几乎每个人都认为自己做得很好的事情,他们会说这样的话:我们必须降低门槛才能雇佣更多的人,而没有人想要这样的人。(1)这是几乎每个人都认为自己做得很好的事情,他们会说这样的话:我们必须降低门槛来雇佣更多的人。但我从来没有在一个地方工作过,那里没有过滤掉很多人,他们最终在其他地方做了很棒的工作。我曾试着在我工作过的地方雇佣过被低估的程序员,但我从来没有成功招到过一个。有一次,一位我没有被录用的人在就业不足大约四年后设法在谷歌找到了一份工作(在那里是一个明星)。然后那家伙帮我在谷歌找到了工作。不雇用那个家伙不仅让他们失去了我的好朋友,而且最终也让他们失去了我!
顺便说一句,这说明了乔尔的想法的一个问题,即开发人员永远不会申请工作。通常有很长一段时间,一名优秀的开发人员很难被聘用,即使是通过他们的关系网,谁知道他们是优秀的,因为他们看起来不像人们想象的优秀开发人员的样子。此外,谷歌已经对哪些招聘渠道进行了大量研究,发现推荐和内部推荐实际上并不能产生太多信号。虽然人们会提到伟大的开发人员,但他们也会提到糟糕的开发人员。大多数公司设立的推荐奖金计划在某种程度上扭曲了激励机制,使推荐比你预期的更糟糕。由于这个和其他问题,许多公司不会特别重视推荐,优秀的开发人员仍然会像其他人一样经历正常的招聘过程。
(3)需要怪异的技能组合,可以通过雇佣拥有所需专业知识的一半或三分之一的人,并对其进行培训来解决。在这一点上,人们似乎不需要太多的说服力,我看到这种情况时有发生。
(4)功能障碍似乎难以修复。如果我知道。
..