软件公司的商业模式与招聘

以下是本人的一个读书小结。译自《SMART & GET THINGS DONE》 Joel Spolsky’s concise guide to finding the best technical talent。 初次翻译,比较生硬,请见谅。

 

用一句话概括:软件公司的商业模式是聘请顶尖(聪明,能做事的)程序员,虽然花费多20%到30%,但是他们会带来数倍的工作效率和最好的产品。

 

1.软件公司的商业模式
 

最好的工作环境 --> 最好的程序员 --> 最好的软件 --> 利润

 

这个模式的关键点是找到最好的程序员。为什么最好的程序员可以带来利润?这是由软件的特性决定的。因为软件的复制与使用成本几乎是零。商业软件的最大成本在于开发成本。好的程序员不但可以做出最好用的软件,而且会节约大量成本。

耶鲁大学的CS323 是一门有很多程序设计作业的计算机课程。学生会被要求在每两周完成一个大作业:比如实现Unix的命令行shell,实现ZLW 文件压缩算法等。在交作业的同时,学生需要报告所花费的时间。几年下来的数据表明,平均完成作业时间是21.44小时,最快的只用4小时,最慢的要用77小时。标准方差是11.16小时。快的学生所用时间不到慢的学生的十分之一。是不是好的学生做的快呢?当只考虑成绩(平方为程序自动测试,排除了人为因素)为前四分之一的学生是,结果是相近的。分别为:20.49, 6.00,77.00和10.93.可见所花费时间与代码质量是无关的。由此可见程序员的工作效率差别有十倍之大。

成本的节省不止在程序员效率上,较多的人员会需要更多的协调与沟通。著名的Brooks定律表明:“向已经落后的编程项目增加人手只会让它更慢。”

不止这些,一群平庸的程序员,不管工作多久,也写不出伟大程序员可以制造的产品。这方面有太多的例子了。

2. 找到伟大的程序员
伟大的程序员在哪里?有一点可以肯定,他们不在市场上。还未毕业,他们通常会被导师推荐给业界。如果他们离开一家公司,那是因为他们的兴趣转移到了另一家并且会立刻得到想要的工作。怎么寻找他们呢?有三种方法:上山,实习生,建立自己的小圈子。

上山,是因为他们高高在上。去各种技术会议,开源论坛,热门的技术讲座。。。

实习生也是寻找人才的好方法。向各个好大学计算机系发广告。从二百个学生里选出十个,通过电话试谈,邀请二三个来面试。在机场有豪华车专人迎接,住最好的酒店,送公司的DVD介绍,游览当地名胜好让他们喜欢这个地方。实习包吃包住,薪水也不错。通过双向考核,让双方都满意。

建立自己的小圈子比较困难。可以通过写博客,办讲座,写书的方式来联络程序高手。

员工推荐是很多公司常用的找人办法,甚至会奖励推荐人。这种方式的弊端是由于朋友关系,不胜任的人会被录用。

3. 办公环境体验
办公环境

你怎么让顶尖程序员喜欢你的工作环境?太多的证据(Peopleware 人件,很多研究结果)表明安静不受打扰的单间办公室会带来高效率,可是很少有公司这么做。风险投资会不同意,单间办公室太贵,而且会妨碍大家交谊。说了这么多,为什么大老板都喜欢单间办公室呢?

我在寸土寸金的纽约给每个程序员安排一间办公室。每个人坐九百美金一个的Herman Miller 的Aeron椅子。因为这种椅子非常舒服而且非常耐用。人们通常会分不出用了六年的椅子和新买的。这种椅子最少可以用十年。通常的椅子一百美金一个,一般可以用两年半。算下来,十年的时间Aeron椅子只贵五百美金。相当于每周一美金。这是你花在洗手间卷纸的钱。

同样的道理,程序员用的显示器通常是大的双屏LCD或一个超大的LCD。

程序员的社会生活

程序员喜欢在把他们当成明星的公司工作。如果你的CEO是销售员出身,你要求单间办公室和大LCD显示器,他或她会怎么想?

同事是些什么样的人?聪明人总是喜欢和聪明人打交道。物以类聚么。

程序员喜欢独立自主,对自己做的事情负责。不喜欢外行或不了解情况的人指手画脚。

办公室政治是不受欢迎的。技术上的对与错通常是黑白分明的。不要用行政手段。

我在做什么?

程序员喜欢做自己喜欢的事情。比较酷的技术,有影响力的项目都受欢迎。所以让顶尖程序员挑选他们喜欢的项目。程序员通常喜欢在“特别”的公司做“有意义”的工作。

程序员不在乎钱。只有还算公平,他们不在乎薪水。

4. 挑选简历
有太多的简历,而且不太容易区分是每个公司都会遇到的难题。所以我们通常会选择投放招聘广告的地方,不单以简历取人,并且尽可能客观系统地看简历。

简历挑选的标准包括:技术热情(通常会做一些或学一些工作之外的东西),对我们公司的了解程度,写作语法的规范性(写技术文档要求精确),聪明程度,获得奖励,技术深度,不同背景的多样性。

不要试着招聘有某种特殊技能或经验(比如有三年Java EE经验)的人。技术发展很快,需要不断学习。

5. 电话考察
这是一种比较经济,相对公平的考核。一个人的相貌,气质,自信程度会影响面试结果。但是电话考察会避免这些弊端。

我的电话考察分为三部分:

先让对方自我介绍,放松一下。看对方想表达什么。

其次考核对方的解决问题能力和技术热情。这里要问很多技术细节。其次了解一下对方遇到困难或阻力时是如何处理的。一些开放式的问题也有帮助。比如你如何设计某个问题数据结构。

最后,让对方问问题来了解我们公司。顺便了解对方对我公司的兴趣。

6. 面试的游击战术
归根结底,我们想找 1)聪明 2)能做事的人。有博士学位的人是那种典型聪明但不能成事的人。他们可以洋洋洒洒论述电子表格是一种特殊的编程语言,但是缺乏实际用处。能做事但不聪明的人,常常做愚蠢的事情。还不如不干的好。

怎么发现聪明做事的人?有一个信号是你不用反复解释,他们一听就明白而且会不时贡献真知灼见。千万不要因为对方同意你的观点就认可对方。一些无关痛痒的小问题,像varchar 和 varchar2的区别,也要避免。他们只不过测试短期记性而已。你需要了解对方的能力而不是有哪些基本技能。

千万不要因为候选人是MIT的博士就认为其聪明,也不要受别人的成见影响。面试前,我会自信阅读简历然后制定一个面试计划:

1) 自我介绍:让对方放松,介绍一下自己和面试的程序。

2) 询问对方最近工作过的项目和一些经历问题。观察候选人有没有技术热情,能不能说清楚事情,有没有领导潜质。

3) 问一个常用的简单编程问题,看候选人的解题速度。因为他们整天编程的话,这些应该成为本能。

4) 指针,递归问题。有一定难度来检查编程能力。

5) 你的程序员有没有bug?让对方检查程序的正确性。

6) 让对方问问题并且说说公司的好处。无论你是否雇用候选人,你希望他能喜欢你的公司。

一旦决定录用,就要以诚相待,表现出热情让候选人感受到。付安家费,移民律师费等。对不能录用的人,要给出一个快速令人尊重的通知。


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/yingliu4203/archive/2009/08/29/4496596.aspx

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值