一個越南程式設計師的阿里巴巴之旅

2023-12-20 12:01:14

譯者

蔣輝文,公眾號:ali老蔣

文章說明

本文訪談主人公是一個越南程式設計師,原來在 Lazada 工作。後來,Lazada 被阿里收購,他就來到阿里,在杭州阿里巴巴西溪園區呆過一段時間。現在,他已經跳槽到荷蘭的線上旅行公司Booking.com,本文是他講述自己的故事,以及對阿里的感受。

文章是訪談性質,主人公名字叫做Son Luong Ngoc,接受了Adam Gordon Bell(翻譯註:中文名縮寫為亞當)的一個採訪,以下就是採訪語錄,我把原文翻譯成了英文,為了方便大家閱讀,根據大意有刪改優化。

從這篇文章裡,我們可以瞭解到全球多個國家的網際網路以及對應的生活習慣和文化,非常有意思,以下就是訪談內容。

介紹

亞當: 嗨,大家好,這是CoRecursive(翻譯註:一個專門講述程式設計師程式碼背後的故事的播客)播客,我是主持人Adam Gordon Bell。

這是今天我要給你們介紹的故事,這不是一個程式設計師軟體開發的故事,而是一個程式設計師找到一個適合他們的生活和工作的故事。這也將是一次世界巡演般的歷程,我們會在不同的國家度過一段時間,包括加拿大和中國,我不想劇透太多,一起來和我們分享Son Luong Ngoc的精彩經歷吧。

搭建遊戲

彈跳遊戲啟發了Son Luong Ngoc
 

亞當: 你能告訴我你是誰,你做什麼工作嗎?

Son Luong Ngoc: 我叫Son Luong Ngoc,我為包括 Bazel(翻譯註:一款開源工具,用於構建自動化測試的軟體)在內的各種不同的開源專案做出了貢獻。我對Git和GitLab本身做出了一些貢獻,這是我一個簡短的總結。

亞當: Son Luong Ngoc職業生涯的最初曙光是從一個朋友的謊言開始的。當時他上高中的時候,在一個朋友家玩,朋友給他看了一個遊戲。

Son Luong Ngoc: 我認為遊戲的名字應該是「彈跳」,就是在遊戲中玩家是一個球,試圖從一個平臺到達另一個平臺並吃糖果或類似的東西,最後獲得積分。

Adam: 他的朋友聲稱他知道如何製作遊戲並且他可以開發這個遊戲。

Son Luong Ngoc: 順便說一句,他完全是胡說八道,他做不到。需要一個擁有影象圖形的軟體開發團隊來構建該遊戲,他一個人不可能開發出來。

Adam: 所以Son Luong Ngoc嘗試製作自己的遊戲。

Son Luong Ngoc: 然後我回到家,我一直記得我到底是如何使用Visual Basic(翻譯註:這是微軟早期的一款可以開發圖形的程式語言)程式使任何東西工作的,試圖拖動框並拖動按鈕,但是我發現這個按鈕不是我想要構建的遊戲。我可以點選它並建立一個像hello world一樣的東西,我可以單擊它並建立一個文字遊戲,你可以在其中回答是或否,然後選擇你的路徑,但這並不是很酷,並無法開發出一個好玩的遊戲。

夜間課程

亞當: 所以Son Luong Ngoc開始參加一些計算機程式設計的夜間課程。

Son Luong Ngoc: 老師教你如何製作網路伺服器之類的計算機程式。我記得那裡的老師說,「同學,你才十年級的,你為什麼來這裡?」 我的同學都是應屆大學生和已經有過工作經驗的人,而我是那裡唯一的高中生。

Adam: 這門課很有趣,但製作遊戲似乎仍然是一個謎,我認為還是很難。因此,當Son Luong Ngoc高中畢業時,因為他擅長數學並且喜歡開發遊戲的想法,他以外國學生的身份去了加拿大安大略省滑鐵盧市的滑鐵盧大學。滑鐵盧之旅對Son Luong Ngoc是一次文化衝擊。

滑鐵盧大學

Son Luong Ngoc就讀於滑鐵盧大學數學系
 

Son Luong Ngoc: 坐在我旁邊的是一位在加拿大出生和長大的亞洲人,他正在使用 Vim(翻譯註:Vim是Linux下的一款文字編輯工具)和 LaTeX(翻譯註:一款寫論文的軟體工具)做筆記。我當時想,「LaTeX 到底是什麼?Vim到底是什麼?」 坐在我左邊的是一個印度人,他正在攻讀科學和純數學雙學位課程。他最終成為了一名醫生。我記得第一年的一次談話。他問我說:「哦,你買了這隻股票嗎?」 我當時想,「什麼?你才剛滿18歲,你到底怎麼知道股票這個東西的?」 原來他的父母教了他所有這些東西。記得大三的時候,我遇到一對夫婦,期末考試結束後,他們還要去圖書館借數學書回去複習。

到底為了什麼而學習?我當時想,這個環境競爭太激烈了。來自亞洲的我,沒想到人們會那麼活躍。在亞洲學習通常是非常被動的。無論老師教給你什麼,你就學到什麼,僅此而已,但在北美和歐洲,如果你要學習某樣東西,那麼你必須對它充滿熱情,因為你可以選擇學習哪個主題和科目。所以一旦你對它產生了熱情,就意味著你喜歡學習它,並且你會花很多時間自學它。和大多數亞洲人一樣,我沒有這些熱情。雖然我很喜歡數學,但我並沒有到痴迷它的程度,我喜歡它只是因為我擅長它。

亞當: 這是Son Luong Ngoc第一次調整生活和思考方式,以後還會有更多調整,但在滑鐵盧找到自己的位置是一個挑戰。這是一所非常嚴肅的學校,但Son Luong Ngoc找到了一種學習和生活的方式。

Son Luong Ngoc: 大學教會了我兩件事。一是電腦科學的東西非常酷,但它教會我的是我需要重視環境。當我進入一個競爭的環境時,我可以不表現得有競爭性,但我應該和所有這些人交朋友,因為當我以後回顧時,我發現我在其他地方找不到和我一樣素質、一樣聰明、一樣速度的人,但是可以在滑鐵盧找到。

亞當: 從加拿大的外國學生身份到成為永久居民有一條路,那就是通過工作定居到加拿大,這也是Son Luong Ngoc的最初目標,但他所有的加拿大朋友似乎都選擇去了美國的谷歌或 Facebook 或其他地方找到了工作。在加拿大這個現象很明顯,我們稱之為「人才流失」,也許通過遠端工作,這種情況會減慢一點,但對於Son Luong Ngoc來說,隨著他的朋友們離開,他感覺自己被困在滑鐵盧和加拿大。

Son Luong Ngoc: 所以我真的很沮喪。我開始了八年的異國生活,根本沒有見到我的家人,那時候沒有視訊通話,沒有空中航班,沒有類似的事情。所以我決定,好吧,我需要心理重啟,這種心理重啟意味著我應該回到越南並嘗試尋找一些東西。

返回越南

Son Luong Ngoc回到越南河內
 

亞當: 在加拿大的數學系和滑鐵盧小城市度過了平靜的生活後,回到越南似乎是未來的事。

Son Luong Ngoc: 很多外國人,法國人、美國人、俄羅斯人,每個人都搬到越南或其他東南亞國家,因為他們喜歡那裡的生活。天氣真好,海灘。如果你有機會去度假,我絕對強烈推薦東南亞。

Adam: 在這段時間裡,至少在他的腦海裡,Son Luong Ngoc仍然保持著他的遊戲開發夢想。

Son Luong Ngoc: 我從回到越南就開始思考,在那裡工作一兩年後,我可以籌集到足夠的錢來開設一家遊戲公司。

Adam: 為了積累資金,他開始在CSE(翻譯註:一家國際科技公司)擔任業務分析師。

Son: 他們正在為各種不同的公司製作保險型別的軟體,早在 2016 年,保險科技公司仍在 COBOL(翻譯註:一種比較老的程式語言)上執行。將其轉化為Java 環境上可以帶來巨大的成本和效能方面的利潤,那時候我們主要就是與各種不同的保險公司打交道。

Adam: 在保險公司,Son Luong Ngoc開始發現這個遊戲製作計劃的理想存在問題。

Son Luong Ngoc: 當你進入保險行業時,你就會開始瞭解「可靠性」的價值,以及能夠保證某些事情的價值。人們為此付出了很多錢,我想,為什麼所有這些顯然非常聰明的人能夠花很多錢購買這些保險套餐?為什麼他們如此看重這一點「可靠性」?

亞當: 作為一名滑鐵盧數學畢業生,Son Luong Ngoc很容易就掌握了理解保險和精算數學的技能,這一切對他來說都開始有意義了。

Son Luong Ngoc: 這裡有一些價值。你不需要賭上一切,依然可以形成價值網路。實際上,你可以使用所有保險背後的精算模型來定量計算,然後在滑鐵盧所學的數學就開始發揮作用。我當時想,「哦,現在這一切都有意義了。我實際上可以用一種比賭上一切更好的方式來規劃我的生活和收入。」

亞當: 從這個新的角度來看,Son Luong Ngoc創辦一家遊戲開發公司的計劃似乎沒有意義。

Son Luong Ngoc: 我當時想,「哦,該死,這計劃就是賭博,這一切都有很大的風險,如果我想擁有可持續的生活、健康的生活,我就不應該追求這種賭博式的生活。」

Adam: 所以Son Luong Ngoc開始學習更多的軟體開發,但他現在有了不同的觀點,因為這不是關於遊戲,而是關於創造東西和學習。如果他全身心投入的話,也許成為一名程式設計師可以成為他的新使命。

Lazada的911

Son 最初在 Lazada 擔任 SRE
 

Son Luong Ngoc: 我有很多時間學習,我正在學習 AWS(翻譯註:亞馬遜的雲服務平臺)很多好東西,然後我在 Lazada(翻譯註:東南亞知名電商平臺)找到了一份工作,加入了一個名為 911 的技術團隊。你可以猜猜這個團隊是做什麼的?為技術平臺提供緊急支援。Lazada是一家東南亞的電子商務公司,在當時,它的市場份額數一數二。那時候我認為它們在 2017 年是東南亞第一名的電商平臺,並且在六個不同的國家/地區有銷售產品。

Adam: 就人口而言,東南亞幅員遼闊且多元化。其中包括越南、泰國和寮國,還包括新加坡、菲律賓、馬來西亞、印度尼西亞等。它有 7億人口,每個國家的人們都說不同的語言或有不同的習俗。Lazada 通過其位於越南的總部為東南亞市場提供服務,越南總部有好幾百人在那裡工作。

Son Luong Ngoc: 我團隊裡至少 200 員工是技術方面的,然後我們還有業務方面的同事。我記得我們的大樓至少有三層,每層大約有一百人。

這裡可以無限暢飲飲料,還有一臺卡布奇諾咖啡機,而且我們還不需要長時間工作,除非自己想卷一下。另外,就像在越南其他工作一樣,競爭非常激烈,非常殘酷,競爭激烈,我認為這不僅適用於越南,而且適用於整個亞洲國家。

Lazada的911部門採用的技術棧是 PHP(翻譯註:一種Web應用程式語言),正在轉換為在 Kubernetes上執行的微服務 Golang(翻譯註:谷歌推出的高效能程式語言)。回到 2017 年的時候,Golang還是非常現代,發展非常快的一門語言。

我們在莫斯科設有研發中心,我們在越南有一個研發中心,在泰國或新加坡或兩者都有一個資料工程中心。我們擁有三個不同的資料中心,都由我們自己管理。

Adam: 911 團隊的工作很明確。

Son Luong Ngoc: 收到業務方面的升級,因為我們在六個不同的國家有業務實體。包括香港在內,共有七個。

我們收到了來自業務實體的升級訴求,然後我們將其升級到技術方面,那裡的工作就是加快故障排除速度。因此,無需 911 將工單轉發給開發團隊,911直接修復它即可。只要去那裡,找到問題所在,立即修復。我已經接觸過整個系統了,在 Google 釋出 SRE(翻譯註:SRE工程師全稱是「Site Reliability Engineering」工程師,即「網站可靠性工程」工程師。SRE是由Google公司首創的一個職位,它結合了軟體工程師和系統管理員的角色,專注於建立和維護大型分散式系統的可靠性、效能和效率。) 的定義之前,我正在學習成為現在他們所說的 SRE。

但是,憑藉我保險業務的背景,我立即能夠認識到為什麼企業重視可靠性這一點,因為他們想要那種穩定性和可靠性,他們願意花巨資買單來提高穩定性。

雙十一

11/11 天(光棍節)對 Lazada 來說意義重大,尤其是對 911 (SRE) 團隊來說
 

Adam: 對於東南亞的一家電子商務平臺來說,一年中最重要的一天不是黑色星期五(翻譯註:北美的購物節),卻是另外一天。

Son Luong Ngoc: 噢,是的。回到東南亞,北美和歐洲國家的人們可能不知道這一點,但東南亞受中國影響很大,中國在雙11那天有很大的銷售。所以11月11日是中國最大的銷售日。它類似於北美的黑色星期五或加拿大的節禮日。所以雙11也是Lazada當時銷量最大的一次。我們在午夜向所有國家/地區開放銷售服務,在銷售服務正式啟動之前,我們必須在此之前一個月進行壓力測試,以便為高並行和大流量的負載做好準備。

問題

亞當: 屋漏偏逢連夜雨,但是在重要的日子裡,出現了問題。

Son Luong Ngoc: 11 月 10 日午夜到 11 月 11 日早上,我們在 30 或 20 分鐘內發現了問題。我們當時想,「哦,我們在馬來西亞有很多訂單,為什麼一切都停留在待付款狀態?等一下。這裡有點不對勁。回溯一下問題看看吧。」 

事實證明一切訂單都被支付節點失效了。事實證明,當晚,我們的信用卡處理機構(馬來西亞的第三方信用卡處理機構)剛剛宕機,支付能力徹底掛了。我們傳送到那裡的所有支付交易請求全部都丟失了。當你建立一個電子商務平臺時,你不可能考慮建立一切。比如你無法建立電子物流方面,無法建立付款模組,無法構建通知部分,因此需要使用和整合各種第三方能力。但是當第三方整合出現問題時,就需要制定高可用的備份計劃了。

當時,我們還沒有為馬來西亞提供的穩定性監控服務(911服務)。我們在 911 房間裡設有一個作戰室,每個人都在那裡,包括支付團隊、執行長、技術長。每個人都在房間裡,我必須檢索一下機器紀錄檔來看看出了什麼問題。執行長和技術長看著我,「嘿,看看是不是鎖服務出了什麼問題」,結果發現是支付問題。定位到問題後,我們必須將文字鎖或 JSON 鎖修復到某種偽 CSV 檔案中,然後我們必須手動資料修復資料庫,然後重放所有狀態。事實證明,如果你關閉所有使一小時內未付款的訂單失效的排程作業,則系統中所有其他排程作業也會終止,所以修復難度確實非常之大。

所以,是的,當時的系統並不是處於最佳狀態,但這就是我們訂正了所有訂單的方式。收入是巨大的,是的,這很有趣。這真是一個美好的夜晚。早上,我們喝了很多紅牛,然後每個人都在睡覺。我們看到執行長正在那邊睡覺,CTO 正在這兒睡覺。那真是一個令人記憶深刻的晚上。我想那是2017年,到了2018 年的情況則完全不同。

Adam: 2018年很不一樣,因為阿里巴巴介入了。阿里巴巴於 2016 年收購了 Lazada,但基本上沒有直接介入過具體業務。東南亞軟體公司已經習慣了這一點:按照自己的方式做事。

Son Luong Ngoc: 當你在東南亞工作時,你需要快速行動,但同時在東南亞,有六個不同的國家,說六種不同的語言,有六種不同的文化。如何讓動作繼續保持這麼快?那是非常困難的。現在你必須建立六個不同的網站,使用八種不同的語言,而不是建立一個網站,同時你必須處理六個不同國家的監管。例如,印度尼西亞,他們有類似於 GDPR 的資料安全法律,其中資料不能離開該國的邊界,即該國的物理邊界。所以現在你必須進入該國並建立一個資料中心,而這又是在AWS出現之前。所以你必須進去那裡親自部署服務。需要建立一個資料中心,然後需要部署不同的技術底層服務,與該國其他地區相比,這是一個孤立的技術棧。那麼現在還必須處理系統中不同租戶、不同資料中心之間的資料同步。它使問題變得更加複雜,但是克服這種複雜性可以讓你取得成功。

Adam: 正是因為這樣的原因,Uber 和許多其他高速增長的公司在進軍東南亞時都虧損了。尋求增長的不僅僅是美國公司。中國也有科技巨頭,阿里巴巴就是其中之一。

進入阿里巴巴

阿里巴巴於 2016 年收購了 Lazada,從而將平臺重新打造為 Java Spring
 

Son Luong Ngoc: 阿里巴巴是天貓和淘寶的所有者。這相當於亞馬遜的兩種模式,一種是C2C,一種是B2C。阿里巴巴他們擁有阿里雲。如果你想在中國做生意,你需要把自己的系統託管在某個地方,這個地方就是阿里雲。亞馬遜在那裡的市場份額非常小。百度雲和騰訊雲相比就更小了。最靠譜的是阿里雲。大多數大型銀行都是阿里雲的租戶。大多數主要銀行都將其服務託管在阿里雲上,因此規模非常大。除此之外,阿里巴巴還從事各種不同的業務。例如,優酷是一個視訊串流媒體平臺,其規模與 YouTube 相當。他們還經營一種大多數人不知道的東西,叫做菜鳥。菜鳥是一個物流平臺,可以處理所有運輸,因此今天在全球速賣通甚至今天在亞馬遜上購買的東西很可能會通過菜鳥從中國運送到你所在的國家/地區到你的港口。這是他們收購的全球物流平臺。阿里巴巴在中國的業務真的很大,他們是科技巨頭。

Adam: 這次收購給 Lazada 帶來了一些摩擦。

Son: Lazada公司在 2016 年左右做出了決定,轉向使用 Go 和 Kubernetes 而不是部署在裸機虛擬機器器上,那時候的時機還算為時過早的。所以採用的技術非常先進,但與谷歌或亞馬遜之類的服務相比並沒有那麼高,但毫無疑問,它是當時東南亞最高的流量服務之一。

確實發生了很多變化,而且變化伴隨著不確定性,這就是創新。引入新技術後,Lazada技術創新能力確實很高,但是該平臺的可靠性又變得有點低。這只是整個集團願意接受的商業風險。但阿里巴巴過來之後,這些人都經驗豐富。它們習慣於處理高出 100 倍甚至1,000 倍的流量,而不會犧牲彈性。所以他們決定,「我們希望系統更加可靠,讓我們將一切重新重構這個電商平臺吧。」

阿里Java

Adam: 對於一些開發人員來說,切換技術棧是一個很大的問題。一旦切換意味著丟掉了很多知識,阿里巴巴的技術棧棧全是Java和Spring。

Son Luong Ngoc: 每個人都說,「Java 很糟糕,我們喜歡 Golang。趕緊離開這裡吧。你的 Kubernetes 在哪裡?哦,你沒有 Kubernetes?你的 Docker 在哪裡?哦,你有自己的 Docker 嗎?不。」 但事實證明,中國科技中有一些值得學習的好東西,我認為其中一些東西至今西方人仍然不瞭解。這真是令人大開眼界。

Adam: 被收購的公司被迫採用其工作軟體並重新構建其平臺,以適應母公司的做法,這是典型的收購失敗模式。重新構建平臺需要數年時間,而且由於被收購公司的運作方式根深蒂固的假設,你最終會得到更糟糕的解決方案。但從更大的角度來看,重組平臺最終會失敗,因為它們最終的投資規模超出了公司的預期。這是關於阿里巴巴的事情。阿里巴巴並不害怕投資 Lazada。

Son Luong Ngoc: 這只是公司決定的事情,他們說是目標,實際上他們投入了相當大的投資。後來我才知道,這個專案其實是當時阿里巴巴最大的專案。當時他們稱之為C級專案,C級專案,也就是說阿里巴巴的CEO其實對這個專案投入相當大,他們把阿里巴巴各個業務部門的人才全部抽出來,放到一個專門的專案裡。使用一整個團隊來實現這一升級目標。開始的時候我不明白阿里巴巴到底為什麼要投資東南亞?但後來當我開始在阿里巴巴工作時,我開始意識到,哦,這實際上空間比我想象的要大得多。我的天啊。事實證明,這與以中國「一帶一路」倡議為中心的長期規劃有關,是的,它比我們想象的要大得多。在我們瞭解這一點之後,一切都有意義了,但在此之前,每個人都說,Java 很糟糕。

中國杭州

 

Son Luong Ngoc遊歷阿里巴巴西溪園區地圖 - 圖片來源:Son
 

Adam: Lazada 的每個人都開始瞭解阿里巴巴風格的 Spring(翻譯註:Java的一款物件管理框架)。對於Son Luong Ngoc來說,這是一個瞭解軟體開發的完全不同的世界以及在阿里巴巴集團規模上系統如何運作的機會。

Son Luong Ngoc: 他們讓我們很多人飛到中國與那裡的團隊合作,學習阿里巴巴的技術棧,並使用相同的業務邏輯重新編碼所有內容,但需要全部使用 Java、阿里巴巴的 Spring Java。

Adam: 阿里巴巴有自己的方式做事。他們有自己的 JVM。他們有 Git 的分支。他們有 MySQL 的分支。所以有很多東西需要學習,但 Son 的團隊是一個 SRE運維保障團隊。他們不擁有任何程式碼。

Son Luong Ngoc: 為了911,我們與阿里巴巴的一個名為GOC(全球運營中心)的團隊合併。原來GOC是整個阿里集團的監督「天眼」。本質上,谷歌的 SRE 團隊是阿里巴巴的集中式 SRE 團隊,他們處理所有監控系統並處理來自不同業務部門請求,最終路由回各自的技術團隊。

語言障礙

微軟翻譯成為Son Luong Ngoc最喜歡的應用
 

Adam: 現在,Son Luong Ngoc和他的團隊是阿里巴巴集團的SRE,但有一個問題。內部使用的軟體都是中文的,Son Luong Ngoc既看不懂也不會說。所以他參與的新專案都涉及大量翻譯。

Son Luong Ngoc: 所有的使用者介面、所有的系統都是中文的。所有檔案都是中文的。我們在那裡嘗試構建新功能,這非常有趣。這真是一次經歷。我在杭州阿里巴巴園區待了一個月,真是令人印象深刻。

Adam: 那麼有語言障礙嗎?

Son Luong Ngoc: 哦,是的,當然。他們把我們安排在旅館裡,我們不會說中文,所以我們無法點餐。我們通過手指點菜。順便說一句,你在中國無法使用谷歌翻譯,所以無法直接拿起手機線上翻譯。後來我才知道,微軟翻譯確實可以用,所以我需要下載微軟翻譯來代替谷歌翻譯,但是在中國溝通還是很困難,這就是異國生活。工作更是困難重重。一切都需要經過翻譯,所有檔案。有時,翻譯會出錯,然後隨著時間的推移,你需要學習一些方言的表達方式。例如,他們希望將用例轉換為場景,例如電影中的場景。每次你想談論用例時,他們都會將其轉化為場景。我當時想,「場景到底是什麼?」 後來發現,我想,「哦,他們指的是用例。」 所以隨著時間的推移,你只要學習,學會一些小東西,一切就開始變得更有意義。但是,是的,一切都非常困難。

亞當: 是的。但是,如果你正在開發這個工單系統,但其他人不會說英語或越南語,那麼如何編寫程式碼呢?

Son Luong Ngoc: 他們中的一些人確實會說英語,但還沒有達到可以與他們進行技術交流的水平。我們必須讓程式碼自己說話。現在,幸運的是,我當時有一個非常有才華的隊友,他能夠瀏覽從 ReactJS 到 Spring Java 的整個完整堆疊生態系統,並且他重新教了我很多內容。但應用程式本身非常簡單。關於工單系統的主要事情是CRUD(翻譯註:增刪改查),然後你可以附加一些後設資料。可以有一個狀態機來處理不同的狀態。最困難的部分是整合部分,阿里巴巴是一個巨大的生態系統,你有很多東西需要整合。

例如,你那裡沒有 Slack。但是有釘釘,釘釘是阿里巴巴的聊天系統,他們還有所謂的變更管理系統,這樣阿里巴巴的所有變更、所有部署、所有網路變更都可以一鍵自動恢復。當部署的時候,如果出現一些問題,偏離了人工智慧引擎釋出的指標基線,那麼你可以選擇單擊一個按鈕並立即恢復所有更改。從資料庫架構到部署,再到遷移,一切網路更改,只需單擊一個按鈕。但是,這很有趣。

支付寶問題

Adam: Son Luong Ngoc合併的團隊也是支付寶的穩定性團隊,這成了支付寶的問題。

Son Luong Ngoc: 在中國,如果你住在大城市,人們不接受現金。當我們去那裡時,我們很難支付食物費用,因為人們只接受微信支付或支付寶。我們不能出去買珍珠奶茶,因為人們會喜歡,「哦,你只有現金?我不想費心去銀行把這個現金再放進機器裡,這工作量太大了。」 我們不得不懇求我們的隊友,讓他們兌換我們從越南得到的現金,這些都是中國現金,不是越南幣,我們懇求他們再把數位貨幣轉給我們。

Adam: 是的,使用支付寶是一個挑戰,但更大的挑戰是阿里巴巴集團的運營規模。

Son Luong Ngoc: 離我辦公室間隔三個房間是網路運營中心,那裡有帶有所有圖表的大螢幕。一箇中國團隊坐在那裡觀看所有警報,觀看所有圖表。非常酷的是,你可以看到所有平臺的所有吞吐量、所有流量、所有網路,天哪,它是如此巨大的嗎?我們對東南亞的流量感到非常自豪,與中國相比,那根本算不上九牛一毛。事實證明,當數十億人使用相同的語言觀看相同的直播、擁有相同的文化時,就會產生巨大的流量峰值。

想象一下,你以 100 美元的價格出售一臺筆記型電腦,並且你有 10 臺庫存。通常,當你構建一個電子商務系統時,該系統將成為你的 SKU 資料庫中的一行、庫存單位,然後當有人訂購時,它會將狀態更改為已售出。如果 100 億人試圖對資料庫中的一個庫存下訂單,會發生什麼?你如何為此設計一個系統?

中國規模

Son Luong Ngoc的兄弟團隊在阿里巴巴網路運營中心工作,那個流量規模是巨大的。
 

亞當, 這是一個有趣的問題。大規模可靠性的價值有多大?其成本是多少?當你同時擁有 10 億使用者時,你如何為雙十一做好準備?

Son Luong Ngoc: 在中國,事情令人印象深刻,他們必須重新構建系統以適應他們現有的情況。我在歐洲沒有看到同樣的事情,我在北美也沒有看到同樣的情況。即使是北美的人口,美國和加拿大的人口總和,也還不到中國人口的一半。我們在這裡談論的事情是巨大的,規模非常龐大,他們無法存取谷歌,他們不讀 Stack Overflow(翻譯註:一個國外的Bug分享平臺),他們有自己的東西。當我在那裡時,我必須在那裡學習我自己的所有東西,我當時就想,哦,天哪。他們只是走了完全不同的路線。我們對 Golang 和 Kubernetes 非常著迷。這些人是沉浸在 Java、Java、Java、Java、Spring Java、Spring Java裡。在西方世界,他們只是在我們不知情的情況下進行了徹底的創新,全世界其他地方沒有人討論中國是如何建造東西的。

結果他們 fork (翻譯註:指根據開原始碼自己實現了一個分支)了自己的 MySQL,他們正在fork自己的 JVM,他們fork了自己的 Nginx,他們fork了 Git,以便它可以使用他們的內部物件儲存平臺而不是磁碟上的。因此,Git 在 GitHub 中隨處託管,GitLab 要求你擁有一張光碟、一個物理硬碟機,但這些中國正在分叉它,將 libgit2 插入其中,然後讓 libgit2 與他們的 S3 內部實現進行對話。他們能夠先於其他人將其 DevOp 平臺擴充套件到雲原生規模。即使在今天,GitHub 和 GitLab 仍在努力解耦儲存和計算,而這個傢伙已經做到了。同樣,他們對 MySQL 也做了同樣的事情。他們建立在從 Facebook 學到的有關將 MySQL 下的儲存引擎分叉到 RocksDB 的知識之上,然後他們遇到了 RocksDB 是 LSM 樹資料庫儲存引擎的問題。

問題是這些不同層紀錄檔的壓縮變得非常慢並且消耗大量 CBU。那麼猜猜他們做了什麼?他們將該計算解除安裝到 FPGA。這些人正在執行客製化硬體、客製化晶片,以便他們的資料庫可以更好地處理這些事情,這真是令人印象深刻,這在全球任何其他科技公司都找不到相同的東西。

中國996

 

 

在阿里巴巴,人們預計要長時間工作,Son Luong Ngoc親眼目睹許多人在辦公室的小床或帳篷裡休息。
 

Adam: 在阿里巴巴,另一個令人驚訝的事情是每個人的工作量。

Son Luong Ngoc: 996!當我去那裡時,每個人都告訴我關於 996 的事。你每週工作六天,從上午 9:00 到晚上 9:00,週一到週六,這就是生活。在辦公室裡,你很常見床,甚至露營帳篷。是的,不,說真的。在阿里巴巴的走廊裡,你會發現幾個露營帳篷,男女分開,這樣人們就可以睡覺,不是在晚上,而是在午飯後的中午。在亞洲睡午覺是很常見的事情,尤其是在促銷之夜,比如雙十一。

Adam: 996 相當於每週 72 小時,但不用擔心,包括午睡時間。起初,Son Luong Ngoc根本不喜歡也不理解這一點。

Son Luong Ngoc: 但後來我開始意識到為什麼會是這樣。如果你是一家國外的科技公司,並告訴員工每週工作六天,從 9:00 到 9:00,這是不可持續的。沒有人會為你工作。因此,能夠告訴人們從 9:00 到 9:00 工作,每週工作六天,而人們仍然想排隊為你工作,那一定有什麼特別的地方。

後來發現,當我開始和那裡的中國隊友交談時,他們開始給我講一個故事,這些故事非常有意義。這樣想吧,找到穩定的工作後做什麼?可以結婚了,在中國結婚之前,我的朋友告訴我,你至少需要有房子和汽車。如果你去阿里巴巴工作,因為阿里巴巴擁有支付寶很多股份,支付寶是一家金融公司,全國人民都使用支付寶代替現金購買,他們也提供貸款。他們可以以非常低的利率向你提供抵押貸款。

你在阿里巴巴的級別越高,獲得的利率就越好,類似於汽車貸款服務。你可以從公司貸款購買汽車,而且你的級別越高,獲得的利率就越高。這還不是唯一的事情。事實證明,如果你在大公司工作,你的信用評分非常高。因此,信用卡提供商實際上會嘗試在公司外面排隊,以便當你離開時,他們可以給你發遞傳單開卡。這裡有免利率的錢,請向我們員工借用,這是第一件事。第二件事是校園生活般方式,大家都在食堂吃飯,他們有九棟不同的建築,九棟建築中有四個不同的自助餐廳。食品是大規模生產的,因此他們能夠非常便宜地生產,因此他們能夠非常便宜地向員工提供這些食品。

Adam: 現在我還沒有在大型科技園區工作過,但其中一些聽起來與 Meta 園區或 Google 園區並沒有什麼不同。Son Luong Ngoc在那裡拍了很多照片,如果你想看其中一些照片,我已經在 Twitter 上分享了它們,包括睡覺的帳篷、按摩、吃飯的地方,以及事物的規模,但是,是的,人們不會一直埋頭工作,公司也為他們提供了很多福利。

Son Luong Ngoc: 按規定工作日是晚上6:00結束的,但是下午6:00到7:00之間的食物會打折。因此,員工有動力在 6:00 後留在公司園區裡。然後在9:00,他們可以發放免費的零食。因此,在家無事可做的單身員工可以留在園區直到 9:00,以獲得這些免費零食。還有計程車,如果你9點之後回家,現在你可以得到免費計程車。我的天啊。現在你開始看到所有福利開始發揮作用。嘿,阿里巴巴實際上為人們提供了很多激勵,讓人們在 上午9:00 到 晚上9:00 工作。然後你知道,如果你需要出去買東西,嘿,天貓和淘寶會把它送到你的大樓門口。與回家相比,你在園區內獲得最快的發貨速度。

因此,你可以將所有電子商務平臺購買的商品傳送到該公司地址。只要告訴它哪個小郵局,然後下去取就可以了。所以住在園區比回家更方便。人們在任何地方都可以獲得影響他們生活的所有福利。他們願意為此而努力。

爬梯和 KPI

Adam: 所有這些福利意味著很多人都想在那裡工作,然後你在公司的階梯上爬得越高,他們的福利就越多,這導致內部競爭會變得相當激烈。

Son Luong Ngoc: 他們願意競爭工作崗位,這就是為什麼阿里巴巴有一種非常殘酷的文化,這樣他們每年都能裁掉表現不佳的人。我認為 30% 的低績效者已經被裁掉了。大家都在爭頂,因為最好的績效結果,會多了一項福利,就是你的最終獎金,你每年的年終獎可以達到你工資的100%。

亞當: 哦,哇。那是巨大的。

Son Luong Ngoc: 所以人們競相成為表現最好的人,阿里巴巴知道公司的361制度在做什麼。

Adam: 如何管理一家由軟體開發人員組成的龐大公司,讓員工全力以赴玩命工作?好吧,也許你已經知道答案了,我想這就是阿里巴巴的抓手。

Son Luong Ngoc: 阿里巴巴的管理方式是自上而下、非常注重KPI的。每個業務部門都有一定的 KPI。這些業務部門的領導將 KPI 分配給每個子部門,每個子部門將 KPI 分配給其員工,他們有需要滿足的指標。這家公司非常注重考核指標。

Adam: 這種 KPI 或 OKR 系統,就像任何針對積極主動的人的自上而下的系統一樣,會導致一些意想不到的後果。例如,將 Lazada 移植到內部平臺是一回事,但實際運營公司,也許這是一個不那麼令人興奮的專案。

Son Luong Ngoc: 這是傳聞,所以我並不是說這是事實來源,但有傳言說他們認為 Lazada 是一個無法盈利的地方,無法讓他們實現 KPI,所以沒有人想成為 Lazada 的執行長,因為這注定是一個失敗的職位。Lazada 實際上更換了很多 CEO,因為沒有人能夠達到他們預期的 KPI。那裡的文化相當殘酷,人們為了獲得成功而競爭好職位。

亞當: 從某種程度上來說,這聽起來很陌生的工作方式。還有另一種聽起來像谷歌的方式。

Son Luong Ngoc: 嗯,我沒辦法描述,因為我從未在谷歌工作過,但我可以告訴你的是,阿里巴巴的發展速度非常快,而且我認為沒有公司可以發展得這麼快。尤其是如果你在西方國家、歐洲或北美工作,你的行動速度就不會很快,阿里巴巴則動作快了很多。

新加坡

Son Luong Ngoc去了新加坡工作,充滿活力的機場影響了Son Luong Ngoc對規劃的思考。
 

亞當: 好的。阿里巴巴和中國的發展速度很快,這可能令人興奮,但對Son Luong Ngoc來說,這也有缺點。

Son Luong Ngoc: 阿里巴巴顯然提供了很多,但我有興趣瞭解還有其他什麼東西,而且我對天天使用谷歌翻譯中文檔案感到有點厭倦。我正在尋找其他機會,有一次我的老闆說,「嘿,我要轉崗去同一家公司,但在新加坡,你考慮嗎?」

Adam: 所以 Son 繼續在 Lazada 工作,但搬到了新加坡,他在911的現場經驗使他成為團隊的技術專家。

Son Luong Ngoc: 然後我就開始教我新加坡的同事關於阿里巴巴的技術。他們當時使用的是Python,很多Python、Django、Flask都在阿里雲上自託管,我當時想,「同事們,這裡是阿里Java。這就是所有的美好。」 想象一下 Spring Java,但一切都配備了電池的感覺。你想要一個資料庫嗎?有一個開箱即用資料庫。你想要一個訊息佇列嗎?有一個開箱即用訊息佇列。你無需擔心基礎設施,一切都是開箱即用的,這實際上是一個缺點,因為我開始意識到外面的世界變化得很快,儘管我在阿里巴巴內部技術相當於專家水平,但我對外面的世界一無所知。

亞當: Son Luong Ngoc想要不斷成長和學習,而不是把自己受限於一家公司、一個技術棧,所以他為自己設定了一個最後期限。

Son Luong Ngoc: 所以我制定了一個計劃,到新加坡一年後,我需要學習新技術,探索當地就業市場。當時,我實際上正在新加坡面試谷歌。我參加了他們的幾次技術講座,並與新加坡的GPay支付團隊進行了交談,他們做了很多有趣的事情。

亞當: 眾所周知,谷歌有一個超長的招聘流程(翻譯註:據說谷歌有7面面試),與此同時,Son Luong Ngoc找到了做一些完全不同的事情的機會。

Son Luong Ngoc: 當時我正在和我當時的女朋友談戀愛,也就是我現在的妻子。我當時想,好吧,我需要在某個地方安頓下來。但是我祝你在新加坡買房好運,因為新加坡的物價太貴了,你最好的運氣就是能夠租到一套漂亮的公寓,僅此而已。你幾乎不可能買一輛車,買一輛車要花費數百萬美元,這太瘋狂了。

阿姆斯特丹

Son Luong Ngoc搬到阿姆斯特丹為 booking.com 工作
 

Adam: Son Luong Ngoc收到了 Booking.com 的Offer。Booking.com是一家總部位於荷蘭阿姆斯特丹的線上旅行社,在某些方面,阿姆斯特丹的生活和工作方式與新加坡相反。

Son Luong Ngoc: 我藉此機會告別了新加坡,儘管我非常愛新加坡。這是一個非常好的國家,非常棒,強烈推薦。

亞當: 哪裡的食物更好?

Son Luong Ngoc: 當然是新加坡。荷蘭是最糟糕的,即使是荷蘭人也討厭荷蘭的食物,我於2019年8月離開新加坡前往荷蘭,然後我和我的妻子在新冠疫情風口浪尖上正式結婚了。

工作與生活的平衡

Son Luong Ngoc: 到了荷蘭,我記得我第一天上班時的產品經理,他讓我和我的團隊領導坐下來,我們一起制定了工作方向。我的產品經理讓我們倆坐到他們旁邊,他解釋道,「朋友們,Booking 花了很多錢才把你們Base到這裡,我們希望你在這裡取得成功,這意味著你需要首先優先考慮你的生活。你需要能夠先租房子,完成所有文書工作,所以在接下來的一個月裡,如果你需要請假去處理這些問題,就去吧,然後再回來告訴我們,」這是一個巨大的開端,因為這只是一個精神上的轉變,與阿里巴巴相比完全是 180 度。

因為阿里巴巴,一切都是工作、工作、工作,你的生活就在公司裡,工作即生活。你的KPI指標很重要,想夢魘一樣全天候圍繞著你。Booking完全不是這樣的。Booking的工作方式就像是,「不,我們尊重你作為一個人,我們知道你有一個家庭,我們知道你有需求,照顧好他們,然後回到我們身邊,一起盡力而為」,這改變了我的一切工作觀念。在 Booking 中,我甚至有一些盲人同事和隊友,我的同事中有男同性戀、女同性戀、殘疾人,我們都能夠一起出去玩耍聚會,沒問題,沒有歧視。

這是一種巨大的、開放的、受歡迎的文化,荷蘭的人非常多元化,與此同時,我們的網站仍然有大量的流量,我們仍然面臨著必須解決的大規模流量的問題,即使是在新冠疫情期間,在搬遷期間,在新婚姻期間。嘗試找到工作與生活的平衡是非常有趣的。

反思

Son Luong Ngoc的建議是程式設計師應該去多多旅行
 

亞當: 所以現在,Son Luong Ngoc已經在世界上找到了自己的喜歡的位置。他和他的妻子仍在荷蘭,他找到了自己的家,找到了一個工作文化最適合他的地方,但他只知道這一點是因為他的豐富的經歷。如果他一開始就加入 Booking,也許他不會意識到自己擁有什麼,因為他無法進行比較。這一事實塑造了他向其他人提供的生活和工作的建議。

Son Luong Ngoc: 生活是豐富多彩的。在我來中國工作之前,中國的生活對我來說是一個黑匣子。我沒有想到有一種支付系統如此先進以至於人們會拒絕使用現金。我知道信用卡的存在,但這並不意味著當我遞給你現金時,你會拒絕接受。與此同時,去東南亞,看到各種不同的初創公司試圖在地圖上佔據一席之地,這極大地改變了遊戲規則,因為它使我能夠從商業角度思考,如果我是執行長或技術長,我將如何經營這個公司,大大豐富了我的商業思維能力。

我還學會了如何參加聚會。在滑鐵盧,他們喝珍珠奶茶,去多倫多舉辦派對就比在滑鐵盧舉辦更精彩。回到越南,每隔一兩週就是一次酒會,我們喝了很多啤酒,吃了很多火鍋,那裡的食物很棒,畢竟是我的祖國。當我去新加坡時,我瞭解到「城市規劃」可以帶來什麼,你只要進新加坡就可以看到。來到新加坡,你首先看到的就是世界上最好、最美麗的機場。你會看到這樣的感覺:「哦,天哪。我的政府要花多少錢來建造這個機場?」 但無限的金錢不會改變這一點,因為這不是金錢的問題,這是規劃的問題。然後是荷蘭,他們教會我要保持開放的心態,他們教會了我如何平衡工作與生活。

這一切只是需要更多地旅行才能感受到。

這不是 Booking.com 的廣告,而是要告訴程式設計師多去旅行,從中瞭解更多,並保持開放的心態,也許西方媒體可以告訴你很多關於中國的Shit,關於中國事情有多麼邪惡,但請嘗試去那裡看看人們是如何生活的。能夠看到成千上萬的人同時在你周圍吃午餐,或者看起來像你這樣的亞州人,你會感到謙卑和融入。進入自助餐廳,看到數百人排隊享用同一道菜,確實有一種卑微的感覺,它讓你感覺自己很渺小。外面的世界很大,多旅行。

 

Son Luong Ngoc拍攝的阿里巴巴圖片

 

 

 

 

 

 

 

 

 

 

 

 

 

英文原文點選連結