天才程序员:技术狂人如何改变世界

天才程序员:技术狂人如何改变世界
作者: 克莱夫·汤普森
出版社: 中信
原售价: 88.00
折扣价: 56.40
折扣购买: 天才程序员:技术狂人如何改变世界
ISBN: 9787521739435

作者简介

克莱夫·汤普森 美国知名的科技作家,《纽约时报》杂志特约撰稿人,《连线》杂志专栏作家,曾是奈特科学新闻学者。他因撰写科技、文学、历史与哲学方面的深度报道而闻名。他的新闻报道曾获得多个奖项,包括海外新闻委员会奖和镜子奖。

内容简介

"第六章 “10倍速程序员”与“英才至上”的迷思 在程序员的世界中,马克斯·列夫琴可谓神一样的存在。 在线支付平台贝宝(Paypal)的所有代码几乎都出自他之手,这个平台也是他不眠不休疯狂编写代码的成果。20世纪80年代, 列夫琴成长于苏联时期的乌克兰,年少的他对计算机编程产生了浓厚的兴趣。由于是犹太民族,他们全家担心受到迫害便逃离了故土,于1991年抵达芝加哥。虽然家庭经济窘迫,但是父母仍然支持儿子的兴趣,他们东拼西凑给他买了计算机。列夫琴在伊利诺伊大学计算机科学专业学习期间,知道了马克·安德森的故事。这位学长刚毕业不久就在编程界小有名气,与人共同开发了网景浏览器,并一夜暴富。列夫琴性格内向,但初创企业的传奇色彩让他心驰神往。上学期间,他就创建了3家公司。第三家以10万美元的价格被收购之后,他把自己的有形资产(一大堆电子产品)装上卡车,和几个朋友一起驱车前往硅谷。 起初,列夫琴住在朋友家中。有一天,他在斯坦福大学校园碰巧听了彼得·蒂尔关于政治自由的讲座。蒂尔哲学系毕业,曾在华尔街工作,坚定地支持自由主义,列夫琴遇见他的时候,他正从事律师工作。列夫琴非常喜欢蒂尔的演讲,于是找到蒂尔,向他透露了自己最新的软件创意。当时,他正在编写一个加密程序,可以在PalmPilot等掌上电脑上运行。两人对数字化转账的想法一拍即合,即把一笔钱从一台PalmPilot转到另一台PalmPilot上,或者以网络平台的方式转账,这就是后来贝宝的雏形。 上学的时候,列夫琴就以疯狂的编程状态闻名校园,他可以连续好几天不眠不休疯狂写代码。贝宝就是这样来的:列夫琴已经编好了很多加密模拟器代码,因此他很快就做出了适用于PalmPilot的贝宝软件原型。贝宝随即获得了450万美元的融资,为了获得更好的宣传效果,列夫琴和蒂尔决定让投资人以电子支付的方式通过两台PalmPilot对其中的300万美元进行转账。他们原计划做个虚拟形式的转账,但列夫琴后来在《创业者》一书中回顾,他对这个想法感到“厌恶”。“如果程序崩溃了怎么办?”他说,“那我真的要来个仪式性的自杀回避这一尴尬的局面了。” 于是,他和另外两位公司聘请的程序员没日没夜奋斗了整整5天。在《创业者》一书中,他回忆自己真的5天没睡:“简直是疯狂 (编程)马拉松。”他们完成编程的时候离转账演示只有一个小时了。他们把地点定在当地一家叫BUCK’S的餐厅,在活动现场,两台PalmPilots被记者团团围住,300万美元顺利地从一台设备转账到另一台设备上。这时,列夫琴才点了一份煎蛋卷作为早餐,但还没来得及吃他就睡着了。“我醒来的时候,蛋卷就在我旁边,餐厅里空无一人,大家都走了。他们只是想让我好好睡一觉。” 贝宝开始高速发展,列夫琴神一般的工作节奏依旧在延续。但随着贝宝的普及,犯罪分子开始在这一平台上进行诈骗,每个月竟高达1 000万美元,而且数额还在不断攀升。列夫琴有些慌了,他算了一下,如果当前的形势恶化下去,平台上的诈骗行为很快就会吞掉公司 的盈利,并摧毁公司。他觉得公司随时都可能被毁灭。于是他和几名工程师立马开始了新一轮的战斗,又开始了不眠不休的黑客模式。正如记者萨拉·莱西在《硅谷合伙人》一书中写的那样,列夫琴会连着工作几天都不洗澡,直到味道太大影响工作环境,他才在公司洗个澡,然后穿上公司的文化衫。(莱西略带戏谑地写道:“无论何时,马克斯的工作量都可以以他几乎没怎么住过的公寓里那越来越多的旧T恤的数量来衡量。”) 在高强度的工作中,列夫琴仍然保持着惊人的创造力。他接连不断地加班,想到了很多反欺诈的绝妙创意。他与人合作创建了全球第一个商用验证码(CAPTCHA)测试,拉伸或倾斜一段文本,以便区分用户是人还是机器。他还设计了一款工具,让贝宝的人工诈骗检验员快速分析大量的交易数据,有一个检验员看到演示后激动得哭了。列夫琴在反欺诈方面的工作让公司免受网络诈骗带来的灭顶之灾,而当时的很多竞争对手就是因为网络诈骗最终被淘汰的。 公司屡创佳绩,产品性能优越,员工勤恳高效,贝宝团队在硅谷英才至上的文化中独领风骚。随着21世纪初期互联网泡沫的破灭,很多高科技公司纷纷破产,而贝宝却蒸蒸日上,不久就成功上市,后来以15亿美元的价格被易贝(eBay)收购,这使其创始人赚得盆满钵满。在贝宝副总裁基思·拉布瓦看来,贝宝是一个“完美的价值验证”,他在接受陆怡华的采访时说:“我们之中没有人和硅谷的权贵有任何关系……5年的时间,我们从默默无闻到声名远扬。要知道,曾经的我们就是没人搭理的无名小卒啊。” 公司首席运营官(COO)戴维·萨克斯曾经是管理顾问,他在 《纽约时报》的采访中说:“如果地球上真的有英才制度,那么必定在硅谷。”只要有能力,你就一定会成功。 巨星、忍者、天才。在技术世界的传说中,总有一些程序员能力卓越非凡,自带光环。 流行文化也一直非常喜欢这样的设定,在程序员的世界中,天才程序员总是独来独往,在近乎疯狂的节奏中一手打造出全新的程序王国,不眠不休地写代码仿佛是他们的本能。在电影《社交网络》中,以马克·扎克伯格为原型的男主角整个晚上在键盘前敲敲打打,制作出对哈佛女学生外貌的评分软件。在电视剧《硅谷》中,男主角程序员理查德眼看自己创建的公司就要在技术大赛上崩塌解体,突然有如神助,一夜之间重写代码压缩算法,软件性能几乎翻倍,并最终赢得了比赛。在电视剧《奔腾年代》中,黑客卡梅伦·豪给朋友的公司帮忙,开发了谷歌PageRank算法的原型。它是如此巧妙,以至公司软件常驻主管不得不承认,他甚至无法理解它是如何工作的,并对她的工作赞不绝口。 这种对天才程序员的信念不仅仅是流行文化的一部分,事实上,编程世界早就有一个广为人知的概念——十倍速程序员。正如字面意思所示,这类程序员的能力比一般程序员要强大很多。 这个概念可以追溯到1966年。当时美国系统开发公司(System Development Corporation)的3位研究员发布了一份标题略显平庸的白皮书,即“比较在线编程与离线编程效果的探索性研究”,由哈尔·萨克曼带领的团队要探究的编程技术问题现在看来可能有点儿无聊:在纸上进行编程和在计算机上进行编程哪种模式更高效?20世纪60年代,大部分人还没有计算机,大部分编程都是“离线”进行的,程序员手写代码,打到打孔卡上,交给计算机操作员。然后程序员只需要坐在旁边静静等待计算机处理的结果,有时可能要等上好几个小时。到了1965年左右,新的在线系统让更多程序员能够直接实时操作机器。程序员本人坐在计算机前,在键盘上输入代码,马上就能看到运行结果。 可以想象,大部分程序员更喜欢在线编程,机器的即时回应更有趣也更高效。但由于在线系统成本极高,很多企业也不确定这样做值不值得。于是萨克曼团队决定让两种模式比拼一下。程序员被随机安排到两种工作模式中:一种按照传统模式,手写代码并修复程序错误;另一种使用线上模式完成同样的工作。研究人员记录下程序员在各个方面的表现,包括编程时长,修复漏洞的时长,代码长度,代码运行速度,等等。最后的分析结果在他们的预料之中:在线编程模式大获全胜,与计算机流畅互动的程序员比离线编程的程序员表现“明显更好”。 但是萨克曼也有意外的发现,经验丰富的程序员“个体能力方面存在显著差异”。优秀程序员的表现远远超出平均水平,比那些低水平的程序员更是好出很多。 例如,在修复程序漏洞的工作中,速度最快的程序员是速度最慢的程序员的25倍。编程解析代数题也有同样明显的对比,在编程速度上前者是后者的16倍,在清除程序错误方面前者是后者的28倍。另外,出色的程序员写出的代码运行更快,最快速度比最慢速度高出13倍。萨克曼和他的同事写道(用一首童谣来形容): 如果一个程序员表现出色, 他是真的真的很出色, 但当他表现糟糕时, 那可是糟糕透顶。 结论是什么?程序员之间的技能水平大不相同,“往往有10倍的差距”。 但也有很多批评家指出,萨克曼的研究存在很多问题,其中一个就是研究样本的数量较少,他得出的结论纯属偶然,不应该用这个结果去推断整体的状况。 然而,那些批评也站不住脚。在计算机行业中,很多人对“10倍的差距”这一概念有一些诗意的肯定,这是人们在长期观察计算机行业中程序员的工作后逐渐形成的经验和认知。20世纪60年代到70年代,企业管理层——出于他们自己也无法解释的原因——觉得有一小部分程序员在开发软件和修补漏洞上不但速度惊人而且动作流畅,他们仿佛拥有看透计算机的第三只眼。(强烈批判萨克曼观点的人虽然表示这项研究“相当不可靠”,但也承认编程领域“极度缺乏高效人才”。“在这方面,编程与其他创造性的工作非常相似。”)软件项目经理比尔·柯蒂斯发表了一篇论文,记录了他给54名程序员做的测试,成绩优秀的程序员是成绩垫底的程序员的8倍到13倍。计算机杂志Infosystems的某个头条标题更是把普通的程序员与顶尖的程序员比作“游牧部落与超级英雄”。 超级程序员的传奇色彩也许开始于1975年小弗雷德里克·布鲁克斯的《人月神话》,这是一本关于软件项目管理的经典之作。布鲁克斯肯定了萨克曼的观点:“编程管理人员早已注意到高效与低效的程序员之间存在巨大的效率差异。但10倍以上的差距确实令我们感到惊讶。”在这样的背景下,布鲁克斯认为,组建世界上最优秀的编程队伍其实就是将队伍精简到只有优秀的程序员。如果一个团队有200名程序员,其中只有25名佼佼者,那就“解雇175名程序员”,让这25个“大明星”安安静静地完成工作。 布鲁克斯指出,很多技术公司将编程视为一种普通的体力劳动,认为只要增加员工就能加快工作进程。收割麦子想要提速一倍?那就增加一倍的工人。但是,编程的核心在于个体的洞察力,这与诗歌创作很像,增加人手不一定能帮上忙,不是付出汗水的人越多就越有可能带来解决方案,它更需要某个有洞察力的人在严谨的思考中有灵光一闪的顿悟。所以,从组织的角度看,编程与其他体力劳动恰恰相反,当面对棘手的问题时,增加人员反而会让情况变得更糟,因为人多了意味着要开更多的会,沟通也会变得更麻烦。布鲁克斯一针见血地总结道:增加人力只会让延期的软件项目继续延期。 不久之后,世界各地的程序员都开始引用这个概念,他们坚定地认为,团队中不但要有足够多优秀的程序员,更要有大神级别的程序员。这种观点引发了20世纪90年代至今的人才抢夺战,很多企业纷纷开出高薪,提供堪比校园的便利设施,想要把顶尖高校的顶尖毕业生抢到手,也想从活力无限的初创企业中挖走人才。“10倍”这个词本身就非常适合高科技行业逻辑严谨、精益求精、以数据说话的自我形象。其他行业可能也有优劣差别,但是在编程领域,人们有一个测量值,它能准确描述天才与凡人之间的距离。比尔·盖茨说过: “顶尖的车床操作员的工资是普通操作员的几倍,但顶尖程序员的价值可是普通程序员的1万倍。” 在高科技行业的顶层,英才至上的理念更强大。我问及众多风险投资家和企业创始人,“10倍速程序员”是否存在,他们总是毫不犹豫地给出肯定的答复。 网景联合创始人马克·安德森对列夫琴印象颇深。他告诉我:“我觉得可能是1 000倍,你看看过去50年里重大的软件产品,每个产品都是由一两个人开发的,几乎从来没有300人的团队。” 安德森说得一点儿都没错。在软件行业,小团队或独立开发的案例俯拾皆是。Photoshop的第一个版本是由两兄弟创造的。1975年用BASIC语言创建第一个微软产品的是年轻的比尔·盖茨和他曾经的校友保罗·艾伦,还有哈佛大学大一新生蒙特·达维多夫。早期博客网站LiveJournal由布拉德·菲茨帕特里克一手打造。谷歌搜索引擎的算法来自拉里·佩奇和谢尔盖·布林。创建视频网站YouTube的团队只有3个人。创建色拉布的团队只有3个人(如果只看编程,那就只有一个人,鲍比·墨菲)。比特流由布拉姆·科恩一个人完成,比特币据说是一个程序员的作品,人们只知道他的笔名是 中本聪。约翰·卡马克创造了3D图形引擎,带来了价值数十亿美元的3D电子游戏产业。 在马克·安德森看来,拥有极大影响力的程序员为数不多,主要是因为在创作新软件的时候,庞大又复杂的创意构造只能由一到两个人去完成才能保证效率。要达到10倍生产力,需要程序员进入并保持“心流”状态,还需要他们将复杂的编程结构视觉化。安德森说:“如果能够一直保持清醒,程序员的效率会更惊人。现在的局限就是他们清醒的时间有限。有时候他们要花两个小时才能让大脑进入状态,然后保持状态工作10个小时、12个小时或者14小时。”安德森所认识的“10倍速程序员”基本上都是“系统思考者”,从计算机处理器的电流到触屏按键的延迟状况,他们对技术产品的每个部分都充满了好奇心。“正是旺盛的好奇心、源源不断的动力和求知欲,让他们必须充分了解系统的每个细节,否则他们会觉得无法忍受。” 正因如此,10倍速程序员尤爱初创企业,一切都刚刚开始,他们可以尽情地大显身手。相反,很多大型企业或老牌企业发展速度较慢,传承下来的体系特别庞大,原始代码可以追溯到几年甚至几十年前,客户群体也依赖于较为稳定的服务。这类企业不是要“快速行动,快速创造”,而是要保持耐心,不断完善代码。安德森还记得20世纪90年代初自己在IBM实习,公司内部有一个标准:“每天写10行代码。10行代码要完成编写、测试、调试、存档,不多不少。一天写不到10行,那就是在偷懒,超过10行,那就是粗心大意。” 许多资深程序员都认为,10倍速程序员不仅存在,而且是提高工作效率的关键。软件公司Fog Creek的联合创始人乔尔·斯波尔斯基曾在一篇博文中回忆说,他在Juno公司(一家在线服务和免费电子邮箱提供商)工作时,有一名系统漏洞检查员叫吉尔·麦克法兰,她 “发现的漏洞是其他4名检查员总和的3倍多。毫不夸张地说,她的工作效率是一般检查员的12倍。但后来她辞职了,我给公司CEO(首席执行官)发邮件说,‘与其让检查小组天天上班,还不如让吉尔每周工作两天’”。 Y Combinator总裁山姆·阿尔特曼认为,人们对编程界出现天之骄子其实不应该感到意外,所有以深刻洞察为基础的行业都会出现出类拔萃的人才。他告诉我:“在其他行业,似乎不存在这样的争议。其实有‘10倍速物理学家’,他们被授予诺贝尔奖,大家欣然接受。也有‘10倍速作家’,他们的作品荣登《纽约时报》畅销书榜单。”也有部分计算机科学系的教师认为10倍速天赋是真实存在的,在青少年时期刚接触编程时这种天赋就能被发现。计算机科学专业教授克莱顿·刘易斯在一项小规模的调查中发现,计算机科学系有77%的教师不同意这一说法,即“只要努力,基本上所有人都可以完成计算机科学系的" 这本书围绕程序员的行业发展、探索与创新、重塑世界方方面面进行阐述。 如果说在如今的世界中,有什么是深入渗透入人们生活中的科技与产品,那么非计算机、手机以及衍生产品莫属。在这些软件、小程序在便利了我们的生活,引导着我们的娱乐,占用了我们的时间的同时,也带来了过多的非议,是否我们面对着冰冷屏幕就远离了现实的社群关系,计算机究竟为我们每个人乃至整个人类社会带来了什么样的变化?又是谁,改变了我们的生活方式? 是程序员。这些天才般的程序员,通过计算机语言、编写代码,让机器自主学习,让社交更为便捷,让世界每天都在发生变化。