WhatsApp在非常短的時間里已經取得了非常大的規模。如今,WhatsApp只雇用了大約50名工程師,而且這么小的工程師團隊幾乎所有的東西都是自己在運行。

WhatsApp的軟件工程師Jamshid Mahdavi簡短地討論了公司一些不同尋常的做法。訣竅之一是,該公司使用一種叫Erlang的編程語言建立自己的服務。雖然在編程社區并不那么流行,但Erlang特別適合于龐大用戶群的通信,并允許工程師在不中斷服務的情況下部署新的代碼。其工程設計不同于任何他所見過的,部分原因是它使用Erlang和一個叫FreeBSD的操作系統,而且還力圖保持其操作的簡單。“對于建設高規模的基礎設施,這是一個完全不同的方式。”他表示。
并行代碼WhatsApp使用Erlang,是對處理并發性多進程的編程語言的一個推進。隨著互聯網服務進入更多人的生活,這樣的語言自然變得更有吸引力。
Erlang是愛立信的工程師在80年代為了高速電話網絡開發的語言。“與其先發明一種語言,然后再搞清楚用它做什么,他們決定開發一個解決特定問題的語言,” 英國的Erlang大師Francesco Cesarini說道,“這個問題就是大規模可擴展性和可靠性。電話網絡是當時需要這些特性的系統。”
Erlang仍然不是編碼界的主流,但在WhatsApp和其他的互聯網公司,包括微信和Whisper,它已經在新的類似龐大的電話網絡的應用里找到了家。本質上說,WhatsApp是手機短信的替代品。它也要求“可擴展性和可靠性。”
保持簡單這個語言確實有它的缺點。比如相對較少的程序員知道Erlang,而且它并不一定與很多互聯網公司已經建成的代碼相契合。Facebook用Erlang建立了自己原始的Facebook Chat,但終還是不得不重建以更好地適應Facebook總框架的其他部分。
Mahdavi認為Erlang程序員的相對稀缺性不是問題。“我們的招聘策略是尋找的工程師。我們不會認定工程師必須知道Erlang,”Mahdavi表示。“我們期望新進來的工程師,通過個星期來熟悉這個語言并學會使用開發環境。如果你雇傭聰明的人,他們就能做到這一點。”
公司獲得成功,是因為聘請在很多方面都適應性強的工程師。關于公司的秘決,Mahdavi 的回應似乎過于簡單。但是,這就是重點,“重要的就是非常專注于你要做的,”他說。“花時間在其他方面、其他技術,即使是發生在辦公室的事情,像開會都是分心的。”
在 WhatsApp,員工幾乎不開會。雖然他們只有幾十人。但這同樣也是專注的意義所在。