刚在 Planet Python 看到的一篇关于招聘程序员的文章,虽然有些偏激,但是仍让我很是触动。
原文地址:http://lateral.netmanagers.com.ar/weblog/posts/BB881.html
Finding a programmer that can program.
If you haven't read Jeff Atwood's Why Can't Programmers.. Program? go ahead, then come back.
Now, are you scared enough? Don't be, the problem there is with the hiring process.
Yes, there are lots of people who show up for programming positions and can't program. That's not unusual!
It's related to something I read by Joel Spolsky (amazingly, Jeff Atwood's partner in stackoverflow.com).
Suppose you are a company that tries to hire in the top 1% of programmers, and have an open position.
You get 100 applicants. Of those, 99 can't program. 1 can. You hire him.
Then the company next door needs to do the same thing. They may get 100 applicant. 99 can't program ... and probably 80 of them are the same the previous company rejected before!
So no, hiring the best 1 out of 100 is not a way to get a programmer in the top 1% at all, that's just statistics intuition getting the worse of you.
You don't want to hire in the top 1% of applicants, you want to hire in the top 1% of programmers. Different universes.
These two things are the two sides of the same coin. 99% of applicants are useless, that's why they are applicants, because they can't get a job and they can't get a job because they are useless as programmers.
So, judging programmers by the standard of the applicants you get is like judging quality of a restaurant by licking its dumpster.
But now, having taken care of this, how do you find a programmer that can actually program?
Easy! Find one that has programs he can show you!
I would never hire a programmer that can't show me code. There must be something wrong with him, because programmers write programs.
That's just what we do. If we didn't what kind of programmers would we be?
Let's see some obvious objections to my argument:
1.
He wrote code for his previous employer and can't show it.
So, he did. What else has he written? Some open source code? Maybe snippets in a blog? Answers in stackoverflow?
Nothing? He has written nothing he was not paid to write? He is not who I want. He only programs for money, he lacks passion for programming, he doesn't enjoy it. He is probably not very good at it.
2.
He is just finishing college, he has not written much code yet!
Why? What stopped him? He has been learning to program for years, what has he done with the knowledge he has been receiving? Saving it for his 25th brthday party? He has not practiced his craft? Not the programmer I need.
But having him show you code is not enough, of course. It also has to be good code, if you are serious about hiring excellent programmers.
So here's some bonus criteria:
1. Check the languages he uses. If he codes COBOL for pleasure, he may or may not be what you want.
2. Open source == bonus points: it means he is not ashamed of his code, plus it makes his credentials trivial to verify.
3. If he leads a project with multiple contributors and does a good job he is half way to becoming a programmer/manager, so huge bonus points.
4. Projects with long commit histories show responsability and a level head.
5. Development mailing lists let you gauge his personality. Is he abrasive? Is he thin-skinned? Is he annoying?
Then there's the obvious stuff, references from previous employers, interviews, exercises, an such. But those are the least important filters, the most important thing is that he must be able to code. And showing you his code is the way to do it.
分享到:
相关推荐
《程序员编程艺术系列之程序员编程艺术》是一本深入探讨编程技巧和思维的艺术性书籍,旨在提升程序员的专业素养和代码质量。编程艺术不仅关乎技术的掌握,更在于如何将技术运用得巧妙、优雅,以实现高效、可维护的...
3. **特殊字符支持**:编程中常常需要输入一些特殊字符,如括号、引号、运算符等,程序员输入法通常会优化这些字符的输入方式,使其更易于输入。 4. **多语言支持**:程序员可能需要处理多种编程语言,好的编程...
程序员编程艺术pdf可编辑,教你如何将编程作为一门艺术
【标题】"程序员鱼皮的编程宝典"是一份由知名程序员鱼皮原创的编程学习路线,旨在为编程初学者及求职者提供一套系统性的学习路径。这份宝典涵盖了丰富的经验分享、技术知识、学习资源以及实用的学习建议,旨在帮助...
在C++编程语言中,模板是一种强大的特性,它允许程序员编写与数据类型无关的代码,从而达到代码复用的目的。模板可以应用于函数和类,分别称为函数模板和类模板。在黑马程序员的《程序员C++提高编程PDF》讲义中,...
Linux C 编程 程序员书库 李玉波 1-8章的内容。 书中有些任内容是抄袭的,所以写的特别好。
《程序员编程最需要的计算机词典》是一款专为程序员量身打造的综合资源包,包含了大量编程相关的术语、概念和工具的详细解释。这款词典软件不仅提供了方便的查询功能,还涵盖了各种编程语言、数据结构、算法、操作...
【标题】中提到的"C语言高级程序员编程指南.pdf" 指出了本书是专门针对C语言高级程序员编写的,意味着它将包含深入的技术细节和高级编程概念。这本书很可能包括对C语言深层次特性的讲解,包括内存管理、指针操作、...
黑马程序员,C++核心编程
《C语言高级程序员编程指南》是一本专为已经掌握C语言基础并希望深入学习和提升的程序员准备的书籍。本书全面覆盖了C语言的高级特性,旨在帮助读者掌握更复杂、更高效的编程技术,从而在实际开发中游刃有余。 在...
《编程之道》是一本专为程序员打造的书籍,它深入探讨了编程世界中的哲学与实践,旨在提升程序员的技能和理解。这本书不仅涵盖了技术层面的知识,更包含了如何成为一名优秀的程序员所必需的生活态度和思维方式。书中...
### 游戏程序员编程方向知识点解析 #### 一、游戏程序员学习方向概述 在游戏开发领域,游戏程序员扮演着至关重要的角色。他们不仅需要具备扎实的编程基础,还需要对特定的技术领域有深入的理解。根据提供的部分...
利用ACE框架写网络代码时所必须的API查询手册,有助于开发人员理解网络原理
这些都是高级程序员在日常工作中不可避免会遇到的问题,书中可能提供了一些建议和方法来处理这些常见的挑战。 对于那些希望向财富500强公司提供软件解决方案的公司,书中也许提供了一些指导,帮助他们达到企业级...
《我编程,我快乐:程序员职业规划之道》这本书聚焦于软件开发者如何在职业生涯中找到乐趣、实现个人价值和持续成长。作为一个程序员,你的工作不仅仅是编写代码,而是通过代码创造价值,解决问题,甚至改变世界。...
本文档为程序员编程艺术系列:http://blog.csdn.net/v_july_v/article/category/784066,的PDF电子版,它最初由朋友吴超和花明月暗于04.03制作,而在此之前,你在任何一个地方都找不到它。 特此分享,完全免费0积分...
本人的《FOXPRO编程宝典之一》,《FOXPRO编程宝典之二》和《FOXPRO编 程宝典之三》系列软件在《电脑报》配套...者和程序员的普遍欢迎,在朋友们的热情鼓励之下,本人推出《C语言编程宝 典》,并以HTML的形式献给大家。
发那科机器人程序员操作编程培训教材
程序员编程艺术第一~三十七章集锦.pdf
《UNIX环境高级编程》是 Unix/ Linux 程序员案头必备的一本书籍。可以说,Linux 程序员如果没有读过这本书,就好像基督教徒没有读过圣经一样,是很难让人理解的。