改编自克莱夫·汤普森(Clive Thompson)的《 编码员:创建新部落和重塑世界》一书的节选Shelley Chen在一家计算机公司担任业务分析师,2010年,她通过共同的朋友认识了Jason Ho。 何先生个子很高,身材魁梧,笑容狡猾,立即发现了一种共同语言。 Ho是一名程序员,他在旧金山拥有自己的公司。 他也喜欢旅行。 在他们见面不到一个月后,何浩买了一张机票去台湾见她,使她感到惊讶,她在那里暂时搬家。 很快,他们已经在讨论一项为期四个星期的日本联合旅行。 由于他们不那么熟悉,Chen有点担心。 但是,她决定尝试运气。
原来,何先生有一个非常艰难而奇怪的路线计划。 他非常喜欢
拉面 ,为了在访问东京时尝试尽可能多的
拉面 ,他汇总了所有拉面城市的清单,并将其显示在Google地图上。 然后,他编写了一项特别计划,对餐馆进行排名,以便这对夫妇可以在参观景点的同时参观最好的餐馆。 他说,这是算法的“相当传统的”任务,这是人们在大学学习的一种类型。 何浩在手机上给陈看了卡。 他说,他计划记笔记,并详细说明每道菜的质量。 哇,尽管有些可疑,她还是钦佩地想。 “那家伙只是其中的一部分。”
但是,何先生也很机智,善于阅读且很有趣,并且旅途很成功。 他们吃了面条,在相扑比赛中喝了啤酒,参观了皇帝的宫殿,住了一家酒店,在那里他们拍摄了《翻译难点》。 这是七年关系的开始。
Ho多年来一直在做诸如面条优化之类的奇怪事情。 正如他告诉我的那样,他小时候住在梅肯(乔治亚州),并且拥有TI-89计算器。 一旦他翻阅了说明,发现可以在计算器的BASIC变体之一上编写程序。 结果,他学会了编程并在计算器上重建了《塞尔达传说》。 他在计算机上学习Java,并在放学后去了佐治亚理工学院学习计算机科学。 原则上,他对算法的抽象概念感兴趣,但最重要的是,他最喜欢使用计算机来避免重复做常规的事情。 他告诉我:“每次我不得不重复一遍,我都很无聊。”
在大学的最后一年,何鸿founded创立了一家公司,开设论坛,让在不同学院学习相同课程的学生可以互相咨询。 该公司没有招募足够数量的用户,因此将其关闭。 他被邀请采访诸如Google和Microsoft之类的公司,但他对此并不感兴趣。 他不想为他的叔叔工作。 在他看来,作为一名员工,他不会创造出足够有价值的东西。 是的,当然,在这样的地方,您可以获得报酬。 但是,大部分劳动力成本都由公司的创建者及其所有者承担。 他有足够的技能可以从头开始创建自己的产品。 他只是不知道该为他创造什么。
几个月后,当他与父母在梅肯(Macon)探访时,他有了一个主意。 他和他的父亲是一名自己的儿科医生,他去了超市。 父亲需要购买两个有关员工到达和离开时间的登记员-老式的汽车,员工可以在其中插入卡片,以便机器记录工作日的开始和结束。 在商店里,这辆车的售价为每辆300美元。
Ho感到惊讶:自石器时代以来注册商的技术没有改变吗? 他想,我不敢相信这种事情仍然存在。 他意识到自己可以迅速捆绑执行相同任务的站点,但效果更好。 员工可以使用手机进行签到,该网站将自动总结其工作时间。 “不要买一个注册商,”他告诉父亲。 “我将为您编程。” 三天后,他介绍了原型。 工作人员开始使用它,令Ho感到高兴的是。 事实证明,该系统比使用纸片的注册服务商有效得多。
他上传了一个名为Clockspot的网站,四个月后,他有了一个新客户,一家律师事务所。 在收到第一笔款项后,在该研究所图书馆工作的何先生差点跳出了椅子。 他从软件中获得了收益! 九个月后,何先生每月从清洁公司,家庭保健提供者和伯明翰(阿拉巴马州)政府赚取约10,000美元。 两年来,他一直不间断地工作,改进和调试了代码。 结果,他调试得很好,使Clockspot可以进行自动驾驶。 除了他本人外,Ho还只需要一个没有全职工作的客户支持代理。 他收入丰厚,并且有充裕的时间旅行和其他兴趣。 他优化了自己的生活。
Clockspot的创始人Jason Ho正在尝试通过代码优化其操作像任何聪明人一样,根据投资者马克·安德里森(Mark Andrissen)的著名短语,您应该已经注意到该软件如何吸收世界。 您看到了Facebook如何吞噬社交领域,Uber吸收了城市交通,Instagram极大地促进了自拍照文化的发展,亚马逊在24小时之内完成了购买。 通常,技术创新者吹嘘他们的服务正在改变世界或使生活更加便利,但所有这些的核心是速度。 您之前所做的一切-寻找出租车,与朋友闲聊,购买牙膏-现在更快了。 硅谷的原则是采取行动并充分发挥其新陈代谢作用。 也许您想知道为什么这样工作? 为什么技术人员坚持要加速一切,将其扭曲到极限,然后对其进行优化?
这样做的一个明显原因是:他们根据市场要求这样做。 资本主义慷慨地奖励任何可以改善这一过程并获得一点利润的人。 但是软件还有另一个过程。 对于编码人员而言,效率不仅仅是业务的工具。 这是一种生存状态和情感营养。
程序员可能会有不同的生活经历和政治见解,但是我与之交谈的几乎所有人都以情感愉悦为乐,采取了一些无效的措施-甚至比必要的速度稍慢-对其进行了一些微调。 消除系统的摩擦是一种美感。 当编码人员讨论如何加快处理速度或如何设法消除流程中令人讨厌的人为行为时,他们的眼睛会焦灼。
不仅软件开发人员都受此驱动器效率的影响。 工程师和发明家长期以来经历了类似的动机。 在工业化的早期,工程师提高了日常任务的自动化程度,提高了士气。 正如工程师查尔斯·赫曼尼(Charles Hermany)在1904年写道,工程师是“人类从绝望的单调工作和繁重的劳动中解放出来的人”。 泰勒
主义的发明者弗雷德里克·温斯洛·泰勒(Frederick Winslow Taylor)帮助创建了生产线,与“笨拙,无效或不正确的人类动作”进行了激烈的斗争。
弗兰克·邦克·吉尔布雷斯(Frank Bunker Gilbreth)对从铺设砖块到固定背心的各种不必要的动作感到恼火,他的生产合伙人和妻子莉莉安·伊夫林·吉尔布雷斯(Lillian Evelyn Gilbreth)设计了厨房,从而减少了用草莓制作夹心蛋糕所需的步骤。 281至45英寸,如1931年在《更好的房屋手册》中写道。
如今,许多程序员在十几岁的时候就经历了灵感的闪现,他们发现生活充满了令人难以置信的愚蠢,重复的动作,并且计算机可以很好地与他们相处。 (数学作业及其大量无聊的练习启发了我与之交谈的许多编码人员)。 发明Perl编程语言的拉里·沃尔(Larry Wall)和他的几位合著者写道,程序员的主要优点之一就是懒惰,这种懒惰使您不愿做机械工作,从而激发了您使其自动化的能力。
最后,这种对效率的关注可能很难关闭。 “我到处都知道的大多数工程师都认为效率低下,”旧金山程序员克里斯塔·马比(Krista Maby)说。 -登机,停泊或在任何地方登机效率低下。 他们只是被闲置的事物所激怒。” 她本人沿着街道行走,梦想着所有行人都能更有效地利用人行道和人行横道。 哥伦比亚大学数据科学研究所所长,计算机科学教授珍妮特·温(Janet Wing)推广了“计算思维”一词,用以描述Maby在说什么。 它包括看到我们周围世界中无形系统的艺术,一套支配我们生活的规则和建设性决定。
贾森·何(Jason Ho)有才华,可以看到这些并试图将这些隐形系统带入理想状态。 几年前,我当然在旧金山的一家拉面餐厅遇到了Ho和Chen。 何先生管理了Clockspot项目,尽管当时他本人运转良好,以至于何先生每周必须工作几个小时。 “他说他每月工作20个小时,但在我看来,我还没有看到他工作那么多,” Chen说。 (从那时起,这对夫妻分手了,但他们保持着良好的关系)。 何先生花了很多时间旅行。 一旦他甚至修理了Clockspot,就在Everest的大本营。
但是他在优化和编程方面的工作并未停止。 当他想购买房屋时,他编写了可以提供有关市场上房屋信息的软件-位置,价格,环境统计信息-并且从长远来看,它将计算房地产的价值。 首先,该程序放置了Nob Hill共管公寓。 他买了。 他讨厌逛街,所以他买了几十件相同的T恤和卡其色的裤子-一种经典的编码策略,可以消除在决定服装选择时的摩擦。
几年前,Ho决定进行健美运动,他向自己提出了一个特别疯狂的优化挑战:它可以摆动多少? 他随身携带小秤到饭店,称重部分食物。 “他在一个巨大的电子表格中绝对跟踪了他吃的所有东西,” Chen说。 Ho害羞地在电话上给我看了一张桌子-一个巨大的怪物,上面标出了健身房的所有营养成分,每天消耗3500卡热量。 他去了健身房,并发明了在正常条件下锻炼的方法。 如果他通过一根金属管,他会拉起自己。 如果我通过了一个垃圾容器,则将其提起。
经过两年的训练,他在业余健美比赛中获得第二名。 他在电话里翻找给我看了那个时期的照片。 在一张照片中,他被涂油并摆在阳光普照的窗户前的内裤中。 它看起来像希腊雕像。 他说:“我将体内脂肪的百分比降低至7。” 他说,如此加油很高兴,但原则上他只是想知道是否有可能。
何先生给我看了另一张桌子。 这是关于如何生活的一种指导,不仅可以优化身体,而且还可以每秒钟优化身体。 他认为他只想做所有花费最大努力的事情。 他做了16行,标题指明了他的活动。 有创业,编程,吉他,《星际争霸》,购物和“与朋友和家人聊天”。
在专栏中,他设定了各种标准-例如,这项活动是否有意义,仅仅是达到目的的一种手段(至关重要),是否可以完美地掌握它,是否会同时影响生活的各个方面。 在“程序设计”和“企业家精神”两行中,Ho指出了所有方框。 他谈到诸如“与朋友和家人聊天”之类的社交活动时,勾选标记“影响了生活的各个方面”。 在“完全掌握”单元中,他写了“也许”。
许多人觉得这很疯狂。 系统化生活中情感成分的可能性,或将社会活动视为低效率的根源的想法,对许多人来说都是不愉快的。 Ho善于交际和友好,但对于某些程序员而言,需求无休止的人们似乎感到头疼,而社交沟通是另一个需要解决的问题。 在计算机诞生之初,技术人员就对此问题进行了一些思考。 德国土木工程师,第一台真正工作的可编程计算机的创建者Konrad Zuse曾说过:“将计算机变成人的危险并不比将人变成计算机的危险可怕。”
一天晚上,我想到了这个话题,陷入关于Quora的讨论中,数十名程序员分享了有关使日常生活的细微差别自动化的故事。 还有一些令人不安的,尽管很有趣的故事,内容涉及将社会交流转变为“调整并遗忘”类型的任务。 “我收到了家人和朋友的抱怨,因为您从未写信给我们,”一位程序员创建了一个程序,该程序随机地将所有自动生成的文本发送给每个人。 文本以适当的短语“早/午/晚”开头。 嘿{name},我想打个电话给你,然后说“结尾”,希望你还好/下个月底我会在家里,爱你/下周闲暇时再聊吧。
在旧金山举行的黑客马拉松上,一位中年程序员热情地向我展示了他创建的一个应用程序,该应用程序向伴侣发送了自动浪漫的消息。 “当您没有足够的时间去考虑她时,”-是的,他建议伴侣会感到情绪低落,“该程序将为您做一切。” 直到最大的技术公司,到处都有这种提高社会化效率的尝试。 Gmail具有自动填充功能,可鼓励我们使用一种算法为自己编写答案,从而加快编写速度。
语言学家和心理学家很早就注意到了
致命的交流行为的价值-人们在日常生活中使用的各种情感陈述,使其他人放松或开始听他们说话:“你好吗”,“恶劣的天气,不是真的,”“晚上你在做什么”。 而且,我与程序员交谈的次数越多,我遇到的故事就越多,这些人以为它在某种机制上比沙子更令人讨厌。
克里斯托弗·索普(Christopher Thorpe)是一位经验丰富的资深人士,他背后有超过六家技术公司,他告诉我他曾经与之合作的“非常有才华的工程师”符合这个定义。 “当我们在会议上开玩笑时,他感到非常沮丧,因为那是浪费时间。 “为什么我们花5分钟与20名办公室员工开玩笑? 这是工作时间。” 每个人都笑了,但他认为这是在浪费宝贵的时间。” 开个玩笑花了20个人的时间! 这个家伙立刻开始对他的数学发牢骚:“五分钟二十次,结果你花了半个小时的时间在开玩笑。”
原则上,我同情编码人员优化日常生活的愿望,因为我自己很喜欢。 三年前,我开始写一本关于程序员心理学的书,所以我决定恢复我的编程课程-在1980年代的某个时候,我涉猎Commodore VIC-20-并深入研究了Python和JavaScript等现代编程语言。 而且我玩这些程序的时间越长,我越会注意到日常工作效率低下。 例如,在写书时,我注意到我经常转向在线词典。 它们很有用,但是速度太慢,以至于每次搜索后,结果加载两秒钟。 我决定使用提供字典API的网站为命令行编写字典。 早上玩完Python之后,我编译了一个脚本。 我在命令行上输入了单词,然后以闪电般的速度收到了同义词和反义词。 一切都未上漆,大约是黑色的绿色。 但是它的工作速度是:无需等待浏览器加载所有这些跟踪脚本和cookie,这些信息会阻塞我的硬盘驱动器。
当然,这并没有为我节省很多时间。 例如,如果我平均每小时搜索同义词两次,并且(慷慨地)假设我的创作每次搜索为我节省了两秒钟,那么我可能每年可以节省大约一个小时的令人讨厌的期望。 几乎不值得。 然而,这种速度温暖了我的灵魂。 每次我搜索同义词时,即时结果都使我感到高兴。
我给静脉注射了高效药物,这很好。在回头看之前,我沉迷于为小型例行任务编写代码。我编写了一个程序,用于清除从YouTube下载的字幕;另一个绕过和存档我在Twitter上发布的链接的链接;一个人检查了我儿子正在学习的学校的网站,并在他的老师在那儿布置作业时给他发了一条短信(他厌倦了不断更新页面)。我的许多程序写得不好,几乎没有用。我选择了最简单的方法和蛮力方法。研究了真正有经验的程序员的代码,我为他们的优雅感到惊讶。我可以编写一个庞大而丑陋的函数来过滤掉数据,然后看看经验丰富的程序员如何用几行代码(更快)来处理它。记者有时会钦佩Google庞大的代码库(20亿行),因为这反映了它的强大功能。但是您不会感到程序员数量众多。有时,最有生产力的程序员是那些减少代码大小,压缩和缩短代码的人。在Facebook上度过了三年之后,程序员Jingjing Yan感谢他对公司代码库的贡献,并发现这是负面的。他在Quora讨论主题之一中写道:“我添加了391,973行,并从主存储库中删除了509,793行,”(事实证明,许多程序员都坐在Quora上)。 “因此,如果我每年编程1000个小时,事实证明我每小时删除39条线路!”程序设计类似于诗歌,文字简洁明了赋予其力量。程序员兼作家马特·沃德(Matt Ward)在《粉碎杂志》(Smashing Magazine)的一篇文章中写道:“在一首精心制作的诗歌中,每个单词都有其含义和目的。” “诗人可能会花费数小时来寻找正确的单词或将其搁置几天,然后重新审视它。” 在现代主义者的著名诗中,受到古老的证词化方法的简短启发,句中有埃兹拉·庞德的作品“在地铁站” :这些面孔在人群中的幻影;
湿的黑色树枝上的花瓣。
[突然,这些面孔在人群中露面;
树枝上的花瓣因潮湿而变黑。]
沃德说:“用两行十四个词,英镑描绘了一幅生动的图画,充满了意义,并要求科学家和评论家进行讨论。这就是效率。”2016年,我遇到了Instagram首席程序员Ryan Olson。他的团队刚刚实现了故事功能。这是一个巨大的更新。奥尔森告诉我说,在推出更新后几个小时,他正全力以赴地游览旧金山-并看到人们是如何开始使用它的。 “这真是一种很酷的感觉,”他说。 -昨晚我在体育馆里,环顾四周,看到有人在使用此产品。我不知道历史上是否还有其他方法可以接触到这么多的人,或者何时,只有很少的人能确定这么多人的感觉。”优化生活是一回事。但是对于许多程序员来说,真正的药正在改变整个世界的生活。天平本身带来欢乐;令人着迷的是,您的新代码如何突然获得爆炸性的普及,从两个人到四个人,从四个人到八个人,再到他们到地球上的整个人口。您已经加快了生活的某些方面,例如我们如何交换消息,支付账单或共享新闻,并且您看到了海浪如何越来越多地分叉。通常,这就是软件世界中财富的产生方式,因此伴随着力量和财富的波动。在他们看来,风险资本家投资的项目会像杂草一样增长,而市场会奖励他们。动机的这种相互联系使硅谷的程序员不仅热爱效率,还热衷于实现效率。硅谷的精英经常鄙视那些无法扩展的事物。小事似乎无力。在与主要技术人员的几次对话中,我提到了Jason Ho的公司,并解释说在我看来这是一个聪明而令人愉快的企业,这是企业家遇到未解决问题的一个很好的例子。但是他们皱了皱眉。对他们而言,Clockspot是一项“与生活方式相关的业务”-用他们的术语来说,这意味着一个永远不会飞得很高的想法。他们说这是一个很好的产品,但是Google可以复制它,并在一秒钟内夺走其业务。显然,我们从程序员的本能,加速周围的一切并创造丰富的渴望中获得了我们的优势。但是,同时存在着不懈地渴望达到规模效益的副作用。 Facebook新闻提要不仅加速了朋友显示照片的速度,而且还加速了错误信息的传播。 Uber优化了为乘客寻找出租车的搜索,但是却改变了出租车司机的经济性。亚马逊正在准备电子交付无商店的无人驾驶飞机。也许我们-生活如此无情地改善的人们-终于开始注意到这些后果。我们越来越抱怨“大型技术公司”,我们注意到它们如何规避民事问题,它们既令人着迷又充满生气。我们不知道该怎么办。我们喜欢便利,这是软件不断声明我们可以通过减少投资来做更多事情的方式。但是疑虑逐渐积累。也许这对我们来说是不愉快的,因为在我们的日常生活中,我们也吸收了过度优化的浪漫。看看城市的街道:员工以半速聆听播客,匆忙上班,并在Apple Watch的帮助下确保他们每天走10,000步,在咖啡馆桌子下面看工作邮件。我们自己已经变得像编码员一样,调整生活中的每个齿轮以消除摩擦。像任何优秀的程序员一样,我们仍可以极大地加快生活的速度,尽管目前尚不清楚我们是否会因此而感到高兴。