WebAssembly 團隊成員:谷歌是我工作過的最糟糕的公司
WebAssembly 團隊創(chuàng)始成員 Katelyn Gadd 發(fā)文解釋自己退出團隊,并離開谷歌的原因。
Katelyn 于 2015 年加入谷歌 V8 團隊,是編寫 WebAssembly 規(guī)范的首批成員。她希望通過自己就職于谷歌的這段經(jīng)歷,幫助更多人認(rèn)識到工作中的 “毒文化 (toxic cultures)”,以及幫助新員工在谷歌擁有更好的職業(yè)生涯。
下文整理自 Katelyn 的自述。
剛加入 V8 團隊的前幾年我負(fù)責(zé)維護(hù)一個將 .NET 應(yīng)用程序轉(zhuǎn)換為高效 JavaScript 代碼的轉(zhuǎn)譯器。與此同時,Emscripten 項目也開始啟動了。Emscripten 發(fā)展迅速,很快成為了標(biāo)準(zhǔn),并啟發(fā)了 WebAssembly 的誕生靈感。當(dāng)時我很幸運能與 asm.js 的創(chuàng)建者 Alon Zakai 共事,并從他的建議和專業(yè)知識中學(xué)到了很多東西。這段經(jīng)歷讓我很自然地成為了 WebAssembly 團隊的一員。
在過去的 20 年里,雖然我一直在與慢性病作斗爭,但仍能保持高效率工作,這很大程度上要歸功于與我一起工作的同事。但即便如此,谷歌仍是我工作過的最糟糕的公司 —— 它給我?guī)砹四X損傷。如果你發(fā)現(xiàn)工作讓你難以入睡,讓你每天都感到緊張,或者讓你不斷質(zhì)疑自己的自我價值,那么我鼓勵你去尋找新的工作。
當(dāng)時 WebAssembly 充滿潛力,Mozilla 和谷歌都在努力讓 asm.js 成為能讓任何應(yīng)用程序都變成 Web 形式的解決方案,雖然雙方克服了大部分技術(shù)挑戰(zhàn),但有些問題依然難以解決。這時,WebAssembly 也確定了未來的進(jìn)程:吸收 asm.js 優(yōu)勢的同時解決缺點,并構(gòu)建一套可以在現(xiàn)有的 JavaScript 運行時上,通過代碼生成、調(diào)試和其他基礎(chǔ)設(shè)施輕松實現(xiàn)的新規(guī)范。
我作為最早的一批貢獻(xiàn)者,對于能參與編寫規(guī)范感到非常興奮。雖然具備 Web 開發(fā)經(jīng)驗,但制定規(guī)范和 Web 開發(fā)不太一樣,這是一次獨特的挑戰(zhàn)。委員會必須同時負(fù)責(zé)項目經(jīng)理、布道者和開發(fā)者的工作。我們和 JF Bastien, Luke Wagner, Alon Zakai, Ben Titzer 等業(yè)界大牛,以及無數(shù)的其他貢獻(xiàn)者一起努力工作,希望構(gòu)建一個會被數(shù)十億人使用的框架。
這個雄心勃勃的目標(biāo)給大家?guī)砹司薮髩毫?。要知?Web 的歷史充斥著糟糕的 API、考慮不周的規(guī)范和錯綜復(fù)雜的安全漏洞。一個程序員在一周內(nèi)完成的工作,可能會在未來數(shù)十年消耗開發(fā)者的工程時間。WebAssembly 不能也不會以 “半成品” 的狀態(tài)發(fā)布成規(guī)范。因為作為瀏覽器開發(fā)者,我們深知每個人要為此付出的代價。
項目的重要性和隨之而來的壓力,引發(fā)了團隊的斗爭,也毒害了工作環(huán)境。大家的討論變得愈加激烈,兩位來自競爭公司的專家經(jīng)常無法達(dá)成一致,每個人都堅持己見。為此,會議主題經(jīng)常會跑偏,導(dǎo)致浪費了時間且沒有任何結(jié)果。而在健康的工作環(huán)境中,通常會有項目經(jīng)理和負(fù)責(zé)人及時發(fā)現(xiàn)和解決這些問題,以推進(jìn)項目發(fā)展。
當(dāng)時 WebAssembly 團隊沒有項目經(jīng)理,雖然大家都知道需要這個角色,但最后只有一名志愿擔(dān)任此職位的臨時項目經(jīng)理。這將復(fù)雜的社會和組織挑戰(zhàn)留給了過度勞累的工程師,他們幾乎沒有解決這些問題的經(jīng)驗。最終 WebAssembly 規(guī)范的最小化可行產(chǎn)品被推遲發(fā)布,項目質(zhì)量下降,貢獻(xiàn)者選擇離開 —— 這在開源歷史上算不上是獨特的故事,但仍然令人不勝唏噓。
當(dāng)一個團隊缺乏資源,并且領(lǐng)導(dǎo)者缺乏對計劃、資源和時間進(jìn)度的控制時,再小的問題都會釀成大錯。這個時候,公司其他部門感興趣的同事參與了 WebAssembly 項目,希望運用他們的專業(yè)知識來 “修復(fù)”—— 其實他們只是希望通過這個項目包裝自己,進(jìn)而提升價值。
為此導(dǎo)致的結(jié)果是,WebAssembly 規(guī)范最終構(gòu)建在晦澀難懂的技術(shù)之上,這使得其他開發(fā)者更難參與貢獻(xiàn),同時讓委員會的許多成員感到沮喪。雖然最后 WebAssembly 規(guī)范以良好的狀態(tài)正常發(fā)布,但團隊也為此產(chǎn)生的問題付出了巨大代價。
本文轉(zhuǎn)自O(shè)SCHINA
本文標(biāo)題:WebAssembly 團隊成員:谷歌是我工作過的最糟糕的公司
本文地址:https://www.oschina.net/news/197665/why-i-quit-googles-webassembly-team