世界很小,互联网很大。昨夜随手写的一篇文章,不知受到了哪位仁兄的抬爱,被转到了百度运维的 Hi 群里,搞得我险些被请去“喝茶”……半夜 5 点发的文章,早晨 9 点左右,由于豆瓣九点的推荐,访问量开始突增,到了正午,豆瓣九点上已经有了近五十条推荐 ……而我的个人豆瓣“粉丝”也激增了 20+(增幅达 20%),博客也多了很多订阅者。更奇怪的是,这篇文章到了下午 5 点左右的时间,豆瓣九点上的链接已经莫名失效了1。我又尝试去微博上搜索了下,只搜到了 3–4 条,最下面是“根据相关法律法规和政策,部分搜索结果未予显示。”

从各种渠道收集的反馈,多数人的看法是诸如“文章比较犀利”,“有同感”之类,还有一位仁兄说这是“loser 的文章,看看即可”,一位与我素未谋面的仁兄说“我知道这位刺头是谁…… 淘宝有怎样怎样的问题……腾讯有怎样怎样的问题……”,还有的说“文章里有个人情绪,但也有原因分析,只是分析的不够深入”等等。午饭后一位百度的朋友 QQ 上告诉我说“你的文章火了,有人转到百度运维官方群了”,我心想“完了完了,这下没准要被请去喝茶了……”,然后又接到了几个朋友的电话,跟我说明下说文章的内容有不实之处和个人情绪在,我说我会再做斟酌,酌情修改。

文章大概 7000 字,写了 8 个小时左右。最开始只是睡不着觉,然后就琢磨着想写一写关于狼性的看法,后来越写越多,也就不自主的加入了一些个人的情绪在里面。“不识庐山真面目,只缘身在此山中”,我只是一个小小的 OP,可能看不到那么高,也看不到那么远,因此文章的各种内容观点均出自个人,与别人无关,我会为我的言论负责。

首先我诚恳地向 kain 同志道歉。因为我的疏忽对你做出了错误的评价。坦白地讲,我对 kain 同志并没有深入的了解,对北大青鸟也没有深入的了解,甚至带有很深的下意识的个人偏见。我以前并不知道 kain 同志并非科班出身而是化学专业出身,靠着自己的兴趣和努力走上了计算机这条路,并且通过自己的努力进入了百度,我应该对此表示恭贺。我欣赏有想法、有主见、有自己个人兴趣并按照自己计划不断提高自身的人。事实上我觉的我也是这样的人2。碰巧我在大学之前也是学习化学竞赛的,几乎不会使用电脑,大学前两年忙于户外社团,对计算机的系统学习是大三以后的事情。你说的对,一个人的出身并不能代表什么,而别人的偏见在短时间内又难于消解,总会无意间就碰上有心无心看扁你的人。对此我在此表示诚恳的抱歉,也感谢你让我对我自身的缺陷有了进一步的认知。同时我也觉得,无论别人怎么看轻自己评价自己,自己才是自己最后的裁判。一个心怀优秀信念并不断努力的自己,即便碰上一些挫折,误解,只要自己对自己怀有信心,那么别人的评价再多,也“尽可当他是清风拂山,明月映江,虽能加于我身,却不能有丝毫损伤。”

其次,关于 Hadoop 开源方面,由于我并不是 Hadoop 的 RD,因此关于“几乎没有对 Hadoop 社区的开源回馈”这句话是不准确的。Hadoop 的一个 C++ 框架 HCE 是百度自己独立开发的,测试显示其效率高于传统的 Hadoop 程序,并且已经开源。Hadoop 之外,其他的开源项目,我了解的有一个 UEditor,百度前端团队有一些开源的项目,参考 http://github.com/BaiduFE,剩下的我所知有限。

以上两点我已经在原有文章中做了更正。至于各条怪现状,由于上篇文章掺杂着个人的情感和经历在内,因此难免有“吐糟”,“百度黑”的嫌疑。回过头来我也想过,如果将我个人的经历和情感去掉,那么文章本身是否会变得更客观理性更具有参考价值一些。挑几条再简单阐述下吧。

关于洗脑,我认为这个也没有什么不对,因为这是员工熟悉公司文化、制度、理念的一个很好的手段。但是有两点我认为需要改进,一是学习方式上,可以讨论,但是我认为“毛主席语录“式的学习方式是不可取的,应该要允许部分”异类“的存在,你倡导“快速迭代,越变越美”,但也要允许“慢工出细活”,“一炮打响”的存在;二是要与时俱进,我记得书里面好像有关于有啊的故事,但是有啊后来失败了,却没有一个地方对有啊的失败做个总结和反思,这就难免会让人对公司所灌输的理念产生怀疑。

关于开源,这方面我强烈建议百度拥抱开源,不要死守着老观念不放。没有自上而下的推动,没有公司气氛的烘托,光靠几个有心的底层 RD 敲敲打打是成不了大气候的。至于为什么要拥抱开源,这个就不再多做讨论了。

关于 KPI 驱动,这点尤其需要改变。我坚持认为“上下异心”是百度当前最大的发展阻力。但是这种局面的改变需要自上而下,而不是自下而上。要让底层技术人员放开手脚去做、去闯、去创新,也要让中层的管理者们转变 KPI 报表为王的管理策略,真真正正的去抓一些实际的东西。作为一个一流的互联网公司,用 wiki 的方式手工维护记录可用机器列表,用人肉的方式每周去 Copy/Paste 数据到固定的模板里生成报表周报,这种行为可以视为科技公司的一种耻辱。要大力推行工具文化,自动化不是一句口号,是一点一滴。

关于会议沟通,这个大概是大公司的通病了。我认为很大一部分原因还是工具不到位,自动化的东西做得不够好,所以不得不通过人力反复沟通确认来完成事情。在 Hadoop 组搞机器预算的时候,每次都是人肉 Excel,反复打电话确认。而这些不必要的沟通很大程度上是可以通过开发一个成熟的预算系统来解决的。后来也确实有人做出了预算系统的原型,Lisp 写的,我接手的时候还修复了几个 bug,可惜这么个原型系统毕竟只是个人的业余工作,加上沟通电话实在太多,没有精力完善,上面也不重视,最后也就不了了之了。

关于自由上班,这个就仁者见仁智者见智了。中国很多企业的通病就是员工一迟到就扣钱批评,但员工加班晚归却视而不见。百度当然没有这样,并且百度的工作时间,以及加班补贴和调休制度都还算比较完善。所以归根结底还是要减少不必要的会议沟通,提高白天的工作效率。

关于 Geek,我不认为用 Linux/Mac 就是 Geek 的一种表现,但是作为一个互联网公司,其入职预装的系统依旧是 10 年前的 Windows XP,难免很让某些人(诸如我这样的)大倒胃口。Geek 不是一个操作系统,也不是一个手机一个平板,Geek更多的是一种对待工作的态度 ——倾向于用机器来代替人,DRY,对代码的洁癖,对工作效率的追求,对文档排版这类美感细节的敏感。不要小看这类细节,细节代表着专业性,比如说技术博客一个最基本的要求就是排版规范,简洁,同时要有合理的代码高亮。但是百度很多“官方”的技术博客并没有做到基本的整洁规范,比如这里这里这里。多余的话不多说,如果你认为这些所谓文档排版,代码洁癖无所谓的话,我也无话可说。

关于有啊。其实这个事情我了解的并不多,我入职的时候有啊基本上已经散了。但是正因为了解不多所以我才在这里提出,因为我从未看到过公司层面上对自己做的任何失败的产品有过任何的反思。还是那句话,员工犯错可以批评可以扣 KPI,但是如果公司犯错了呢?如果由于高管的失误造成公司的损失和员工职业发展的挫折,又该如何呢?再进一步,如果 Robin 犯错了呢?我觉得百度的高管应该认真反思下这个事情,要勇于面对自己的不足,敢于拉下面子做自我批评,不要总是高高在上,犯了错都是员工的,做好都是自己的。

最后的最后,还是再允许我多絮叨几句吧。首先我不是一个百度黑,我在百度长了很多见识,学到了很多书本上无法学到的东西,也有幸和部分真正的牛人有过一面之缘,管中窥豹,了解下他们的工作,给自己树立个目标。我所指出的这些问题,我相信至少还是有一部分是许多百度同学的共识,只是迫于各种各样的原因无法像我这种离职的员工更加方便的开口讲述。我希望百度能够更多地倾听底层技术人员的声音,不要总是脱离群众去制定自己辉煌的战略路线。我希望百度发展的更好,但我也明白知易行难的道理,作为曾经的百度人,我所能做的也只有这些了。其次是每个公司都或多或少有自己的不足,百度如此,腾讯如此,淘宝也是如此,毕竟时间并无完美之物,而人生之不如意又十之八九,我觉得多数情况下可以变通,但也不要被生活磨平了棱角。其三,我想说的是,个人的职业发展,8 小时之外的功夫也许有时比 8 小时之内的功夫更加重要。所以我也提醒各位和我一样初入职场的同学,与其天天扑在工作上,能否多花些精力在工作外,然后反过来提升工作的效率,从而给自己的工作、 生活和学习都留下更多的自由空间呢?

至于我个人的经历结果,我并没有太多的遗憾甚至抱怨,或许是我运气不好,又或许是我能力真的有限而我没有意识到。事情已经过去,多说无益,只求各位看官也千万不要把我看成一个高级文艺的“百度黑”。感谢一直关心我的朋友,我现在过得很好,住在北大附近,离未名湖五分钟的路程;工作不是太忙,用 Linux + Emacs + Git + Python 做着我喜欢做的事情,OpenStack 教给了我很多;每天晚上归家奢侈地享受 4 个小时的阅读(悦读);间或周末去北大看场电影;赚得钱够家用,也能随心所欲的买书;沉浸在 Lambda 的程序世界里;有个关心我的妞在身边。总之,一切都很好。

谨以此文,纪念我那九个月“不合格”的百度岁月。


  1. 以前也出现过这样的情况,这应该是九点的 bug,一篇文章如果被九点抓取过来后又修改过,那么九点的链接就会失效。但是这次文章发表之后直到工作下班我没有对文章本身做过任何修改,所以很奇怪……

  2. 我认为,一个人对他人的欣赏无外乎两种情况,一种是互补性欣赏,也就是在他人身上找到了自己身上没有的但值得学习的东西,另一种是印证性欣赏,也就是找到了和自己“臭味相投”的人。