一个艰难的决定

终于决定要离开了,since 我在xm工作了一年(算上实习)后。

其实考虑这个问题已经有一段时间了。首先我确实没想到自己的身体竟然如此的脆弱不堪,越来越不能适应xm朝9晚9的工作节奏。实习的时候还好,一正式工作的时候才发现有多么的不适应。持续了几个月之后感觉每天都是在虚血的情况下硬着头皮上班,然后由于每次早晨身体的疲惫,就慢慢地“”启发式地“”向 朝9晚9=>朝11晚9迈进, 工作效率也越来越低。 虽然同事们不说什么,但我相信大家的眼睛是雪亮的,谁KPI高谁KPI低心里都是有数的。所以就不得不结束这个9->9的无间轮回。

客观地说在xm我还是见识了不少东西。xm对于开源技术的态度是值得肯定的,大量采用了facebook, twitter, apache等公司以及开源社区所贡献出来比较成熟的,可以稳定使用的技术。如 scribe分布式日志系统, thrift框架, kafka消息队列,Hbase集群, 以及最近各个团队都在尝试的storm流式处理框架等。这里令人称道的是xm有着国内最为顶尖的Hbase团队,国内3个Hbase的commiter, xm就占去两个,非常之鬼畜。xm目前尚处于快速发展阶段, 技术团队均为扁平化结构,因此在xm无论是30+的老码农还是一个刚入职的新手,写code查bug均是亲自披挂上阵。所以对于想要在工程界有所尝试的同学们, xm其实是一个非常好的舞台。

不过既然xm如此优秀那为什么我还要离开呢,除了身体的原因之外?

这里就要提及byvoid老师在早年无意中描述的一个终极问题:解決一個難題和做出一件東西,哪個給你的成就感更大?, byvoid曾经在MSRA, Hulu, Facebook, Google等研究机构或公司实习,经过对比,认为比起搞research发paper, 做出产品更有价值。当然这是他在MSRA实习在前, 又在Hulu等公司实习为后所得出的观点。比较好笑的是我虽然比较佩服他对人生所做出的大胆尝试(无论是早年的到处实习还是欧洲的随性旅行), 并且打算在今后进行类似的模仿, 但在这种关键的二元问题上却偏向于一个相反的结论。在工程界里, 并不是所有的工作都像在Google做无人车, 在Facebook 用Ocaml实现Hack语言那样激动人心,尤其是国内互联网行业, 大家更贴近于扮演一个螺丝钉一样的角色, 整日加班加点,力求项目更快更稳定地上线,或者保障所服务产品的稳定性。然而(尤其是在国内)真正决定产品成败的其实是PM和运营。技术更多起到的是一个保障性的service而并非创造性的思维体操。(比如糯米在人人死而在百度活,难道是百度的技术比人人更高明多少?至少我并不这样认为。)这其实导致一个问题, 就是大家的思维会越来越局限,自发性地给自己构筑天花板,对与目前产品无关的技术就不去关心或者关心有限。一个比较流行的观点就是:既然这个技术我用不上或者不成熟那我研究它干嘛?这也是为什么写写Haskell对于某些国内三流码农就显得不明觉厉的原因。

对于是research还是搞工程,讨论孰对孰错毫无意义, 不然同在MSRA实习的李博杰前辈也不会对于研究得出一个相反的结论(曾经表示过在MSRA收获良多)。MSRA的某个灰色的小组不能代表学术界,相应的国内的很多团队也并不能代表工业界。然而我们作为一个个渺小的个体,也只能根据自己对整个行业或者圈子管窥蠡测的结果做出一个个尝试性的选择罢了。至于是否合适不合适,总要试一试才会知道。

因此我在反复纠结之后终于确定了自己的方向:以MachineLearning研究为主, FunctionProgramming为辅助进行双线输出。但是在我1年前找工作的时候,由于自己眼界尚浅,人脉过窄,随大流急于找工作,在自己究竟想要做什么这个问题上确实没有考虑太多,或者是说当时的条件自己没有考虑的机会。而在xm做的东西确实不是自己感兴趣的方向。在公司我经常是忙完活后,亦或是想换个思维放松一下的时候,就去看一些coursera的公开课或者是看一些ML、概率论的书籍pdf(我还没有到能看paper的程度),但实际上这对公司来说没有任何实际价值,对个人而言也是一个事倍功半的学习方法。显而易见的是在大师周围收到熏陶你变成大师的概率就相对来说会大一些,如果能够在Jordan、Koller等大师底下做research的话显然比自己瞎折腾要强很多。因此如果真的想在某个领域有所发展,就应该尝试去选择一个合适的环境而不是在一个个别人不理解的眼光下自己盲目挣扎。

个人感觉,本科毕业就去工作对于想在某些特定领域大显身手的同学们来说是不太适宜的(注意,仅限于特定领域)。因为公司对于本科毕业的new fish的态度往往是随机洗牌, 然后通过去写Business Logic慢慢增长实践经验,直到能达到独当一面或者或与同事配合负责项目的效果。 但其实“不断增长经验” 与 “能够改变你的视野与思维方式”并不能画上等号,有时候甚至达到了反效果。因为当自己视野并不是很开阔的情况下,急于增长自己的经验,反而会快速地让自己陷入到一个闭合的循环系统中,用比较中二的说法就是“由于初始点没选好导致梯度上升到一个局部最优解而非全局最优”。这样的恶果在于你的认知就像之前提到的那样越来越局限。很多码农就是本科毕业, 在百度干2年, 在阿里干3年, 然后30+的时候实在没办法了coding不动了只能干点别的。我认为人真正意义上的成长是不断地跳出所处的闭合系统外去思考问题, 这样走的路会越来越宽。如果其视野与认识始终是在一个闭合的系统内的话,那也不过是在某个小圈子内不断转圈圈而已,然后因自己转的越来越圆而窃喜。

==================

至于以后的打算, 当然首要任务是锻炼身体把身体搞上去,不然23就coding不动了233333, 然后找个电话英语把口语提升上去。之后是选择海外的实习/工作还是深造就看自己的努力、选择(当然更重要是有牛人推啊!!!)。

敢于变化, 敢于尝试。