Amazon 内部软件设计原则

网上摘录的一段文字,对 Amazon 内部软件的设计规定非常有感触,非常认同。

曾经在亚马逊工作了六年,2005年跳槽到谷歌的软件工程师,Steve Yegge (史蒂夫* 野哥)在2011年的一封公开信内介绍:

“亚马逊的招聘流程本质上有缺陷。每个团队自己雇人,所以不同团队的员工招聘水准差别很大。。。亚马逊的办公场所,污垢遍布,不花一分钱用于装饰。。亚马逊的程序代码一团糟,没有任何工程标准,完全看相关团队的选择。。 也许有两百个不同的角度方式比较这两个公司,但除了三个以外,谷歌在所有方面都完胜亚马逊 ”.

“但是亚马逊有一件事,做得非常非常好,这远远弥补了亚马逊所有的政治上的,哲学上的和技术上的失误”.

2002年前后,贝索斯给所有员工发布了一个命令,关于内部软件设计的命令:

1)所有团队,要把他们的数据和软件功能通过服务接口对外公开

2)团队之间的沟通只能通过这些接口。

3)不允许通过任何别的方式通讯:不能直接连接,走后门,不能直接读别的团队的数据,不能共享内存。

4)服务接口的后端的软件技术的选择,没有关系。

5)所有的服务接口设计时,都必须具备一个能力,允许日后让外界第三方开发者调用。没有任何例外。

6)不听话的人,将被开掉.

来源:http://wangchuan.blog.caixin.com/archives/141825