聪明,能做事

以下是本人的一个读书小结。译自《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) 让对方问问题并且说说公司的好处。无论你是否雇用候选人,你希望他能喜欢你的公司。

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

软件公司的商业模式与招聘相关推荐

  1. 什么才是AI公司的商业模式?

    什么才是AI公司的商业模式? http://blog.sina.com.cn/s/blog_cfa68e330102zelf.html 作者:Dan Nguyen-Huu ,来源:Forbes 编译: ...

  2. 一张图解读小米公司的商业模式

    「互联网思维」这个词,应该是2013年行业里最火的词,一个好的互联网思维的商业模式就等于一个清晰的战略地图.黑马哥通过研究小米手机.乐视电视.Roseonly.极路由等互联网产品案例,总结出关于互联网 ...

  3. 中国企业软件公司的转型之路

    周日一个关于国内"企业软件"公司商业模式问题的微博引起轩然大波,"低调而奢华"公司及鼓吹其股票的投资分析师的围攻自不待言:胡搅蛮缠,没听清楚别人想说啥,站在自己 ...

  4. 黑客攻击公司化:网络犯罪也有商业模式也有CEO

    本文根据英国电信(BT)安全CEO马克·修斯,和毕马威会计事务所(KPMG)技术总监,前国防部网络与空间主管,大卫·法布拉齐,两人的文章所整理. 今天,黑客们也有模有样地模仿合法公司创立自己的企业了, ...

  5. 从红帽公司的崛起聊聊开源商业模式

    对于计算机从业的朋友们来说,开源和闭源是很常见的概念,简而言之,开源软件是一种源代码可以任意获取的计算机软件,任何人都可以通过互联网查看项目的部分或全部源代码,继续延伸的话,还包括允许代码修改后自行使 ...

  6. 业务:某化妆品公司商业模式

    化妆品行业属于必需消费行业里个人用品,竞争比较激烈,所以市场集中度不高,化妆品公司的商业模式我们可能都很熟悉,但就是没有系统性的认识,今天笔者从一个旁观者的角度结合财务报告去认识.理解这个行业. 一. ...

  7. 安保公司的商业计划书

    安保公司的商业计划书 年轻人,来做保安吧,少走二十年弯路 安保公司的商业计划书 安保品牌公司的商业模式 真正的路反潮流,不上大学去创业,其实反而是领先的. 工厂肯定不能创业的,因为打工的技能和创业的技 ...

  8. AI芯片初创公司单纯卖芯片还是捆绑算法的商业模式更好?...

    雷锋网在<资本寒冬,这样的AI芯片公司2019年危矣>一文中已经提到,2019年的资本寒冬以及整个半导体行业的低迷,将会让那些没有技术独特性以及缺乏商业落地能力,且现金流控制不好的AI芯片 ...

  9. AI芯片初创公司单纯卖芯片还是捆绑算法的商业模式更好?

    雷锋网在<资本寒冬,这样的AI芯片公司2019年危矣>一文中已经提到,2019年的资本寒冬以及整个半导体行业的低迷,将会让那些没有技术独特性以及缺乏商业落地能力,且现金流控制不好的AI芯片 ...

最新文章

  1. NXP智能驾驶软件系统
  2. 论文研读:Automatic Temporal Segment Detection and Affect Recognition From Face and Body Display
  3. 小程序从浏览器返回有一个空白页_北京做一个小程序
  4. Mac下PyCharm CE 配置PyQt5环境
  5. 浅谈Java解决鸡兔同笼问题的思路
  6. php fgetcsv 没有环绕符,PHP fgetcsv() 函数 | 菜鸟教程
  7. Silverlight 计时器
  8. 数据结构 Tricks(一)—— 父节点和左右孩子索引号之间的关系
  9. 块设备驱动详解 IDE(转)
  10. 光谱数据计算CIE值(三刺激值、CIE1931、CIE1976、CCT)软件
  11. 影视解说短视频制作教程,从找素材到配音,上手很简单
  12. CPU计算机性能的操作方法,电脑CPU性能测试最佳方法分享 赶紧学一下
  13. 【独行秀才】macOS Big Sur 11.6.5正式版(20G517)原版镜像
  14. ui sketch_如何在Sketch中设计汽车应用程序设计UI
  15. CF869C:C. The Intriguing Obsession(组合数)
  16. 国际炒黄金策略,炒黄金要怎么炒?
  17. ERR: partial write: points beyond retention policy dropped=10000
  18. 【Codecs系列】HEVC-SCC编码技术汇总
  19. 《Effective Modern C++》学习笔记之条款二十五:针对右值引用实施std::move,针对万能引用实施std::forward
  20. Maven可选依赖与排除依赖

热门文章

  1. 半路出家自学当程序员这一年的经历,大家一起共勉
  2. 内存管理基础学习笔记 - 2. 内核地址空间 - SLAB
  3. 【Linux】卸载Linux自带python2
  4. 前端性能分析 Chrome Dev Tools 之 Performance
  5. 手把手教你把网页转为.exe文件.
  6. Nginx (7):nginx高可用配置
  7. C语言之四书五经—C语言书籍推荐
  8. html 和 body 的区别
  9. 大内存时代虚拟内存现在还有用吗
  10. 2018.03.14 leetcode 打卡 # 118 pascal triangel