按键盘上方向键 ← 或 → 可快速上下翻页,按键盘上的 Enter 键可回到本书目录页,按键盘上方向键 ↑ 可回到本页顶部!
————未阅读完?加入书签已便下次继续阅读!
招聘程序员在过去和现在都不是一件容易的工作。微软的第一个软件产品是为“牛郎星”(Altair8800)写的培基(BASIC)程序,“牛郎星”是当时的电脑爱好者自己组装的不完整的计算机。微软很快就有了自己的独家产品(建立在“牛郎星”平台上),但是这种情况并没有持续多久。“牛郎星”很快就被束之高阁,因为另外一种计算机——组装完整的计算机面世了。
同时,处理器和机器指令每过几年就有很大的变化,用来做程序开发的高级语言也更新很快。这种情况下,公司往往很快就从使用一种语言转换到使用另外一种语言,因此对应聘者某一种程序语言能力的测试就价值不大,因为这种语言可能很快就被淘汰。所以程序员最重要的素质应该是适应性。
微软招聘的一个主要目标就是要找到“比尔盖茨的克隆人”。公司希望找到像比尔盖茨一样具有智慧和竞争力的人,而不管他有无工作经验。微软人力资源管理者们最骄傲的一点是:他们能够确定哪一个员工可以在将来取得骄人的成就,而不是他曾经做出过什么成绩。
正是这种招聘哲学,它就像一个密不透风的隔膜,把微软员工和普通人隔离开来。微软把自身看做一个聪明人的俱乐部,这个俱乐部有两个标志:难题面试和员工股权。但是,并不是所有在雷德蒙德工作的人都被认为是微软员工——卫生管理员、接待员、保安、收发室、商店售货员、CD生产人员都是外包的员工。他们不会被要求回答这样的问题,例如“每天钟表的指针重叠多少次”,当然他们也没有员工股权。
微软的招聘工作十分谨慎,盖茨本身就是这样。盖茨想要确保每一个被雇用的员工都能够胜任他将要从事的工作。程序人员在面试时要写程序,他们还需要通过解决智力题从其他方面来证明自己。
第9节,
这种面试也曾经像肖克利的智商测试一样让人难以接受。许多应聘者感到(确实感到)写程序和被问到的智力题让人觉得有失身份。正如一场比赛的观众所知道的那样,只要在他面前晃动足够多的钱,有很多人愿意做一些自我感觉不好的事情。微软的应聘者愿意参加这种“惩罚”式的面试,是因为他们知道有很多微软员工不到中年就成了百万富翁。由于微软的影响,面试中编写程序和解决智力题已经成为软件行业的常见现象。
从微软的观点来说,智力题能够对应聘者的竞争能力和智力做出测试。商场和足球场一样,一道逻辑题就能够分出胜负。你给出答案,或者你给不出答案。就像教练告诉你说:获胜比能力更重要。你必须要“保持饥饿”,获胜最为重要。
人们在解决智力题的过程中往往有文不对题甚至是愚蠢的感觉,智力题的作用就是向你提出挑战。对有的人来说,他们很乐意接受这种挑战。就像爬山运动员,他们梦想登顶,就是因为喜欢面对山峰本身的挑战。一个好的智力题解决者不仅有着解决难题所需要的智慧,更应该主动面对智力题带来的任何挑战。
当软件变得日益庞大,单个的人已经很难只靠自己的力量完成整个软件的制作。MS…DOS1。0版本的绝大部分的工作——程序码、编译、找漏洞等,都是由蒂姆佩特森完成的。随着软件产品变得越来越复杂,就有必要对两个甚至更多的程序开发员进行分工。这种分工说起来容易做起来难。把不同的人写的大块程序合并起来并不是一件容易的事情,除非这些人在写程序的每一步都能够牢记这一点。因此必须在程序开发人员之间建立起一种有效的沟通,来保证他们都能够按照相同的“正确”方法来工作。问题是程序开发员可不是一群“随意”或者“善于”沟通的人,相反,这些人往往是喜欢在深夜单独工作的“夜猫子”。这就产生了一个大问题。
查尔斯西蒙尼是解决这个问题的人之一。西蒙尼是一位知名计算机科学家,但他选择了去对理论持有怀疑态度的商界工作。在施乐公司帕洛阿尔托研究中心,西蒙尼写出了第一个“所见即所得”的文字处理软件。但施乐公司根本不热衷于把公司实验室研制的窗口和鼠标界面推向市场,西蒙尼对此非常恼火。有一次到西雅图出差时,他在没有预约的情况下顺道拜访了微软公司。西蒙尼接受的面试相对比较容易,一位经理(史蒂夫鲍尔默)看了西蒙尼的简历后,认为比尔应当接见这个人,但是比尔当时正在开会。当比尔开完会后西蒙尼已经不得不去机场乘飞机回家了,盖茨就陪他一起去了机场。他们的个性碰撞出了火花,西蒙尼很快接受了去微软工作的邀请。
第10节,
西蒙尼认为可以通过设立一个“主程序员”的新职位,来解决多个程序员之间的合作和沟通问题,这同中世纪手工艺人的做法有点相像。主程序员对程序的总体规划和程序的编写负全责,他手下还有一个助理团队,这个助理团队负责程序代码的优化和挑错。
这是一个非常有用的主意,但由于程序员特有的个性,这种做法在他们中间也引起了一些麻烦:每个人都想成为主程序员。按照他们的说法,没有一个人想要成为所谓的“程序奴隶”。由于在一个项目中只能有一个主程序员(这也正是问题的所在),因而大多数程序员都做着普通的编程工作。
但是由于微软业务的迅速膨胀,主程序员的职位概念也很快走到了头。软件产品变得越来越大,一个主程序员已经不能满足项目的要求。还有一个更重要的问题是,主程序员不一定擅长软件设计。随着软件越来越复杂,以消费者为对象的设计问题渐渐从纯粹的代码编写中脱离出来。要让同一个人来负责两方面的工作,会让人心有余而力不足。尽管可能有人多才多艺,是剧作家的同时还能是一个好的橄榄球后卫,但是,如果你雇用一个人的目的是让他从事这项工作,而实际上又让他从事另一项工作,你肯定会感到失望。
“主程序员”这个称呼后来就不再怎么有人使用了。尽管微软是一个令人惊奇的“优秀”男人集中的地方,但是这个过度男权化的字眼还是让人不舒服,于是他们改用了一个中性的称呼——项目经理。目前项目经理这个工作岗位在软件行业非常普及,但据我们所知,这个称呼很可能是微软办公软件Excel的开发者杰贝布卢门撒尔的发明。
跟许多微软员工一样,布卢门撒尔在微软挣了足够的钱之后就离开了公司,开始从事其他的“后微软职业”。布卢门撒尔在喀斯喀特山脉地区开设了一所学校,同时在自己的母校湖滨中学(也是比尔盖茨的母校)教授高中数学和物理。布卢门撒尔最重要的想法是他认为项目经理不一定非要懂编程。他认为一个项目经理应该对软件的应用对象做出预想,应该对产品的外观和感觉负责。项目经理不是在写程序,而是在编制达到上述要求的产品规范。因此项目经理的工作就是领导程序开发人员,确保程序人员按照规划并且按时编写程序。
项目经理与开发人员之间有着微妙的关系。开发人员认为自己做的是真正的、艰苦的、生产性的工作,而项目经理是“低等生物”,他们多拿薪水,却是只知道滔滔不绝讲空话的呆瓜,就像《呆伯特》卡通画里长着刺一般头发的老板。
第11节,
而从项目经理的角度看,他们做的是创新的工作,而开发人员只不过是提供工具而已。项目经理是设计古根海姆博物馆的著名建筑师弗兰克盖里,开发人员只不过是建造古根海姆博物馆时的铆接工人。
由于这种分歧的存在,项目经理很难树立起自己的权威,他们很有外交风度地称自己做的是“牧猫”的工作。而人数多于项目经理的开发人员则不隐讳自己对项目经理的轻视。流行的笑话是:在任何需要项目经理技术水平的时候(比如去预订比萨),“叫项目经理来”。程序员亚当戴维巴尔回忆说:“在一次微软会议上,当讲话的人演示幻灯片出现问题时,有人大声喊道:屋里有项目经理吗?很多人大笑起来。这时又有人喊道:怎么啦?是要找他打高尔夫吗?屋里顿时笑翻了天。”
微软公司另外一个重要的工作岗位是程序测试员。程序测试员身上也能够反映出当今软件日趋复杂的一面。过去都是由程序员自己对程序的漏洞和可用性进行测试,帮助他们的是一群非公司员工的试用版测试员,这些人在将来可以优惠购买正式软件。今天,软件漏洞测试已经是一件非常重要的工作,它也需要有相关的测试专家。微软公司有数百人专门从事对别人的程序进行挑错的工作。
测试人员对软件进行非常严格的测试,例如,对一个电子表格无限地加行加列,直到它崩溃;或者打开一个又一个窗口直到某方面出问题;或者模仿病毒和黑客的攻击。与项目经理不同,测试员应该懂得如何编程,他们经常编写一些特殊的软件来测试软件产品(当然,他们编写的软件不会上市销售)。
有一点项目经理和程序开发员的见解十分一致:他们都轻视程序测试员。一个测试员的感觉就好像一屋子的人都是医生,而唯有自己是牙医。他们是“没有进过医学院”的“医生”。测试人员所做的工作没有一点可以炫耀的地方,他们不对发现的漏洞进行修复,他们只是汇报漏洞,由软件开发人员来进行修复。
可能测试员的工作与其他工作相比“智力要求”较低。这会怎么样呢?微软的竞争环境使得每一个人都不愿意承认自己比别人笨,甚至不愿意承认自己在任何一方面不如别人。测试人员对自己的地位特别敏感,而从官方来说,微软着意低调处理这三种显著不同工种之间的差异。亚当戴维巴尔说:“如果你说的任何话,即使是非常隐晦地指出测试员所需要的工作技能比其他的工作要低,也一定会遭到训斥。”管理和人力资源部门都坚持程序开发人员、项目经理、测试员同样聪明、同样具有创新精神、同样有雄心壮志。至于这三种工作之间一眼就能看到的不同,他们有自己的一套东西进行解释,这个解释的要点是:三个工种各有自己特有的技能和才华。这些技能和才华是“不同的”,但是它们“同等重要”。巴尔说:“这只是公司的策略,这些全是谎言。”
第12节,
测试人员则认为自己是最具创新精神的。如果一个人能够使Excel崩溃,你会怎样评价这样的天才?测试部副部长格兰特乔治说道:“最成功的测试人员只是与开发人员和项目经理具有不同的思维。我们提出批评,至少我们对日常生活中看到的、接触到的和有联系的东西的品质都有自己的评价,我们的工作就是批评并使产品更完美。我们非常感谢这个行业和微软,通过我们对品质的热情来提高一个数百万人使用的产品的质量,是一件多么伟大的事情。”
持有这种看法的不仅仅是乔治一个人,这种看法可以被总结为:测试员有见地,而其他人没有。
这种劳动分工的不断变化加速了微软招聘工作的变化。没有多少大学毕业的人愿意成为项目经理或者测试员,也并非所有从事这项工作的人员都是计算机专业毕业生。在面试中可能不要求一个未来的项目经理编程,因此有的项目经理学的是英语专业。■米■花■书■库■ ;www。7mihua。com
那么怎么样确定一个“非程序员”是不是“比尔的克隆人”呢?一个方法就是通过智力题、猜谜题或者假设性的问题。对于未来的项目经理、测试员和大量的销售人员、文本作者以及其他被雇用的员工来说,这些具有挑战性的问题是测试才能的重要方式。
其中有许多经典的逻辑问题,还有一些面试问题的目的是为了给应聘者确定合适的岗位,有些在我们看来古怪的问题就属于这一类,例如,如果你能够搬走美国的一个州,会是哪一个?开汽车门时钥匙往哪边转?这些测试是看应聘者能不能做出决定并清楚明白地表述出来。
杰贝布卢门撒尔喜欢让应聘项目经理的人员画房子。有时候应聘者会径直走到黑板前画一个四方块。
在布卢门撒尔看来,这可能是一种最为糟糕的做法。房子可以是任意形状的,但是你总不会在建房子前不去问一问建房子的钱是谁出的,要花多少钱,建多大面积,需要多长时间。那些不问这些问题而直接去画房子的应聘者往往就被淘汰掉了。
在这些问题中,算法是很重要的事情。在计算机程序中,算法是一种任何计算机程序必需的、精确的、有步骤的方法。在面试中,应聘人员要解决的是一个复杂的、开放性的的问题。在诸如此类的问题中,一个好的算法是应聘者应该首先从主考官那里得到的细节资料。
那些没有做到这一点的应聘者就面临着失败的境地。布卢门撒尔的同事乔尔斯波斯基曾经打断一个画方块的人(他正画到地板的最后一笔)说:“实际上你忘记了问这样一个问题——这个房子是为谁建的?如果说是为一只16米高的长颈鹿建造的呢?”
第13节,不会做事情的聪明人
不会做事情的聪明人
斯波斯基的一个小小贡献是发明了微软的面试问题:“你怎样做巧克力豆?”斯波斯基现在是纽约一家软件公司的首席执行官,斯波斯基对微软的招聘方式既是一个深思熟虑的支持者,也是一个批评者。
斯波斯基认为,技术行业的招聘有两大挑战,一是要挑出那些聪明但是不会做事情的人,二是要挑出那些不聪明但能把事情做了的人。想要在竞争行业立足的公司必须避免录用这两类人。
斯波斯基解释说:“那些聪明但是不会做事的人往往拥有博士学位,在大公司上班,但是由于完全不切实际而不被人们重视。那些不聪明但是做事情的人会做出愚蠢的事情,一照顾不周,就要有人来替他们收拾乱摊子。”
这两类人很难从你所想聘用的人(又聪明又能做事情的人)中识别出来(不用考虑那些又不聪明又不做事情的人,他们很容易区分开来)。
逻辑问题和设计问题在面试中十分有用,因为它要求的算法是任何公司在企业创新方面都需要的。在软件行业,你必须能够想出足够多的主意,并从中挑选出一些好的主意,然后把它们加工成产品,最后推向市场。
斯波斯基在面试中很注意应聘者的结论,他说:“有时候应聘者会摇摆不定,不能够做出决定,或者总是设法避免回答困难的问题。有时候他们会在还没有回答自己的决定的情况下就想继续进行,这不好。”
对面试问题有了第一思考后,应聘者应该选择直觉最强的想法,因为这本身就是一个关键判断力的测试。接下来应聘者就应该为他所选择的想法添加细节和说明,直到形成一个完整的答案。在做出结论时应该解决了所有重要的矛盾和所有重要的分歧。
斯波斯基说:“好的应聘者总是表现出推动事情自然朝前发展的努力,即使你想要故意阻止他也不行。如果谈话开始陷入循环,这时候应聘者可能说些这样的话——好了,我们可以就这个问题讨论一整天,但让我们做个决定吧,这是一种很好的表现。”
第14节,机会茫然
机会茫然
卡尔塔什安是在一个细雨蒙蒙的星期二到达西雅图的。当他在长长的登记队伍里排到前面之后,一个办事员用铅笔从名单上划掉了他的名字并给了他一把钥匙。当他准备离开时,听到另外一个人报名字的声音以及铅笔从名单上划过的相同的声音。
第二天早上,塔什安必须在微软大楼19层的大厅里等候半小时。他等候的地方有一个电脑亭,上面写着大大的两个字“浏览”(EXPLORE)。屏幕是空白的,显示器上有一张便条,上面写着:已坏。
还有一台正在播放微软全国广播公司节目的电视机,也有一张便条写着:勿更换频道!
招聘人员告诉塔什安将会有四个主考官。第一个主考官是一位欧洲人,没有刮胡子,穿着一件尼龙运动衣。这人一点也不浪费时间,递给塔什安一支记号笔,然后说道:“开始我先问你一个简单的问题。你有b个盒子和n美元,如果我想取任意数量的美元,从0到n,你必须递给我从0到b个盒子,并能正好满足我的需要。”
塔什安要回答的问题是他如何在这些盒子中分配这些钱,以便能够符合要求,以及b和n有什么“限制条件”。
塔什安想了一会儿,给出了一个好答案。主考官要求他用“数学推理”来证明答案的正确,他问道:“是一个几何还是算术数列?”
塔什安问主考官能不能给这些术语下个定义。
“不。”
这时候主考官已经不愿意再进行什么挑剔的询问了。塔什安感觉自己把这个问题弄得一团糟了。他已经确信,即使他的答案正确,这个主考官也不会喜欢他了。
与第一场面试相比,第二和第三场面试就像小菜一碟。第二个主考官更友好一点,并花了很长时间来解释目前所进行项目的目的。第三个主考官的问题非常容易。这场面试结束后招聘人员指示塔什安到大厅等候最后的面试。
一会儿,第三个主考官出现了,并告诉塔什安说他的经理——原本打算进行最后面试的主考官,今天没有来上班。不会有第四场面试了。塔什安可以走了。
⌒米⌒花⌒书⌒库⌒ ;www。7mihua。com
第15节,
有人把微软独特的招聘面试称为“三幕剧”。第一幕是过筛子面试。一位人力资源官员通常会与应聘者电话交谈半小时。电话面试通常都问一些传统的问题,而没有什么特别刁钻的题,有时候会出现诸如“你怎样测试一个盐瓶”这样的问题。应聘者对电话面试问题的回答决定着他是否能够得到一次�