成為“搖滾明星”:軟件曾經(jīng)是個(gè)人才/創(chuàng)意行業(yè)

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