Aaron Swartz 如何招聘到优秀的程序员
译者按
这篇译文来自英年早逝的天才少年Aaron Swartz。Aaron在14岁的时候就参与创造RSS 1.0规范。并且是Python框架web.py的作者以及Markdown的主要贡献者之一。Aaron致力于推动互联网信息的开放与自由,曾创办网上免费图书馆Open Library,以及反对互联网审查(SOPA)的Demand Progress。这名年轻的斗士迫于政府以及司法的压力于2013年自杀身亡,享年26岁。
Aaron在这篇文章里着重介绍了他是如何招聘程序员的,然而文中的观点其实同样适用于鉴别任何一个职位的候选人。可能有一些细节方法不太适用于国内目前这个招聘环境,不过大多数思考以及一些要点的提炼都非常值得借鉴。我在摸索招聘的过程中也是从这篇文章受益匪浅,每次阅读都会有新的收获。而对于招聘另一端的求职者来讲,根据Aaron的评判来看自己哪里做的不足,想必也一定会有所收益。
祝大家阅读愉快!
在招聘一个程序员的时候(或者其他任何人)你应该问自己三个问题:他聪明吗?他靠谱吗(能按时交付,原文是:get stuff done)?你愿意跟他一起工作吗?
那些很聪明但不靠谱的人可以是你的朋友,但不应该是你的员工。你可以在他们拖延自己的工作的时候跟他们讨论你遇到的问题。那些靠谱但是不够聪明的人效率会太低:不聪明的人往往不会变通,跟他们工作很慢并且让人感到沮丧。而那些你不愿意一起工作的人,你为什么要招他?
常规的程序员招聘流程是:a) 看简历, b) 电话上问一些有难度的问题, c) 现场给他们一个编程问题。我觉得这是一个很糟糕的套路。简历上信息很有限,面试中又容易紧张,候选人很可能表现不出实际的水平。编程通常情况下不是一个需要在高压下完成的工作。所以在一个人紧张的时候看他的表现是一件很没有意义的事情。而且面试中的一些问题看起来就像是专门用来折磨候选人的。我认为我是一个很不错的程序员,不过我从来没通过过这些面试,而且估计以后也不会。
所以当我招人的时候,我就去考察这三个问题。评估他是否靠谱,我会问他之前做过什么。如果候选人很靠谱,那么一定做成过一些事——比如程序员都会有项目经验,毕竟现在很容易就可以参与到开源项目中,纸上谈兵不可能成为优秀的程序员。我会要一份代码样例和 demo,然后看代码写的如何。这样你可以快速获取大量的信息,因为你不是在让他应对面试,而是看他们在实际中用到的代码。它们够简洁吗?够清晰吗?够优雅吗?可用吗?你会想把这样的代码放进你的产品里吗?
想要看他们是否聪明,我会跟他们聊聊天。首先,我会尽可能地消除对方的压力:比如地点会约在咖啡厅,会说清楚这不是一个面试,并且尽力使自己量表现得随意和友好一些。我永远都不会问一些标准的“面试问题”——我会像跟在派对上遇到的人一样跟他们聊天(如果你在派对上问别人他们的优点和缺点或者去估算芝加哥有多少钢琴调音师的话,你的问题就大了…)。我认为我在聊天时很容易判断一个人是否聪明,就像我可以一眼看出一个人是否有魅力。
不过如果非要我给出聪明的判断标准,我会着重于以下三点:
第一,他们对事物的认知是什么样的?问他们最近都在思考哪些问题并且深入的问下去。他们看起来像是详细地了解这个问题吗?他们能清楚地阐述它吗(清晰的解释一个问题表示他们真正的理解它了)?关于这个话题他们知道一些你不知道的事吗?
第二,是否有好奇心?他们会回应甚至反问你吗?是真的感兴趣还是只是礼貌地应付?针对你说的东西他们会问后续的问题吗?他们的问题会启发你思考吗?
第三,是否会学习?在对话中的某个节点,你很可能会向他们解释一些事情。他们是真的理解你所说的还是只是点头微笑?有些人会对某个小领域有些研究,不过对其他的东西不感兴趣。有些人会仅仅停留在好奇而不会去真的学习研究,他们问很多问题却从来听不进去。你要找以上三点都满足的人。
最后,我会通过跟他们一起出去待待来判断是否愿意和他们一起工作。很多牛人会在一个小时的交流里表现得讨人喜欢,不过在几个小时后那些反常的特征就会显露出来。所以在聊天结束后,可以邀请他们跟团队一起吃个饭或是在办公室里玩个小游戏。别忘了尽力营造轻松的氛围。重点是看他们会不会让你反感。
如果所有这些都很不错,在确认发出 offer 之前,我会最后做一个基础测试来确保我没被耍:要求他们做一部分真正的工作。通常这意味着选取一部分相对独立的代码工作让他们去实现(如果你坚持想要看一个人在高压下的表现,设置一个 deadline)。如果需要,你可以付给他们报酬,不过我发现对于大多数程序员而言,只要能够事后把自己的工作开源,他们并不在乎完成一个像这样的小任务。这个测试独立存在时并没有意义,不过如果他们满足了以上的三点,这个测试足够证明他们没有骗你,并且能够真正靠谱地完成工作。
(我认识的人有的会说“不如先把这个人招过来,工作一个月然后再看怎么样”。这通常行不通。如果你不能在一个小项目后做出决定,你可能一个月后也同样做不出决定,这样就会使你招到一个不够优秀的人。还不如直接拒绝掉并且着力于找到更好的人。)
我对这套方法非常满意。当我略过以上某一步的时候,我通常会招到一个错的人并且最终不得不让他走。但是当我遵循这个方法的时候,我总是能招到那些让我觉得不跟他们工作是种遗憾的人。最后,我很惊讶这么多公司还在用一些很蠢的方法去招人。
欢迎关注我的公众号:sadhrd , 一起聊聊职场、段子和升职技巧:)
2014-08-05 10:01:00 作者:
长久以来,微软一直都在企业软件市场上占据着主导地位,其新任首席执行官萨提亚·纳德拉(Satya Nadella)更是雄心勃勃地想要占有与生产力软件和云服务有关的所有东西。然而,在搜索广告业务的支持下,在庞大的用户人群中极受欢迎的谷歌已经在企业软件市场上占据了强大的地位。多年以来,谷歌一直都在利用价格低廉的 云服务来侵占这个市场,如电子邮件和日历、生产力应用、视频聊天服务Hangout和存储服务等。而据美国科技博客Quartz称,在特定的企业客户中, 谷歌已经取得了成功。
为了衡量谷歌在企业软件市场上所取得的进展,Quartz查阅了三大类别总计150家公司的电子邮件主机服务MX(邮件交换)记录,这些公司分别是跻身于《财富》50强的大型美国公司、中等规模的上市及非上市科技和媒体公司、以及上一批接受Y Combinator孵化的50家硅谷创业公司。
查阅这些记录的结果表明,在《财富》50强公司中,仅有一家公司——事实上是谷歌自己——的邮件交换记录是指向谷歌的服务器的;在中等规模的公司中,将近60%都使用了谷歌的主机服务,其中包括社交媒体服务Twitter、云存储服务提供商Dropbox和Box、旅行房屋租赁社区Airbnb、移动支付服务提供商Square、打车应用Uber和手工艺品电商Etsy等。
与此相比,在Y Combinator创业公司——大多数都是规模非常小的公司,这些公司筹集到了一定的资金,但经常都会面临预算紧张的困境——中,有92%都在使用谷歌的电子邮件主机服务。
这种数据对比说明了两件事情。首先,微软以及IBM等公司仍旧牢牢掌控着大型企业客户,这一点得到了市场研究公司Gartner分析师汤姆·艾德(Tom Eid)的证实。根据艾德的预测,今年全球企业电子邮件市场总额将会达到50亿美元,比去年同期增长10%左右;在这一市场的客户支出总额中,微软仍旧将占据75%的份额,而谷歌则仅为3%到5%。
但从另一方面来看,这些数据则意味着谷歌正在“窃取”微软未来的客户基础。在今天,或许这对微软来说不会造成多大损害;但是,当今天的小型公司成长为明天的市场领导者时,它们是会改用微软的产品,还是会对谷歌不离不弃,抑或是“脚踩两条船”呢?
另一个问题则是,谷歌在这个市场上是否面临竞争。微软已经进入了基于云服务的电子邮件和应用市场,并在其最新公布的财报中称,商用Office 365(其中包括电子邮件和Office应用)的订阅销售量同比增长了100%以上。但与此同时,微软的企业软件授权业务在上一财年中的销售额为420亿美元,与去年相比几无增长。
Dropbox和Box都是云存储市场上的新贵,这两家公司都可能在未来的某一天成为谷歌的竞争对手。Dropbox已经收购了电子邮件阅读和创制应用Mailbox,但尚未推出电子邮件主机服务,其创始人德鲁·休斯顿(Drew Houston)也并未就此置评。但Box首席执行官阿隆·列维(Aaron Levie)则表示,目前该公司并无进军这个市场的想法。他说道:“我们想要追逐的是那些能让我们占据独特地位的市场。”
定价则是另一个问题。谷歌目前90%的营收都来自于广告业务,该公司向其企业电子邮件和协作平台Google App的客户仅收取极低的费用:每用户包月费用仅为5美元,10美元即可获得无限的存储空间。与此相比,Box的收费标准则要高出三倍或更多,而微软的企业合同价格则更是高得多。
这就意味着,就目前而言微软仍旧占据着领导地位,但谷歌极具颠覆性的计划正在发挥作用。
发表评论