成為“搖滾明星”:軟件曾經是個人才/創意行業

神譯局是36氪旗下編譯團隊,關注科技、商業、職場、生活等領域,重點介紹國外的新技術、新觀點、新風向。
編者按:本文討論了軟件行業的問題,指出應用軟件已經不再是創意和才能的游戲,而是逐漸被“商品化”了,一切都要按照劇本走了。這種方式既無趣又缺乏動力,更多是基于風險管理而不是結果最大化。這導致了軟件業的很多人感到非常沮喪。文章提出,需要重新考慮這種做法,并重視培養有創意和有才能的團隊。文章來自編譯。
《黑客都跑去哪兒了?》那篇文章背后都是誰在煽風點火?就我所知,其背后最大的始作俑者之一是 Kellan ,他寫了《軟件及其不滿》系列。這些都是很好的文章,旨在回答“為什么現在人人都對軟件感到那么痛苦?”這個問題。
我很喜歡這個話題,這些文章講到了各種怨氣,但我感覺并沒有講清楚我觀察到的其背后的總體敘事:應用軟件不再是一場發揮“創意”和“才能”的游戲,現在已變成一灘“商品化的爛泥”,有手冊知道如何去制作。這本手冊描述的游戲 a) 對于大多數玩家來說很無趣或沒有激勵作用,b) 基于風險管理(恐懼)而不是結果最大化(希望),以及 c)……但實際上似乎還是沒起作用?可如果你不按照手冊做,每個人都會對你大喊大叫,說你不成熟或不認真?
勞動力/招聘市場總是趕不上形勢,因此在一段時間內,薪酬和敘述講的都是創意人員/黑客的,但衡量工作和結果卻很保守和面向管理的。軟件是按照泰勒·斯威夫特的方式定價的,但卻是由“未獲認可的工作室音樂家”開發的。
對于很多從事軟件工作的人來說,這種情況非常令人沮喪,但我卻特別感興趣:當我們反應過度并太過循規蹈矩時,就會阻止任何的“泰勒·斯威夫特”出頭,因為我們決定采用平庸的工具,并讓團隊“最低標準”化。要想找回“那種神奇感覺”,你得努力摸到天花板,讓員工發揮最大潛力,而不是將他們扁平化,盡管要做到這些也許很令人生畏。
本文的目的是闡述我所謂的“創意”/“人才”行業的含義,文章認為背離這種模式會讓軟件對每個人來說都變得更加痛苦,也許我們需要重新考慮一下代表這一舉措的操作手冊,至少做出部分調整。
2009 年的時候,我買了這本書,因為只要看看代碼庫,就會發現它是有風格的。你得有某種“代碼手寫能力”。但現在我們有black(python自動格式化工具)和gofmt(go自動格式化工具)。
“他們有沒有那種魅力?”
在這些行業中你經常看到這樣的事情:球探和制片人去尋找真正的人才的時候會運用他們的“直覺”,因為規規矩矩地審視,作用并不明顯。這些行業是……很多彩的。娛樂業就是一個例子:如果你是 1990 年代的一位音樂高管,想要靠垃圾搖滾賺錢,你可以試著與專業音樂家合作創建一支新的垃圾搖滾樂隊,或者也可以讓星探到車庫去找些年輕人。
其中一種做法絕對是更好的選擇:做出成功的垃圾搖滾沒有任何公式可以參照;一些樂隊就是有那種魔力,可以與一起購買 CD 的不滿的白人青少年產生共鳴,而其他一些樂隊確實演奏樂器的技巧很華麗,唱得也不錯,但就是缺少這種魔力,得不到青少年的認同。因此,就像捕蝦船一樣,最成功的垃圾搖滾樂隊(就像娛樂業中大多數其他洞悉青年文化的網紅一樣)并不是圈養出來的,而是在野生捕獲的。
Reply-All 這個播客其中最著名的一集里面,有一位音樂家與一位聆聽了他樣片的主流唱片公司高管的對話。從中我們可以思考不同的人的生活方式和價值觀是怎樣的,可以思考一下“工作”對他們來說是什么樣子的,以及這兩個人相遇并成為合作者是多么有趣:
我想說的是:軟件更是如此。2009 年,你以本科生的身份飛到舊金山參加 Facebook 面試,入住酒店,享受免費食物,這一切都是因為你會編程嗎?尤其是如果過去兩年你一直在圖書館默默折騰自己的業余項目的話,你會感覺這很酷,但同時你也會感到茫然和困惑:為什么會有這么一臺看不見的機器,只是為了看看你是不是擁有他們所需要的魔力而愿意花那么多的錢?
人才/創意產業的要素是:
-
必須非常有價值,就像職業運動員、音樂家、電影明星一樣。企業要想取得巨大成功,需要對想招進來的人來說也能取得巨大成功。
-
想“綜合”地復制成功肯定是很難或不可能的。我們甚至有一個旨在培養流行歌星的節目(《美國偶像》),雖然很多參賽者多多少少都從事過音樂這一行,但這個節目其實后來只制造出一位流行歌星(凱莉·克拉克森,第一屆的獲勝者)。像這樣的行業在“誰擁有魅力”這件事上必定有一定程度的神秘感。
-
這種魅力……其實很重要。我認為技術圈的問題出在:要有一個實際的力量倍增器才能擁有這種難以言表的才能。肯德里克·拉馬爾(Kendrick Lamar)之所以是肯德里克·拉馬爾,需要真正創造出肯德里克·拉馬爾規模的成果。我認為技術圈確實讓我們自己相信,如果我們能像 Paul Graham 那樣寫 Lisp,作為聰明人的我們就能致富,但事實證明,說服自己是一個創新的技術天才比真正成為一個創新的技術天才要容易得多。實際上靠投資于天才黑客而獲利的公司非常非常少:對于大多數公司來說,阻力較小的途徑是利用“科技公司”的品牌和光環,把開發作為成本中心,然后去玩金融。
《why's (poignant) Guide to Ruby》
還記得我們寫過像這樣的編程語言書籍嗎?對于年輕人來說,這是來自 why's poignant 的 Ruby 指南。另外,還記得當一位奇怪的丹麥賽車愛好者用 1995 年的語言編寫了一個框架時,大家......卻很喜歡嗎?
好吧,但是為什么要提這個呢?
因為雖然《軟件及其不滿》中的分析沒有任何問題,但我認為,對于接受“軟件是創意行業”的敘事(并圍繞著這種敘事構建現實)的團隊來說,里面提到的問題大部分都得到了緩解。話雖如此,他和我可能永遠不會在這個問題上達成一致,因為他或多或少發明了“選擇無聊技術”,而我提倡的大部分內容是打破手冊、擁抱敘事并變得有趣。
他在文章中提出了四個要點:
軟件開發復雜性的爆炸式增長
科技人才變得更加昂貴
成功變得比以往任何時候都更加難以捉摸,初創企業“失去了那種神奇的感覺”
對工作環境不斷變化的期望產生的沖突
我們來逐一審視這些問題。如果你有“創意產業”的心態,就能擺脫其中最糟糕的情況。
科技人才變得更加昂貴
第一:少招點人。如果不是感覺極度受限的話,就不要招人。在大約 5 到 7 年的時間里,工程師開始沾沾自喜地說“最好是一行代碼都不寫!每一行都很貴,都必須維護”,雖然這絕對是真的,但我希望你把招聘一位新員工給組織帶來的運營成本至少想象成跟一條 20 萬美元的線路服務一樣昂貴。
WhatsApp 當初被 Facebook 收購時,他們只有有 35 名工程師。他們之所以能夠做到這一點,部分是因為他們沒有“按照手冊”做,雖然你可能不會那么極端,但如果把軟件業當作創意產業看的話:你覺得增加 400 名編劇,SNL 就會有所改善嗎?如果 HBO 給《權力的游戲》增加 15 名制片人又會怎樣?
團隊是一種不可變的數據結構:一旦改變了團隊,你就會得到一支新的團隊。太快添加太多人員,會增加公司的溝通成本。如果人們被介紹到一家缺乏足夠的經驗豐富的導師的公司,而公司又沒有建立起自己的文化和愿景的話,他們就會添加流程,生成文檔,因為這感覺好像工作很高效。但你的客戶不關心這些。
我想以池塘的生態體系為例:想象里面會有烏龜、魚、細菌以及藻類。這就是你們公司的文化。如果你把相當于其總量 5% 的來自其他池塘(細菌、魚、藻類不一樣)的水加入到該池塘里,幾周后得到的池塘幾乎與原先的池塘是一樣的,不過是水量更多罷了。但如果你往里面加入 40% 的新水,新池塘的動物群可能就會勝出,最終原先那個池塘可能會變得面目全非。
招聘要謹慎,但更重要的是:盡可能慢一點招人。額外的好處是,這對要招什么樣的人也適用。
(我認識到,我們之所以要招聘這么多的員工,原因之一是來自投資者的壓力。如果你是一家公司的領導層,你的日常數據看板會有手頭現金方面的數據,投資者不想要回現金:他們想要的是“現金減少,股價上漲”,你需要在下一次董事會會議之前實現這一目標。在利率為零的時代,實現這個目標的方法之一就是雇用昂貴的工程師。)
你還可以用打破常規劇本來“假裝我們屬于創意產業”:
-
考慮將服務器托管在同一機房內(colocating servers)而不是放在云端。Squarespace 做到了,Twitter 做到了,Basecamp 做到了,Stack Exchange 做到了。這不僅是可能的,而且通常要便宜得多。
-
見鬼,剛開始時甚至可以考慮“pets, not cattle”模式(編者注:在云計算和 Web 服務領域,這句話用來區分兩種不同的服務器管理理念。cattle 意味著將服務器當作無差別、可替換的量產品。pets 意味著將每臺服務器當作獨一無二、不可替代的個體)。不要做出 Heroku 與你自己產品的劣質版,這樣后面會很麻煩。
-
考慮有狀態的部署,至少把它作為無狀態之上的另一層。如果你有一個基于 Docker 的工作流,可以通過 git 克隆新的基礎鏡像,不妨考慮托管一個持久的構建服務器,用 git 去 pull。Fred Hebert 就講過自己工作過的公司的案例,他們以干掉有狀態部署的名義,從 BEAM 遷移到 Go + Docker(遵循手冊,選擇無聊), 從而徹底失去了功能和靈活性。
上面提到的每一點都可以獨立成文,里面涉及到大量注意事項與支持證據。但我覺得現在已經說得夠多的了,所以剩下的我會快速略過。
“軟件開發復雜性的爆發式增長”
我討厭復雜這個詞。作為一個行業,我們對復雜缺乏共同的定義,復雜通常意味著“我不喜歡的狗屎”。幸運的是,Kellan 給出了稍微精確一點的信息:
在系統思維和軟件當中,“復雜”都是個技術術語。它指的是系統不同部分以及它們之間的連接的數量。復雜系統的特點是非線性、隨機性、涌現性以及意外性。在開發軟件時,復雜性是溝通和協調成本高于所有其他成本的原因所在。
你有沒有注意到上一點的示例也刪除了事物之間的聯系?人,整個基礎設施棧,以及當你想吃個蛋糕時就得建造一整家面包店并且還得做好維護的想法。這些都沒了!
但我們還可以繼續。扔掉手冊,來點創意:
-
是不是每家公司都需要一支完整的全職員工團隊來支持 React 客戶端,這樣的客戶端需要服務器端渲染(SSR),需要額外的基礎設施支持“水合作用”+ 比整個 Flash Runtime 運行時還要復雜的構建系統以及 node_modules 文件夾內置的設置?不妨考慮用 htmx、服務器端模板或 LiveView 替代一下?
-
你真的需要微服務嗎?Kubernetes 呢?Terraform 呢?不妨再假裝你回到 2011 年,部署 JAR 或二進制文件,保留并維護一個單體系統。 Dropbox、YouTube、Instagram、Facebook Blue App、Shopify……(大部分)都是單體系統,(大部分)都誕生于悲慘時代之前。
-
你可以使用擴展性優于 Ruby、Python 或 Node 的技術嗎?這方面我可以再展開寫寫,但是只要你跟任何要處理在這些技術棧的龐大代碼庫的工程師交談,他們都會告訴你會發生一些在 JVM 不會出現的壞事情。我在另一篇博客文章中講到:“你創建了一個針對創始工程師進行優化的環境,他們是可以前 7 個月內快速開發出某些東西來,但代價是此后會反復出現一系列的障礙,讓后面的工程師在未來 7 年內為此付出代價”。
上表說明Erlang 可以很好地替代 4-5 種技術,而下表中說明 LiveView 可以替代其他 4-5 種技術。我之所以如此看好 BEAM 和 LiveView ,部分是因為它們干掉了如此多的鏈接和連接。掌握它們需要一條學習曲線,但如果你掌握好的話,就會有一個非常強大的工具。
“成功變得比以往任何時候都更加難以捉摸,初創公司已經‘失去了那種神奇的感覺’”
我上面的所有建議都能從根本上降低開發軟件的成本,這有望帶來更大的成功。
此外,你招收到的那些勇于打破常規的人才,既更容易受激勵,也能激勵團隊的其他人。Ramp 首席執行官 Eric Glyman 最喜歡的一篇文章是《Amp it Up!》,里面他談到了很多想法,但核心是這個:保持斗志旺盛! 同樣是 50 人的團隊,如果里面有位工程師負責整個產品和技術棧(WhatsApp 那種風格)的話,其表現要比只負責 3 個頁面的 React 開發者要好(而且也會更快樂)。
技術不會成為你的企業獲勝的原因,但技術可以幫助創造出高能量、高動力的環境,這可以大大增加你的機會。
最后思考
我會用一個我沒有答案的問題作為結束:應用軟件行業對創造力的要求是不是不可簡化?我的意思是:有沒有可能產生一套具有成本效益的“既定解決方案”?
我想說的是,有些行業沒法可靠地成為具有成本效益的污泥工廠:有些人才你得野生捕獲,并且沒法可靠且綜合地生產出“產品”。我舉了垃圾音樂的例子,但其實我更喜歡以 HBO、迪士尼和 Netflix 的內容大戰為例。
看吧,HBO 和迪士尼幾十年來一直都是內容之王。他們擁有制作出大家喜愛的優質內容的渠道。他們知道你必須付錢給洛杉磯一群怪得不能再怪的怪人,并根據直覺下奇怪的賭注。這里有個關于 HBO 的故事,看看他們是如何差點與這十年來最成功的電視節目失之交臂的,因為制片人差點就被他們解雇了:
卡羅琳·施特勞斯(Carolyn Strauss)就是其中之一。盡管為 HBO 制作了一部又一部的熱門作品,但她還是在 2008 年被掃地出門。據她講述,這是因為她錯過了一部電視劇,也就是《廣告狂人》。結果,幾個月后,她被解雇了。在即將離開的時候,她說,“我正在制作一部電視劇,我想繼續做下去。這是一部關于龍的作品,你們看可以嗎?”結果對方同意了。然后,卡羅琳·施特勞斯成為了 HBO 有史以來最成功的電視劇《權力的游戲》的頂級制片人之一。
這些都是非常人性化的過程。Netflix 屬于新進入者 ,這家公司以技術為先,因此當他們進軍原創節目市場時,他們打算靠數據來殺出一條血路。 “數據顯示,新訂戶在兩季后就會減少,節目將只有兩季”(額外好處,這樣剝削起洛杉磯的娛樂工作者會更容易)。
他們正在輸掉賭注。事實證明,大家對漫威電影、《安多》(Andor)以及《彩排》(The Rehearsal)的渴望無比高企,遠勝一部投資 2 億美元、由熱門明星主演但無人觀看的電影,或威爾·史密斯那種笨拙的種族主義寓言電影。
(有趣的是,我有一個朋友在《冰雪奇緣》上映期間曾在迪士尼動畫公司工作,她毫不客氣地說他們當中有很多人都相信這將是一部失敗作品——這場游戲你是沒法預測成功的。)
所以有些行業不會產生“污泥”。總有一天,人類必須成為人類。我想知道軟件在多大程度上屬于這樣?可能比娛樂業還要更甚,因為相對而言,藝人從娛樂業轉型到流媒體服務,比從流媒體服務進入娛樂業更容易。但我認為這一情況的確定性并不像我們的行業“手冊”所宣傳的那么強。
譯者:boxi。
