微信号:programmer_club

介绍:程序员第一自媒体,与你探讨码农人生路上遇到的各类泛技术话题,定期为你推荐码农人生思考、感悟以及启迪!

为何9亿用户的WhatsApp,只需50名工程师?

2015-09-27 22:01 程序员之家

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,员工几乎不开会。虽然他们只有几十人。但这同样也是专注的意义所在。


原文:http://www.wired.com/2015/09/whatsapp-serves-900-million-users-50-engineers/

译者:Ted,新加坡Realtek软件工程师,从事WiFi芯片、嵌入式系统软件设计及开发,物联网等方面工作。

 
程序员之家 更多文章 我们这一代人的困惑 神剪辑,揭秘程序员加班内幕,不能看,看完想笑又想哭! 美国12位创新型程序员:让科技永远改变 说说怎么写clean code 500,000+年薪程序猿出身哪里 猎聘网揭秘前十大学校
猜您喜欢 10个用Java谋生非常有趣的方式 [ISUX转译]设计追波风 - 腾讯ISUX 杜克大学的13幅逻辑图曾影响了上亿人生活,原来这就是幸福生活的关键! 马云想做啥?阿里花巨资拿下新闻联播广告,只想让大家知道。。。。 MapReduce原理与设计思想