Pages

Saturday, 8 April 2017

王垠:更新

几个月没有更新了,有些人来问我为什么,我也没有回他们。显然我不会因为有人来问就写东西,我写东西完全是因为我自己想写,它不受任何人的影响,不管是好心人还是别有用心的。不过现在回答一下,我没写文章是因为我在忙着写很好玩,很有价值的代码。
我知道这个博客的影响力很大,但我对此所产生的“名气”一点都不在乎。以前公司的同事有时见到我,说:“我听说你在网上很有名啊!介绍几个粉丝来我们公司,我们就走向成功啦!” 我听了苦笑一声。因为对于我来说,“网上有名”其实是一种贬低。想利用我的名气,说明他们不理解我最重要的价值。可能是好心的恭维,然而这种不理解真正价值的恭维,听着很不是滋味。我给公司提供的实实在在的价值,有目共睹,有些人却只能看到名气。我王垠没有粉丝,也不需要粉丝。
我不在乎甚至讨厌“名气”,但我确实在乎我写的东西的“影响力”。我在乎它,是因为很多人能够看到我的文字和想法,这些会对这些人以至于整个社会产生深远的影响。至于这些改变是不是归功到我身上,我根本不在乎。我在乎的是,我的想法真正的改变了很多人的思维,改善了社会风气,最后使我自己也获益。所以也许我最初就不该用自己的真名,而应该使用一个笔名,这样也不至于给我的事业带来影响。
但既然这已经发生了,我也只有认命了。我死都不怕,还怕招揽几个恶名吗。实际上名声很难掩盖我真实的能力,就像黄药师的恶名,也很难给他造成实际的影响。当然,我的能力是盖世无双的,我可以心平气和的说出这句话,不带半点虚荣。这不需要任何人的认可,因为世界上已经没有任何人有资格来认可我。
这种奇妙的能力,不但最初在 Google 得到了体现,在 Coverity,Sourcegraph,Shape Security,一次次的巧妙发挥,最近又再一次的在微软得到了发扬光大。我不得不说,微软是少有的踏踏实实,用心做技术的公司,很少有瞎指挥的情况。也只有这样的公司,才可能从最底层开始做独立的技术。在微软,我的团队的产品是一种企业级存储设备,名叫 StorSimple。这东西看似跟我的特长程序语言(PL)关系不大,然而其实我从来就没有局限于 PL,我的洞察力深入到了计算机科学的各个领域。这是一种艺术,是不局限于领域的才能。任何我接触到的东西,都被揭示出其本质,揭开肤浅复杂的表面现象,被改造得更加简单,更加可靠和精密。
在微软,我从头构造的基于 B+ 树的核心数据结构,被巧妙地集成到一个复杂的含有大量并发同步问题的系统里面,正在经受企业级数据的千锤百炼,从来没出过差错。存储设备是一个几乎完全不可以出 bug 的领域,因为一旦用户的数据因此丢失或者发生错误,后果将是灾难性的,不可逆转的,不是重启一下机器就可以了结的。用户会离你而去,再也不会回头,跟飞机因质量问题而坠毁的后果差不多。
不客气的说,我做的这玩意还真是这产品的核心部件,你可以把它想成是一个“云”里的文件系统(file system)。这是之前走掉的一个 architect 留下来的精(lan)品(tanzi),复杂不堪,还可以用,但它简陋的数据结构无法支持大规模的数据量。把它精确地换成像 B+ 树这么复杂的数据结构,就像一个心脏置换手术,不能出一点差错,不能影响其它组件的运行。这是微软这方向上经验丰富的 principal engineer 们联手也难办到的事情。因为这个原因,再加上它至关重要的核心地位,所以 architect 走后一直没人敢碰这块代码。为什么每次我都接手这样的事情……
光是写一个没有 bug 的 B+ 树,其实都够让绝大部分的程序员汗颜,更不要说把它集成到云的构架里面去。有个写过 B+ 树的 principal engineer 喜欢跟我咋呼要“先写测试”,可我就是直接两天把代码给写出来了,然后再写了一个测试,就已经到了无懈可击的地步。代码优雅而通用化,不带有任何业务逻辑,可以原封不动用到其他地方,比如数据库索引。像 B+ 树这么复杂的数据结构,你还真是很难把它写得简单正确还通用,但我稍加思索就办到了。微软有一些很厉害的 principal engineer,他们的 B+ 树代码我看过了。实话说吧,虽然可以用,但非常繁复没法看,很难确信它是正确的。每次用到新的地方,你都得改动挺多代码才行,不能作为“库代码”来调用。而且你一改可能就给改错了,难怪跟我说需要很多很多的测试,还说要先写测试再写代码什么的……
当然我说这些完全没有贬低微软工程师的能力,这个会写 B+ 树的 principal engineer 跟我关系相当的好,初期还给了我挺好的参考资料,所以我无意贬低他。不过呢,写代码不能超越王垠,是再正常不过的事了,不是吗?所以当然不是耻辱 :P 相比其它肤浅的公司(Google,Facebook……),微软的好些人显然已经是世界顶级的水平,兢兢业业踏踏实实的在做自己的工作,而且在必要的时候给了我一些启发,人也相当好。可是在代码的优雅,简单和可靠性上,世界上还真没有人可以跟王垠抗衡。
微软确实有很多好人,不过呢公司的官僚系统跟人其实是两码事。我也看到了,我创造的价值已经大大的高于我的薪酬。微软这公司给我的级别和薪资,完全就是一个笑话。最初就是忽悠的,跟我说先给我一个低点的 title,进来半年以内升职,到现在 9 个月了没有一点动静。而且还有人时不时的提醒我一下,好像在说,我不应该得到我应有的回报。很是拿 title 当回事,张口闭口“看看人家某 principal……”,“你要是 principal 才可以 remote……” 这让我心里很不是滋味。
我压根就从来没把 title 当回事。张口闭口 principal,那倒是叫你的 principal engineer 写出可以跟我匹敌的代码来啊?实话说吧,门都没有。世界上就只有一个人可以做到这个事情。微软的所有 title,全世界公司和大学的所有 title,还真没有一个是可以衡量本人的,管你什么 principal, distinguished…… 资本主义根深蒂固的劣根性就是利用这些标签,肆无忌惮的贬低人的价值,拿白菜的价钱买白粉。你稍微谦虚一点,就有人真把自己当回事了,开始用“老资格”的口气说话。这不是微软一家的问题,然而不管在哪里出现都是值得鄙视的。
本来进微软的时候我就想,这是我在离开美国之前想看的最后一个公司。所以呢,我的微软之行已经达到了它的目的,也快要到达它的尽头。对于 Google 我只有鄙视,而对于微软,我觉得技术能力还是不错的。如果 Google 得分是 D 的话,那微软倒是可以得 B。然而在这里,技术能力确实没法得到公平的回报。过了这么几个月,我觉得也该是寻求自身价值应有回报的时候了。在美国待了十年,我已经很清楚,这种事情在美国是很难实现的。美国根本不是一个尊重事实和人才的国度,从来都不是,换了总统也不会是。这个虚伪而邪恶的国家,正在继续走向昏庸和毁灭。这一切,我已经看得很透了。
我的心,已经飞回到了中国。飞回到了家乡,飞到了北京,我每天都在想象跟老朋友们坐在一起喝茶聊天,感受城市生命的律动。这一切,都是在美国永远得不到的,我命中注定要在中国生活。当然我知道国内的人也很复杂,很多制度不健全,但中国之大,我相信会遇到很多靠谱的人。我不会再给任何公司工作。我会创造一个伟大的公司,它会创造世界上最精致的产品,它会给真正有价值的人相应的回报和尊重。由于一些现实的问题,回国的日子还要等几个月,不过应该在年底之前。

from http://www.yinwang.org/blog-cn/2017/04/06/update
---------

这个“王垠”恐怕是自大狂的典型,他做的那个storsimple真的有那么牛吗?

No comments:

Post a Comment