为何9亿用户的WhatsApp,只需50名工程师?
2016-12-16 14:49
260 查看
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,员工几乎不开会。虽然他们只有几十人。但这同样也是专注的意义所在。
点击原文
译者简介:Ted,新加坡Realtek软件工程师,从事WiFi芯片、嵌入式系统软件设计及开发,物联网等方面工作。
相关文章推荐
- 为何9亿用户的WhatsApp,只需50名工程师?
- 为何用户体验无法被设计,如何为用户体验设计
- 一位软件测试工程师浅谈用户体验
- 何小鹏:从工程师思维到用户思维,这是互联网造车将带来的变革
- 火车头采集时抓的内容与浏览器显示的不一致 只需把user-agent设为用户本地IE浏览器就行。
- 聊聊java工程师眼中的前端工程师、UED用户体验设计
- 为何需要用户角色
- 这是 Google 工程师 Amit Singhal 发表在 Google 官方博客的一篇文章,讲述了 Google 搜索排名背后的一些技术,涉及到 Google 对网页,对语义,对用户意图的理解。
- QPcore服务耍流氓——上市公司的产品策略为何是牺牲用户利益?
- 想要让游戏用户提高体验度,只需这样做!
- 做网站运营为何先要了解用户和网站
- 为何经严格测试质量合格的产品,在用户那问题频现 ?
- 一位软件测试工程师浅谈用户体验
- [转]一个页面重构工程师眼中的“用户体验”
- 一个页面重构工程师眼中的“用户体验”
- 避免频繁输入sudo,给普通用户提供root权限,并只需提供自己的密码
- Exchange 2003 SP2更改用户的密码后为何还可以使用旧密码
- 一个页面重构工程师眼中的“用户体验”
- 编程新手真言:不要去干追逐技术的蠢事,你只是用户,只需学会一门工具开发.