娱乐一下,我们来比较一下4家相似的科技公司的软件政治观。
(1)Facebook—诊断:极端自由。Facebook的规模已经很大了,可他们的行为处事仍然像是一家创业公司,而且到目前为止似乎也活得挺好。他们用得主要是C++和PHP,而且很喜欢炫耀自己的代码怎么在PHP和C++之间调来调去,而这大概是最糟糕的地方了。他们的数据都放在memcached里:只有键值对,没有数据库结构。他们把数据导出来放到一个后台Hive数据仓库里,然后用Hadoop来进行离线数据分析。每两个星期左右他们仍然会举办通宵黑客马拉松,反正他们的程序员大多都是单身男青年(至少我上次去参观的时候还是如此),股票的估值也还很高(我上次查价格的时候好像已经没那么好了)。作为一家公司,Facebook是非常紧密的,具有很强的执行力,十分注重程序员在网站上发布新功能的单兵能力,没有什么官僚主义。这对一家规模这么大、用户那么多的公司来讲是难能可贵的。保守派毫无疑问会厌恶蔑视他们。但是Facebook证明了不管具有什么世界观的程序员,只要联合起来,就能解决很多问题。
(2)Amazon.com—诊断:自由。以它的年龄、年收入、成熟的运营部门,以及财务方面的保守性来讲,这算是很令人意外的了。但事实上和早年相比,说它“自由”已经算客气的了。1998—1999年的时候它和Facebook几乎一模一样,唯一的区别是当时他们用的是关系型数据库,并且事先做了大量的关系数据的建模工作。哦,除了客服软件,那里用的是键值对的存储方式,否则无法灵活应对混乱不堪的更新发布。这是因为我几十年来身为自由主义者接受教化的结果。不管怎么说,即便公司为了工作生活的平衡做出了很多变化(特别是股价多次下跌和好多年工程师周转率都保持在很高的两位数之后),亚马逊的工程师依然保留了自由,像创业公司那样的核心价值。每个团队都自己管理数据,自己做决策,基本上像是独立运作的商业个体。亚马逊的发布和执行速度依旧比任何人都快,因为他们真的敢冒风险(可能导致大规模瘫痪的那种风险),为了及早发布,经常发布,敢于做出取舍。亚马逊证明了自己在成立15年之后,仍然能保持无人能及的创新力,灵感仍在。
(3)Google—诊断:保守。Google一开始是属于稍微有点自由的那种,然后就变得越来越保守了。Google只有在刚刚开始的时候才是软件自由的,那时候的搜索引擎是用Python写的。随着公司不断壮大,他们很快就转向了软件保守主义,而这完全是由工程师自己主导的。他们写了很多宣言警告太多语言所带来的危险,而仅有的几门语言里,也有严格的风格指南,限制使用那些“危险”或者“难以阅读”的语言特性。Google的JavaScript代码风格极端保守,充斥大量静态类型标注,eval更是被完全禁止。Python的风格指南禁止元编程等各种动态特性,搞得像是没有类型的Java一样。他们还严格限制很多C++的特性,而与此同时C++
11每几周就会支持一个新特性。(C++ 11里有超过500个的新特性。)内部调查显示,Google工程师觉得妨碍特性升级和快速发布的主要障碍是官僚主义,周转率高,人事复杂。Google曾多次努力试图削减这种官僚主义,然而他们却一次又一次地被工程师自己给抵制回来(没想到吧),因为这些人已经变成了死硬的保守派,会主动(当然更多的是被动)抵制更具灵活性的方案和技术。过去5年里Google内部的技术转向绝大多数都是保守的。对于我这样的自由派人士来说,目睹这一切实在是太让人扼腕了。好在我为自己找到了一个双方阵营都觉得有价值的位置,在我自己的团队里,还能继续保持自由的风格而不受外界干扰。
(4)微软—诊断:难以言喻的保守。微软有两只下金蛋的鹅:Office和Windows。微软已经彻底退化成一个农民,只会保护它的鹅不受侵害。由于重新培训团队实在是划不来,因此它的客户根本别无选择,金蛋自然是有它的价值。可是正因为如此,微软也不再在Office或Windows上有什么创新。他们的贴牌厂商被压得利润非常薄。苹果占领了手持设备市场,而微软却在扼杀自家Windows Phone的最后一点创新,因为他们害怕这会吃掉Windows的核心业务。微软已经有15~20年没有在产品层面上有成功的创新了,所有的成功产品都是从竞争对手那里抄来的:IE、Xbox、C#、.NET、Bing、Windows
Phone等不胜枚举。这些都是很好的东西,可惜都是别人的创意。微软的策略是拥抱,扩展,然后利用品牌压垮竞争—至少曾经如此,直到政府在2002年左右出手制止为止。现在这家公司自己都不知道自己要干什么了,更糟糕的是,他们失去了比尔·盖茨,换了一个疯子来当家。员工不断地离开,所有人都觉得自己内心有“存在感危机”,另外,部门之间从竞争变成互害也让人无法忍受。微软已经变成了一个右翼社团主义的辛辣讽刺:坐在门廊前端着枪诅咒路人,期待向政府行贿能让他们在等死期间再多混几年补助。过去7年间,我私下接触过不下400个现任和前微软雇员。我肚子里的八卦多得是啊……或许有一天我会说出来。
(5)奖励:苹果。诊断:未知,但是他们的营销太牛了,所以也没所谓了。不过我很有兴趣想了解它内部的软件文化。有人想爆料吗?穿马甲也行?AMA?[1]
好啦,这也是个好玩的游戏。不过我们还得继续往下聊!就快完了。
摘自《程序员的呐喊》一书。
话说,国内有没有兄弟写下BAT啊。
野哥点评了Facebook、Amazon、Google、微软和苹果