程序员杀死低效率的原始冲动,重塑了人类世界
編者按:近日,《連線》雜志上發表了一篇文章,介紹了程序員的殺死低效率沖動,以及這種行為給他們和我們世界帶來的影響。文章改編自克萊夫·湯普森的《程序員: 新部落的形成和世界的重塑》(Coders: The Making of a New Tribe and the Remaking of the World) ,于 2019 年 3 月 26 日出版。原題為:Coders’ Primal Urge to Kill Inefficiency — Everywhere。
一、
2010 年,謝莉·張(Shelley Chang)在一家計算機公司做業務分析師時,通過一些共同的朋友認識了杰森·何(Jason Ho)。 何身材修長,臉上總是帶著狡黠的微笑,他們一見如故。
作為一名程序員,何在舊金山經營著自己的公司,他很喜歡旅行。在他們結識后不到一個月,何就買了一張機票去臺灣接張,這讓張頗感意外。
但很快,他們就開始談論一起去日本旅行逛逛的事情。雖然張有點擔心,畢竟他們彼此并不熟悉。但是她還是決定賭一把。
事實證明,何有一個非常嚴格和特殊的行程計劃。
他喜歡吃拉面,為了盡可能多地游玩東京,他列了一張拉面店的名單,并把它們標記在谷歌地圖上。
然后,他寫了一些自定義代碼來對餐館進行排名,當他們去觀光的時候,就可以去最好的餐館吃飯。
他說,這是一個“相當傳統的”算法挑戰,就像在大學里學到的那種。何給張看了手機上的地圖。
他告訴她,他還打算仔細記錄每頓飯的質量。 “哇,”這讓她印象非常深刻,她想, “這家伙是個瘋子。”
何也很機智,博覽群書,風趣幽默,這次旅行很成功。他們吃了很多拉面,在看相撲摔跤比賽時喝了不少啤酒,游覽了東京很多有名的地方。這是一段七年關系的開始。
多年來,像“吃拉面優化器”這樣的怪事,一直是何日常生活的一部分。何在梅肯長大,擁有一臺德州儀器公司(Texas Instruments)的 TI-89 計算器。
他說,一天,在翻閱說明書時,他發現這個計算器包含一種 Basic 編程語言,然后自己自學了足夠多的知識,煞費苦心地在計算器上重新創建了任天堂的薩爾達傳說系列游戲。
后來,他在計算機上學習了 Java,高中畢業后到亞特蘭大的喬治亞理工學院學習計算機科學。抽象的算法概念非常有趣,但真正讓他著迷的是使用計算機避免重復勞動。
“每當我不得不一遍又一遍地重復某件事時,”他告訴我,“我就會覺得無聊。”
在大學的最后一年,何創辦了一家公司,創建論壇,讓在不同大學學習相同課程的學生可以互相交流,回答問題。但是它沒有聚集足夠的用戶,最后他關閉了它。
雖然面試了谷歌和微軟等幾家公司,但在面試之后,他就陷入了恐慌。他不想為別人工作。 他覺得,從價值創造的角度來看,成為一名“打工者”是一個可怕的命題。
雖然,你可以得到一張支票,但是勞動的大部分價值都被創始人攫取了,或者是那些擁有股權的人。
對于何來說,他有能力創建一些東西,只是不知道該做什么。
幾個月后,他忽然想到了一個主意。他和父親一起去辦事,他父親是一名兒科醫生,經營著自己的診所,需要買兩個計時鐘,這是一種老式的打卡機器,員工可以在上面插入卡片,上面有當天開始和停止工作的時間。 每只計時器大約 300 美元。
何大吃一驚,難道關于計時鐘的技術一直沒有改變嗎? “我不敢相信這還是一個問題,”他想。
他意識到,自己可以迅速做出一個網站,來完成同樣的任務,而且能夠做得更好:員工可以用手機登錄,網站會自動計算時間。
“不要買這個時鐘,”他告訴父親。 “我給你編一個代碼。”三天后,他做出了一個原型。他父親的診所開始使用這項服務,令何高興的是,他們很喜歡這項服務。
這個系統比基于紙板的計時鐘效率高太多了。
他整理了自己的網站,給它起了個名字——Clockspot ——四個月后,一家律師事務所成為了他的客戶。
當第一筆付款到位時,何在佐治亞理工學院圖書館工作時,差點從椅子上跳起來。他在用他的軟件賺錢!
九個月后,何的公司每月從阿拉巴馬州伯明翰市的清潔公司、家庭護理公司獲得約 1 萬美元的收入。
他連續兩年不停地改進和調試代碼。最終他讓它運作得非常好,以至于 Clockspot 基本上是在自動運行的。
除了自己,何唯一需要的員工就是一名兼職客戶服務代理。他的收入不錯,有足夠的時間旅行和做其他興趣愛好。 他優化了自己的生活效率。
Jason Ho
二、
用風險投資家馬克·安德森(Marc Andreessen)的名言來說:就像任何有知覺的人一樣,你已經注意到軟件正在吞噬世界。
你已經看到 Facebook 吞噬了公共領域,Uber 徹底改變了城市交通,Instagram 重塑了自拍文化,亞馬遜在 24 小時內讓你完成購物。
技術創新者,通常夸耀他們的服務改變了世界或者使生活更方便,但是他們所做的一切都基于速度。不管你以前在做什么——打車、和朋友閑聊、買牙膏——現在都變得更快了。
硅谷的核心總是將人類活動轉化為代謝的過度活躍。
也許你想知道,這到底是為什么?為什么技術人員堅持認為事情應該加速?優化?
當然,有一個明顯的原因:他們這樣做是受到了市場的支配。
任何人,只要能改進一個過程,擠出一些利潤空間,資本主義都會給予他們豐厚的回報。但對于軟件來說,還有其他的原因。
但對于程序員來說,效率不僅僅是一個商業工具。 這是一種存在的狀態,一種情感上的驅動力。
程序員可能有不同的背景和世界觀,但是我遇到的幾乎每一個人都發現,做低效率的事情,并且把它的效率提高一個檔次,都會帶來很強的愉悅感。
消除系統中的摩擦,是一種美學意義上的樂趣。當程序員們談到讓某個東西運行得更快,或者他們如何從某個過程中消除了一些麻煩的工作時,他們的眼睛會“燃燒”起來。
這種對效率的熱情,并不是軟件開發者所獨有的。長期以來,工程師和發明家一直受到它的激勵。在工業化的早期,工程師們把日常工作的自動化提升到道德的高度。
正如工程師查爾斯·赫爾曼尼(Charles Hermany)在 1904 年所寫的那樣,工程師是人類“擺脫絕望、繁重勞動的救世主”。
泰勒弗雷德里克·溫斯洛·泰勒(Frederick Winslow Taylor)——泰勒主義的發明者,為制造流水線奠定了基礎——猛烈抨擊了“人類笨拙、低效或者方向不明的流動”。
當今的許多程序員,在他們的青少年時代都經歷過高效率的“頓悟”時刻。尤其是他們發現生活中充滿了令人眼花繚亂的枯燥重復性任務,而且電腦真的很擅長做這些任務的時候。
對于和我交流過的一些程序員來說,數學家庭作業,以及一連串枯燥的練習,是激發了他們靈感的情況之一。
Perl 編程語言的創始人拉里·沃爾(Larry Wall)和幾位合著者寫道,程序員的一個關鍵優點是“懶惰”——懶惰是指,你不愿意執行死記硬背的動作,這會促使你去琢磨,怎么把這些工作自動化。
最終,這種對效率的追求,最后都會變得難以為繼。
舊金山的一位程序員克里斯塔 · 馬比(Christa Mabee)曾告訴我:我認識的大多數工程師,一生中都會發現到處都是效率低下的現象。無論如何,登機都是低效的。
他們會發現自己走在街上,希望人們在人行道和十字路口以一種更優的方式導航。
哥倫比亞大學數據科學研究所的計算機科學教授珍妮特 · 溫(Jeannette Wing)普及了“計算思維”這個短語來描述馬比所描述的情況。
它包括觀察你周圍世界中看不見的系統的藝術,有哪些規則設置和決定我們如何生活的設計等等。
何,有看到并試圖完善這些看不見的系統的訣竅。幾年前,我在舊金山的一家餐廳認識了何和張。
當時,何正在經營管理 Clockspot,它運行得非常順利,以至于他每周只需要工作幾個小時就夠了。
“他說他一個月工作 20 個小時,但是我不認為我見過他工作那么多,”張說。 (這對夫婦后來分開了,但兩人關系仍然很好。)
何花了不少時間旅行,有一次他甚至在珠穆朗瑪峰上處理了一次宕機事故。
然而,他的優化和編碼工作從未停止過。 當他決定買房時,他編寫了一個軟件,可以把市場上幾十套房產的信息——它們的位置、價格和社區統計數據——輸入軟件,然后計算出這些房產的長期價值。
這個系統推薦的首選項目是 Nob Hill 的一套現代化公寓。 他相信了。 因為他討厭購物,他買了幾十件同樣的T恤衫和卡其褲,這是程序員的經典策略,因為它消除了穿衣服時做決策的摩擦。
幾年前,何決定健身,這帶來了一個特別瘋狂的優化挑戰:他能有多強壯? 他會帶著一個小秤去餐館稱量他的食物份量。
“他在電子表格中記錄了他吃的每一樣東西,”張說。 何向我展示了他手機上的電子表格,這是一個龐大的怪獸,每天總共攝入 3500 卡路里的熱量。
他在健身房鍛煉,但也想方設法把鍛煉擠進他所做的任何事情中。 如果他經過一個厚厚的金屬欄桿,他會用它做引體向上; 如果他經過一個垃圾箱,他會把它舉到一邊。
經過兩年的訓練,他在業余健美比賽中獲得了第二名。他翻了翻手機,找到了那個時期自己的照片。
在一張照片中,他涂了少許油,穿著內衣在陽光明媚的窗前擺姿勢。他看起來像一尊希臘雕像。 他說,自己體內脂肪含量降到了 7% 左右。看上去肌肉發達感覺很好,但主要還是想看看這是否可能。
何給我看了他畫的另一張圖表。
這個表格,可以說是一本人生指南,不僅是一種優化自己身體的方法,也是一種優化自己清醒時每一秒鐘的方法。
他決定,只花時間做那些每一分努力都最有可能產生最大效果的事情。他標出了 16 種生活活動。其中包括: 創業、編程、吉他、星際爭霸、購物以及“與朋友和家人共度時光”。
然后,在各個活動的欄中,他列出了各種標準,比如這項活動是否具有內在意義,而不僅僅是達到目的的手段(“自動完成”) ,它是否“可以被掌握”,它是否“影響生活的多個領域”。
對于“編程”和“創業”,何認為它們符合每一條要求。當他談到“花時間與朋友和家人在一起”的社交領域時,他勾選了“影響生活的多個方面”因為“可以被掌握,”他寫道。
對于很多人來說,這可能看起來很瘋狂。將生活中的情感部分系統化,并將社交活動視為低效率的一個來源,這種想法令人崩潰。
何是外向的人,喜歡社交。但對于一些程序員來說,人們和他們不斷的要求可能是一個痛苦的來源,在他們看來,人際關系也是每天都需要解決的麻煩。
在計算機早期時代,就有技術專家在帶著一些焦慮不安來思考問題。
正如建造了第一臺可編程計算機的德國土木工程師康拉德 · 祖澤(Konrad Zuse)所說:“與計算機變得像人類相比,人類變得像計算機的危險可能會更大。”
有一天晚上,當我全神貫注地閱讀 Quora 上的一個帖子時,我想到了這件事。
在這個帖子里,幾十個程序員分享了他們如何自動化處理日常生活中的細微差別的故事。有一些令人不安的,甚至是病態的行為,他們正在將社交活動變成一個一成不變的機器人化任務。
“我厭倦了朋友和家人說‘你從來不給我發短信’,”一名程序員寫道,于是他創建了一個腳本,可以隨機向他們發送短信。
短信的開頭是這樣的:“早上好 / 下午好 / 晚上好,嘿{ name } ,我一直想給你打電話”,然后在結尾列表中附加一個選項:“我希望一切都好 / 我下個月晚些時候會回家,愛你 / 我們下周什么時候談談,你什么時候有空。”
在舊金山的一次編程馬拉松上,一位中年程序員興奮地向我展示了他開發的一款應用程序,這款應用程序可以自動向伴侶發送浪漫信息。
“當你沒有足夠的時間去想她的時候”——是的,他認為情感上需要幫助的伴侶應該是她——“這個可以幫你解決問題,”他熱情洋溢地說。
這些讓社交更有效率的嘗試一直延伸到最大的高科技公司:想想 Gmail 的自動完成功能,它鼓勵我們通過一個算法為我們寫回復,來加快發送電子郵件的速度。
長期以來,語言學家和心理學家一直在記錄社交的價值。
社交是人們在日常生活中使用的各種情感手段,目的是讓他人感到放松或聽取他人的意見:“最近怎么樣?天氣很糟糕,是吧?你今晚有什么安排?”
我和程序員聊得越多,就聽到越來越多的人說他們發現這些東西就像齒輪里的沙礫一樣令人討厭。
克里斯托弗·索普(Christopher Thorpe)是一位在六家以上科技公司工作過的資深程序員,他告訴我,他曾經與一位“極具天賦的工程師”共事,而這位工程師恰好符合上述條件。
“我們在所有的會議上講笑話,他對我很生氣,因為我們在浪費時間。為什么我們要花五分鐘和辦公室的 20 個人一起玩?現在是工作時間,每個人都在笑——但是,你知道,你在浪費所有這些寶貴的時間。
這個笑話浪費了 20 個人的時間!這個人會開始喋喋不休地說:‘5 分鐘乘以 20,這就像,你知道,你在這些笑話上浪費了一個半小時的時間。’”
三、
事實是,我對程序員優化日常生活的狂熱有些同情,因為我自己也嘗過那些刺激的滋味。
三年前,我開始寫一本關于程序員心理學的書,所以我決定重拾 80 年代寫代碼的感覺, 并涉獵一些現代語言,比如 Python 和 JavaScript。
我在寫作上花的時間越多,我就越注意到日常事務中效率低下的時刻,并對此深感惱火。例如,在寫作的時候,我發現自己經常查閱各種在線敘詞表。
它們很有用,但是太麻煩了,以至于每次我搜索的時候,都要花大概兩秒鐘的時間來等待結果。 所以我決定使用一個提供了同義詞庫 API 的網站來編寫我自己的命令行同義詞庫。
花了一個上午編寫 Python 程序后,我有了一個腳本。 我會在命令行中輸入一個單詞,它會以閃電般的速度返回同義詞和反義詞。黑底綠字,樸實無華,但粗糙不堪。
但它速度非??欤翰辉俚戎鵀g覽器加載一大堆跟蹤腳本,看著 cookies 堵塞我的硬盤。
當然,這節省下來的時間并沒有太大的影響。
假設我寫作時平均每小時搜索兩次同義詞,并且假設我的代碼在每次搜索時,為我節省了兩秒鐘的時間。每一年內,我就可以節省一個小時。幾乎不值一提。
盡管如此,速度的提升也溫暖了我的靈魂。 每次我搜索一個同義詞,活潑的搜索結果都會產生一種愉悅感。這感覺很好。
不久之后,我寫小的程序上癮了。我做了一個用來清理我下載的 YouTube 視頻的程序;一個是抓取和歸檔我在推特上發布的鏈接;還有一個用來不斷查看我兒子小學的網站,并在老師發布作業時給他發短信的程序。 (他已經厭倦了按“刷新”鍵。)
我的許多小程序寫得很糟糕,幾乎不能正常工作;我選擇了最簡單、最“暴力”的方法來完成它。當我看到真正有經驗的程序員的代碼時,我會欽佩他們寫得多么優雅。
我會想出一個龐大而丑陋的函數來篩選一些數據,然后發現一個有經驗的程序員可以用幾行簡潔的代碼來完成。(他們的代碼運行得也快得多。)
新聞工作者有時會對谷歌龐大的代碼庫(20 億行)驚嘆不已,認為這是谷歌強大實力的象征。 但是程序員們并不為數量所動。
有時,最高效的程序員是那些減少代碼庫,使其更短和更密集的人。在 Facebook 工作了三年后,一位名叫 Jinghao Yan 的工程師檢查了他對公司代碼庫的所有貢獻,發現數字是負數。
“我增加了 391,973 行代碼,并從主代碼庫中刪除了 509,793 行代碼,”他在另一個 Quora 編碼帖子中寫道。 (事實證明,Quora 上有很多程序員。) “因此,如果我每年編碼 1000 個小時,那么大約每小時刪除 39 條網絡線路!”
編程,讓人想起詩歌,壓縮可以賦予力量。
正如程序員兼作家馬特·沃德(Matt Ward)在 Smashing Magazine 上發表的一篇文章中所寫的那樣:“在一首精心創作的詩歌中,每一個單詞都有其意義和目的。一個詩人可以花上幾個小時來尋找恰當的詞語,或者把一首詩放在一邊幾天,然后再回來尋找新的視角。”
2016 年,我拜訪了 Instagram 的首席工程師瑞安·奧爾森(Ryan Olson)。他的團隊剛剛推出了平臺上的 Stories 功能。這是一次巨大的升級。
奧爾森告訴我,在更新發布后的幾個小時內,他疲憊不堪地在舊金山閑逛,看到人們已經在使用 Stories 了。
“這是一次非常酷的經歷,”他說。“昨晚我在健身房,我環顧四周,發現有人在使用這種產品。 我不知道歷史上是否有其他方式可以讓你接觸到這么多人”,或者“很少有人能定義這么多人的經歷”。
優化你的個人生活是一回事。但是對許多程序員來說,真正的興奮劑是改變世界。
規模本身就是一種樂趣;看著你的新代碼突然流行起來,從兩個人到四個人到八個人,再到整個地球,真是令人著迷。
你已經加速了生活的某些方面——我們如何發短信、支付賬單或分享新聞——你可以看到漣漪向外擴散。
這也解釋了軟件行業中的巨大財富通常是如何產生的。
風險投資家將大量資金投入到他們認為會像野葛一樣發展的事物中,市場對此給予了回報。
對于熱愛效率的硅谷工程師來說,這不僅會帶來規模擴大上的快樂,還會帶來對規模的絕對渴望。
事實上,在硅谷的權威人士中,經常有一種對無法規?;臇|西的蔑視。渺小可能看起來像是軟弱。
有幾次在和科技大佬談話時,我提到了何的公司,解釋了我如何發現它是一個聰明而令人欽佩的業務,一個創業者滿足那些未滿足需求的完美例子。但他們對此嗤之以鼻。
對他們來說,何的 Clockspot 是一家“生活方式企業”。 他們說,這種產品當然沒問題,但谷歌可以復制它,并在一秒鐘內讓他破產。
顯然,我們從軟件工程師的沖動中受益匪淺,他們本能地希望加快工作速度,創造出豐富的內容。但與此同時,對規模效率的無情追求有著令人不安的副作用。
Facebook 的 News Feed 加快了朋友向我們展示照片的速度,也加快了惡意動機者傳播不實信息的速度。Uber 為乘客優化了叫車服務,但顛覆了司機謀生的經濟模式。
也許我們——那些生活被如此無情地優化的人們——終于注意到了這些影響。我們當然更抱怨大科技公司,注意到它是如何帶來更多問題的。
但我們不知道該怎么辦;我們仍然喜歡效率,開發軟件的公司不斷聲稱,我們可以用更少的資源做更多的事情。但是懷疑已經刺痛了我們的心。
也許,我們會對過度優化感到不舒服。看看任何一條城市街道上的場景:員工在上班時以 1.5 倍的速度收聽播客,戴著 Apple Watch 確保每天走 10000 步,在餐桌上看工作郵件。
我們變得像程序員一樣,扭轉生活中的每一個齒輪來消除摩擦。
像任何優秀的工程師一樣,我們可以讓我們生活中的機器運行得非???,盡管不清楚我們是否對我們要去的地方感到滿意。
總結
以上是生活随笔為你收集整理的程序员杀死低效率的原始冲动,重塑了人类世界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为P30首批订单或超600万台,全年将
- 下一篇: 华为研发费用升至全球第四:一年投1015