当前位置:首页 >>新闻 >> 2008年11月04日
[译稿]优秀的程序员都在哪里?
寻找优秀的程序员
作者:Joel Spolsky
译者:阮一峰
原文网址:http://www.joelonsoftware.com/articles/FindingGreatDevelopers.html
写于 2006年9月6日,星期三
优秀的程序员都在哪里?
这是你第一次公开招募雇员。如同大多数人一样,你会发布广告,可能也会浏览一些大型的网上论坛,然后你就得到了一吨的简历。
当一份份看的时候,你会想,“嗯嗯嗯,这人应该可以”,或者,“这人差远了”,或者,“我要知道他能不能下决心搬到布法罗[1]来”。但是,我保证有一件事肯定不会发生,那就是你对自己说:“哇,这家伙太聪明了!这种人,我们一定要得到!” 事实上,当你看完几千份简历——假定你懂得如何看简历,那可并不容易——你都看完了,足足几千份的求职申请,老实说,你从中没有发现一个优秀的程序员。一个也没有。
下面,我就来说说为什么会这样。
很简单,那些优秀的程序员,就同所有行业中最好的人才一样,是不会出现在招聘市场上的。
普通的程序员在整个职业生涯中,可能会有四次求职。
但是,那些最优秀的人才,当大学毕业的时候,他们会从教授那里得到实习的机会,就这样进入这个行业。然后,他们会从实习公司得到正式合同,根本不用去找其他工作。如果他们离开那家公司,那可能是因为同朋友一起去创业,或者因为他们跟着一个了不起的老板,一起跳槽到另一家公司,或者因为他们决定一定要换个工作方向。比如说Eclipse[2],因为Eclipse很酷,所以他们想去BEA[3]或者IBM找一个Eclipse的工作,然后他们肯定会得到这份工作,因为他们是优秀人才。
如果某一天,你遇到了这样的人出现在招聘市场上,那么你很幸运,你真的非常幸运。可能的情况是,他们的配偶决定到安克雷奇[4]当一个实习医生,他们就会发出简历,给少数几个他们认为自己愿意在里面工作的位于安克雷奇的公司。
但是大多数时候,优秀的程序员(我几乎是在重复了)是那么优秀(对,我就是在重复),未来的雇主通常会一眼看出他们的优秀,这意味着,这些程序员基本上想去哪里工作,就能去那里工作。所以,老实说,他们不会发出许多份简历,到处找工作。
听起来,他们就是你想雇的那种人?当然。
这条规律——优秀的人才从不在市场上求职——有一个推论,那就是在人才市场上找工作的,大部分都是一些水平很差、完全达不到要求的人。他们一年到头都在被解雇,因为他们不能完成工作。他们所在的公司也会完蛋,因为这些人是如此的不合格,所以有时他们会毁掉整间公司。是的,这种事真的发生。(公司完蛋的另一个可能的原因是,既然雇佣了一个不合格的程序员,就可能雇佣一大堆不合格的程序员,累积起来,就导致了总的失败。)
谢天谢地,这些那么糟糕的人很少能够求职成功,但是,他们总是不断地发出求职信。他们找工作的时候,就去Monster.com[5],将所有的职位翻看一遍,300个或者1000个,试图赢得彩票。
从数字上说,优秀的人才很少,而且从不出现在招聘市场上,而那些不称职的人,即使数量也同样少,却在整个职业生涯要申请几千份工作。所以,老兄,现在让我们回到你从Craigslist[6]上搞到的一大堆简历上来。你对他们中的大多数都看不上眼,有什么好奇怪的?
我猜想,聪明的读者读到这里,会指出我遗漏了最大的一类人:那些可靠的、称职的程序员。这一类人在数量上多于优秀程序员,但是少于不称职的程序员。不管怎样,总的来说,在你收到的1000份简历中,他们的比例是很小的。在绝大多数情况下,几乎所有此刻桌子上堆着1000份简历的Palo Alto[7]人事经理们会发现,其中970份简历都是出自同样的那少数970个不称职的程序员,内容都一样,这些家伙每一份工作都发求职信,也许会这样干上一辈子。1000份简历中仅仅只有30份是值得考虑的,其中可能偶然会出现一份优秀程序员的简历。OK,可能一份也没有。请想一想,如何在一堆干草中找到一根针,我们下面将会看到,这是可以做到的,但是比较难。
我能得到他们吗?
你能!
好吧,你也许能!
实际上,这要看情况而定!
请不要将招聘看作一个“收集简历,过滤简历”的过程,你必须将它看作是一个“追踪优胜者,设法结识他们”的过程。
我有三个基本方法,实现这个目的:
1. 走出去。
2. 实习生。
3. 建立自己的社区(community)。*
(“建立自己的社区”这一条后面,有一个星号。它的意思是,这一条有难度,难得就好像数学家乔治·丹茨格[8]解决的那道数学难题一样。他之所以能解决,是因为上课迟到了,以为黑板上的题是课外作业,而没有听到老师说,那道题是无法解决的难题。)
在这方面,你可能有自己的想法。我只是想谈一谈这三个对我自己有效的方法。
走出去,伙计!
设想一下,那些你想雇用的人会出现在什么地方。他们会去参加哪些会议?他们住在哪个地区?他们属于什么组织?他们上什么网站?不要像撒一张大网一样,在Monster.com上搜索求职者,你可以浏览“Joel谈软件”网站上的求职讨论区,将搜索范围缩小到那些阅读我的网站的聪明人。你还可以去那些真正有趣的技术会议。优秀的Mac[9]程序员会参加苹果公司的WWDC大会[10]。优秀的Windows程序员会参加微软的PDC大会[11]。此外,开源软件也有许多会议。
你要关心正流行的热门新技术。去年是Python语言,今年轮到了Ruby语言。你去参加它们的会议,在那里你会找到这些技术的早期接受者,那些人对新事物充满好奇心,而且永远对如何进一步改进有兴趣。
你要在走廊里到处兜兜,同遇到的每一个人都攀谈一番,去参加技术环节的小组专题讨论,将发言者邀请出来,一起喝杯啤酒。当你终于发现聪明人的时候,砰!——你立刻进入全力套近乎和吹捧模式。“啊哈哈哈哈,那真是太有趣了!”你说。“哦,我真不敢相信你这么聪明。你刚才说你在哪里工作?真的吗?那个地方?哎呀呀呀呀。你会不会觉得,你能做出更大的成绩?我想我的公司可以雇……”
这种方法的引申含义就是,不要在大型的求职论坛发布没有针对性的招聘广告。有一年夏天,我一不小心在MonsterTRAK[12]上发布了一个暑期实习的招聘广告。MonsterTRAK允许你只出很少的钱,就能使你的招聘广告有机会被美国各地所有学校的学生看到。结果就是我收到了几百份简历,但是其中没有一份能够通过第一轮筛选。我们花了钱,却得到了一堆几乎毫无机会被我们雇佣的人的简历。这样的日子,一连好几天,MonsterTRAK 源源不断地送来简历,这个事实使我觉得我们大概不会找到想要的人了。同样的,当Craigslist刚成立的时候,用户都是互联网产业的业内人士,我们通过在上面发招聘广告,找到了优秀人才。但是今天,会用计算机的人差不多都在上Craigslist,结果就产生了太多的简历,在其中发现人才,简直比在一堆干草中发现一根针的概率还要低。
实习生
抢到人才,那些永远不会在招聘市场上出现的优秀人才,有一个好办法。那就是当他们还在学校里的时候就出手,那个时候他们甚至还没有意识到,世界上有人才市场这件事情。
一些人事经理非常反对雇佣实习生。他们认为实习生不成熟、水平不够。一定程度上,确实如此。实习生不如资深雇员有经验(且慢,真的如此?!)。你不得不在他们身上多付出一些,这需要时间,然后他们才会全速前进。对于我们这个行业来说,好消息是,一些真正优秀的程序员往往在10岁的时候就开始编程。当其他同龄的孩子正在玩足球(这是一种许多不能编程的孩子喜欢玩的游戏,就是用脚去踢一个叫做球的圆形物体——这样说听起来很怪,我知道的),他们却在爸爸的书房里试着编译Linux的内核(kernel)。他们不去操场上盯着女生看,而是在Usenet[13]上大打口水战,宣称某些编程语言糟糕透顶,没有实现Haskell[14]风格的类型推断(type inference)。他们不在车库里组建乐队,而是动手完成一个很
[ 关键词:程序员 原文/来源链接 ]
![[译稿]优秀的程序员都在哪里?](images/caogen/logo.jpg)



看看现在国内的招聘网站干的事吧—— 向公司人事不停打电话要求推荐人才的同时,又在给同一家公司里的员工打电话游说跳槽……
不.3160364错