软件公司的商业模式与招聘
聪明,能做事
以下是本人的一个读书小结。译自《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) 让对方问问题并且说说公司的好处。无论你是否雇用候选人,你希望他能喜欢你的公司。
一旦决定录用,就要以诚相待,表现出热情让候选人感受到。付安家费,移民律师费等。对不能录用的人,要给出一个快速令人尊重的通知。
软件公司的商业模式与招聘相关推荐
- 什么才是AI公司的商业模式?
什么才是AI公司的商业模式? http://blog.sina.com.cn/s/blog_cfa68e330102zelf.html 作者:Dan Nguyen-Huu ,来源:Forbes 编译: ...
- 一张图解读小米公司的商业模式
「互联网思维」这个词,应该是2013年行业里最火的词,一个好的互联网思维的商业模式就等于一个清晰的战略地图.黑马哥通过研究小米手机.乐视电视.Roseonly.极路由等互联网产品案例,总结出关于互联网 ...
- 中国企业软件公司的转型之路
周日一个关于国内"企业软件"公司商业模式问题的微博引起轩然大波,"低调而奢华"公司及鼓吹其股票的投资分析师的围攻自不待言:胡搅蛮缠,没听清楚别人想说啥,站在自己 ...
- 黑客攻击公司化:网络犯罪也有商业模式也有CEO
本文根据英国电信(BT)安全CEO马克·修斯,和毕马威会计事务所(KPMG)技术总监,前国防部网络与空间主管,大卫·法布拉齐,两人的文章所整理. 今天,黑客们也有模有样地模仿合法公司创立自己的企业了, ...
- 从红帽公司的崛起聊聊开源商业模式
对于计算机从业的朋友们来说,开源和闭源是很常见的概念,简而言之,开源软件是一种源代码可以任意获取的计算机软件,任何人都可以通过互联网查看项目的部分或全部源代码,继续延伸的话,还包括允许代码修改后自行使 ...
- 业务:某化妆品公司商业模式
化妆品行业属于必需消费行业里个人用品,竞争比较激烈,所以市场集中度不高,化妆品公司的商业模式我们可能都很熟悉,但就是没有系统性的认识,今天笔者从一个旁观者的角度结合财务报告去认识.理解这个行业. 一. ...
- 安保公司的商业计划书
安保公司的商业计划书 年轻人,来做保安吧,少走二十年弯路 安保公司的商业计划书 安保品牌公司的商业模式 真正的路反潮流,不上大学去创业,其实反而是领先的. 工厂肯定不能创业的,因为打工的技能和创业的技 ...
- AI芯片初创公司单纯卖芯片还是捆绑算法的商业模式更好?...
雷锋网在<资本寒冬,这样的AI芯片公司2019年危矣>一文中已经提到,2019年的资本寒冬以及整个半导体行业的低迷,将会让那些没有技术独特性以及缺乏商业落地能力,且现金流控制不好的AI芯片 ...
- AI芯片初创公司单纯卖芯片还是捆绑算法的商业模式更好?
雷锋网在<资本寒冬,这样的AI芯片公司2019年危矣>一文中已经提到,2019年的资本寒冬以及整个半导体行业的低迷,将会让那些没有技术独特性以及缺乏商业落地能力,且现金流控制不好的AI芯片 ...
最新文章
- NXP智能驾驶软件系统
- 论文研读:Automatic Temporal Segment Detection and Affect Recognition From Face and Body Display
- 小程序从浏览器返回有一个空白页_北京做一个小程序
- Mac下PyCharm CE 配置PyQt5环境
- 浅谈Java解决鸡兔同笼问题的思路
- php fgetcsv 没有环绕符,PHP fgetcsv() 函数 | 菜鸟教程
- Silverlight 计时器
- 数据结构 Tricks(一)—— 父节点和左右孩子索引号之间的关系
- 块设备驱动详解 IDE(转)
- 光谱数据计算CIE值(三刺激值、CIE1931、CIE1976、CCT)软件
- 影视解说短视频制作教程,从找素材到配音,上手很简单
- CPU计算机性能的操作方法,电脑CPU性能测试最佳方法分享 赶紧学一下
- 【独行秀才】macOS Big Sur 11.6.5正式版(20G517)原版镜像
- ui sketch_如何在Sketch中设计汽车应用程序设计UI
- CF869C:C. The Intriguing Obsession(组合数)
- 国际炒黄金策略,炒黄金要怎么炒?
- ERR: partial write: points beyond retention policy dropped=10000
- 【Codecs系列】HEVC-SCC编码技术汇总
- 《Effective Modern C++》学习笔记之条款二十五:针对右值引用实施std::move,针对万能引用实施std::forward
- Maven可选依赖与排除依赖