WhatsApp目前擁有9億用戶,但為何只需要50名工程師?

jopen 9年前發布 | 6K 次閱讀 WhatsApp

WhatsApp目前擁有9億用戶,但為何只需要50名工程師?

本文來自 Wired 文章《Why WhatsApp Only Needs 50 Engineers for Its 900M Users WIRED》,作者 CADE METZ,虎嗅編譯。

本月初,WhatsApp 的 CEO Jan Koum 在他的 非死book 上宣布,公司的實時通訊服務已經擁有 9 億用戶。之后 非死book CEO Mark Zuckerberg 也立刻連發兩條回復他,一條說 “祝賀,”另一條的配圖是 WhatsApp CEO 在編輯那條 “宣布用戶突破 9 億”的狀態時的樣子,并寫道 “這就是你編寫那條狀態時的抓拍”,Zuckerberg 寫道。

WhatsApp 目前歸 非死book 所有,在 WhatsApp 以初創公司之姿面世剛滿一年后,Zuckerberg 和他的公司便出資 190 億美元將其買下。這樣一來,非死book 就運營著互聯網上最火的三個 app。作為主業的社交網絡業務目前在世界范圍內擁有 15 億用戶,而 非死book Messenger,從 非死book 中拆分出來的即時通訊業務也擁有 7 億用戶。但是 Koun 宣布的里程碑似的 9 億用戶的榮耀是屬于 WhatsApp 的,而不是作為一個 非死book 生產線上的一個產品。

WhatsApp 的有趣之處在于它實現了小團隊打造大型服務。當它被 非死book 收購時,它是一個擁有 35 名工程師和 4.5 億用戶的軟件。如今,當它已經把這個用戶數翻倍,它也只擁有 50 名工程師而已,并且這個小團隊幾乎全部在依靠自己的力量來運作這個產品。當下,有很多互聯網服務都在快速地向百萬用戶目標進發,WhatsApp 至少從某種程度上向它們展示了一種方法。

WhatsApp 從不在技術和其他運營工作上發表太多言論,但是昨天,在加利福尼亞州圣何塞的一個會上,WhatsApp 的軟件工程師上臺對公司的一些非同尋常的理念做了簡短的討論。其中一個就說公司使用的編程語言是 Erlang。雖然 Erlang 在編程界并不是很受歡迎,但它擅長處理海量用戶之間通訊任務,并且它允許工程師快速配置新代碼。但是 Mahdavi 說,和技術同樣重要的還有態度。

Mahdavi 兩年前加入 WhatsApp,那時作為初創企業的 WhatsApp 已經處于穩定的運營狀態,Mahdavi 發現他們使用的工程方法是他從未見過的。因為他們在使用 Erlang 作為編程語言,并使用一款名為 FreeBSD 的操作系統,這使他們的系統變得很簡單。 “這是一個完全不同的搭建大規模基礎架構的方法,”他在周一時候說。 “能夠了解到有這樣的簡單方法來解決問題真是大開眼界。”

WhatsApp目前擁有9億用戶,但為何只需要50名工程師?

并行性編程語言的利用

WhatsApp 使用 Erlang 只是推動此類并行性(同時跑多個程序)編程語言前進的一個側面。因為互聯網服務涉及得人越多越需要多任務處理,這時這類編程語言就顯得格外具有吸引力了。

非死book 一直在使用一種叫 Haskell 的編程語言搭建反垃圾郵件系統。Haskell 最早形成于 80 年代晚期的一個學術實驗室,但到如今仍未流行起來。非死book 選擇它來阻截垃圾郵件是因為它很擅長于并行任務處理,也因為它可以讓程序員對任務進行快速處理。同時,谷歌和 Mozilla——火狐瀏覽器制造商正在合力開發一種擁有類似功能的語言,為名 Go and Rust。

正如 Haskell 一樣,Erlang 也是一個 80 年代的產物。Erlang 是愛立信公司的工程師們為了搭建高速電話網絡時而創建的語言。 “Erlang 是為了解決一個特定問題才發明的語言,而不是為了發明而發明,之后才發現了它的用途,”Erlang 的專家 Francesco Cesarini 說。 “當時那個特定的問題就是需要強大的可拓展性和可靠性。電話網絡是當時唯一能夠展現這些屬性的系統。”

Erlang 一直都被編程領域邊緣化,但是在 WhatsApp 和其他互聯網公司,包括微信和 Whisper,它成功找到了像之前電話網絡時期一樣的存在感。實際上,WhatsApp 就是手機短信的替代服務。它也對 “可擴展性和可靠性”有著極高要求。

另外,Erlang 還讓程序員辦公更高效,這也是現代軟件開發必不可少的部分。它提供了一種方法,可以在程序還在運行的情況下,快速編入新的代碼。在這個時刻變化的時代,這個特性是無比有用的。

保持簡單,保持聰明

這個語言也有它的缺點。只有相對較少的程序員了解 Erlang,它也不會百分百與如今互聯網公司的代碼相匹配。非死book 用 Erlang 語言開發了他們自己的聊天 app,但最終他們還是重新用其他語言進行再次開發,以適配其他基礎架構。 “Erlang 是我們擁有的一座島的話,我們很難建造出足夠多的船可以停靠到島上。”非死book 工程副總裁 Jay Parikh 說。

當然,WhatsApp 并不一定要用這種方法與已有基礎架構進行整合。Mahdavi 相信這些問題對于 Erlang 的程序員來說并不是問題。“我們的招聘戰略是去找最好最聰明的工程師。我們并沒有對 Erlang 有特別要求,因為工程師都知道 Erlang,”Mahdavi 在周一時候說。“我們希望工程師加入我們之后,用最初的一周去熟悉這種語言,并學習使用操作環境。如果你雇了聰明的人,他們自然會勝任的。”

從某種程度上來說,公司能夠成功也因為雇傭了這些適應力強的工程師。在被問到公司成功的秘訣是,Mahdavi 如此簡潔地回答。但這的確是關鍵。“最重要的是要非常專注到你需要去做的事情上,”他說,“不被其他的事情和其他的技術分心,即使是辦公的會議也不行。”

在 WhatsApp,工程師基本從來不參加會議。是的,他們就只有幾十人,但這就是關鍵之所在。

來自: 虎嗅網
 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!