找回密码
 注册
搜索
热搜: 活动 交友
查看: 283|回复: 0

百度之“怪现状”

[复制链接]

2636

主题

1万

回帖

7万

积分

论坛元老

热心会员

积分
73816
发表于 2013-2-6 11:36:22 | 显示全部楼层 |阅读模式
1 百度论语的洗脑文化

当代企业最爱做的事情就是给新员工洗脑,洗脑的内容也无非就那么几项,一是你现在的公司多么多么好,二是你现在的老板多么多么圣明,三是你现在 的工作对公司多么多么重要(对,后勤工作对公司也很重要,搞卫生扫厕所的就更不用提了),四是即使你当前的工作不怎么重要不怎么有趣不怎么符合你的预期只 要你好好工作那么多年媳妇熬成婆你总会有出头之日的。洗脑本来无可厚非,特别是在天朝这种神奇的国度里。只是百度也搞这一套,倒真是让刚刚实习入职的我大 跌眼镜。我记得那个时候刚刚入职实习的时候发了一本《百度论语》,然后每周开例会的时候,一组人做一圈,每周学习一条,轮流说心得报告,总共 29 条,可以学习半年了。事实上这本书也不是什么不好的书,但这种学习的方式总让我想起七十年代人手一本《毛泽东语录》的场景。书中 Robin 被写的近乎完美神化,可是我却从来没有看到过百度内部哪里有关于失败产品(典型的比如百度 Hi、有啊)的总结。

2 封闭的技术开发

中国的互联网企业都有一个毛病,那就是没有开源共享的精神,对开源社区索取大于回馈,百度也是如此。这些企业总是以为自己的技术高人一等,又不 想做那些”琐碎“的基础工作,将开源的项目拿过来修修补补贴点牛皮藓后就开始到处吹牛逼说什么世界领先国内一流。比如我在的时候,百度宣称自己的 Hadoop 集群在规模、负载和利用率上是世界前三的。可是这又有什么用呢?第一,Hadoop 不是百度开发的,百度只是打了点补丁做了些定制而已;第二,百度的 Hadoop 集群数量只有 10+ 个,远远比不上 Google 100+ 个 GFS 集群这样的规模,其整体的自动化运维水平也差了一个世代;第三,百度所做的所有“改进”很少回馈过开源社区。

其实在 Hadoop 之前,百度也曾想过开发自己的 GFS+MapReduce+BigTable,没错,百度想要开发的系统就是基于 Google 那三篇著名的论文的。这个系统叫做 Pyramid,其领衔人是王选的高徒阳振坤博士。Pyramid 大约开发了2-3 年,最终以失败告终,据说最后与 Hadoop PK 的时候完败下来,阳振坤也在其后离职加盟淘宝。 我不知道 Google 开发 GFS+MapReduce+BigTable 用了多久,但是 GFS 的论文是 03 年,MapReduce 论文是 04 年,BigTable 应该是 07 年,想来 Google 应该也是开发了4-6 年左右的时间。Pyramid 的失败直接导致了 Hadoop 在百度的崛起,不到两年,Hadoop 的机器数量从无到有,很快就突破了万台的规模,并且机房也从北京开始像长三角扩展,百度也终于迈出了跨数据中心的步子,尽管这个步伐似乎比 Google 慢了5-8 年?

不过百度虽然自己用 Hadoop 用得很 High,负载什么的,报表都弄得不错,集群规模也上了国内少有的 3000+ 台,但是却很少对 Hadoop 社区进行开源回馈。其内部 Hadoop 是基于 Hadoop 0.19-0.20 改进的。这样做的好处就是快,一方面依赖社区拿到已有的代码基,整合测试就可上线,同时也不用管什么伦理道德奉献回馈的鸟事,但其缺点就是内部的 Hadoop 和官方的 Hadoop 会逐渐越走越远,上游的 Patch 和改进越到后来会越难引进合并。这样做的结果就是和社区分离,用自己一人之力对抗全球智慧,最终只能自讨苦吃。

我记得有一次内部年会上,有位工程师跳起来问,“公司可不可以做一些开源的产品呢?很多东西本来就是从外边拿过来的。”我只记得当时台上的两位 高管,其中一位女高管脸色稍变,过了一会又开始讲什么“做开源需要时间精力;好的东西才好意思开源出去,否则会丢脸”什么什么的。我想,*一个 IT 公司有没有勇气拥抱开源,是一个公司是否对自己的技术有足够自信的一个表现*。在这方面,百度乏陈可善,不但没有代码, 连论文也很少。而淘宝在章文嵩的带领下,其开源已经做的如火如荼,算是国内 IT 企业中开源做的最好的一个。

3 世界上最优秀的工程师?

百度的内部邮件中不止一次的提到“世界上最优秀的工程师”这个字眼,可惜作为这封邮件的收件人,连我们自己都不相信自己是世界上最优秀的工程 师。09-11 年高速扩张的两年,百度的招人标准降低了很多。这也是无可奈何的事情,毕竟中国的人才储备有限,有时候即便你想花钱,也不一定能招到足够的人。

你当然无法否认,百度内部有很多牛人,可是大凡拿得上台面的公司,哪个手里没有一些牛人呢?重要的是保证整体人才的平均质量,而不是树立几个典型,然后就自吹自擂说自己的工程师是世界上最优秀的。

4 KPI 为王

我在 Hadoop 运维组做到第 4 个月的时候,一手创立 Hadoop 运维的经理走了,空降了一位新来的经理。当然,这位经理是不懂 Hadoop 的,加上他又实在繁忙,所能做的就是从报表入手。比如说每周几千台机器几百条小报警有没有都处理掉,预算做的怎么样,总之都是报表性的东西。至于技术上 的,监控怎么做, 如何才能更好的自动化,怎样统一归约化的整合集群的各个系统,从来就不是他关心的重点。我辛苦两周做出来一个小的监控系统,可以自动的检测各个集群的一些 指标参数,并且支持自定义插件,自动化的生成监测报告发送到邮箱中,他给的评价是“这算啥,T2 的工程师都能做”。我当时特别火也特别委屈,心里想“T2 的工程师都能做,可是为什么一直没有人做呢?站着说话不腰疼”。

再比如我们每周都要写 Hadoop 集群运维周报,内容无非是去几个监控系统上鼠标 copy/paste 一些数据到一个模板里。其实这样的东西完全可以稍微花些人力写点程序抓点网页完成,可是一直没有人做这个事情,大家就这样一周一周的写下来。反正经理要的 就是这个,谁管你怎么得来的呢。

当一家技术公司由技术驱动变成 KPI 驱动的时候,也就意味着这家公司发展到了一个瓶颈期。不断有前同事跟我聊,说自己想做一些事情,但是经理不让。为什么呢?比如说一个4、5 年的产品代码,由于人员的交替加上技术的封闭,必然是有很多丑陋的代码的,这个时候后来接手的人如果是个有责任心又有代码洁癖的人的话,自然就想对代码做 些重构和改进。这就带来了一个问题:万一由于这种额外的改动造成产品出现事故,怪谁?经理是不想承担这样的责任的,因为百度的经理不写代码,多一事不如少 一事。这样一个技术人员的积极进取心就这样被压制了。还有的经理说,”做,可以做,如果一个星期之内可以完成,就去做”。可是有多少伟大的产品是一个星期 内完成的呢?GFS 不是,MapReduce 也不是。可是经理才不会管这些,他关心的是他的 KPI,是报表。一个东西,如果短期内无法出成果,就不要做。

所以像 Puppet 这样的工具是不可能出自百度之手的。即便是工程师在平时的工作之中有一些思考,但也很少能有时间形成系统化的,并且能够走出百度被业界认可的东西的。

5 会议,还是会议;总结,还是总结;沟通,还是沟通

百度的会议之多,总结之烦,沟通之杂简直是令人闻风丧胆。我在百度的时候,每周至少开 3 个会,每个会不少于 1 个小时;每天发送查看邮件不少于 40 封;每天花在 Hi 上交流的时间不少于 3 个小时。有人会问,这么多的沟通会议时间,还有时间干正事嘛?怎么会需要这么多时间沟通交流呢?首先是百度非常看中邮件文化, 所有事无论大小都要有个邮件性的总结,学会设定邮件规则是每个百度人的第一课;其次就是百度的部门极其多,据统计整个公司大概有 500 多个部门和组,工种单一,想要完成一个 Project 需要跨越很多部门。这就导致了百度内部的沟通成本一直居高不下,会议室都要提前一周甚至两周才能订上。很多 rd 都是上午过来处理邮件,下午开会,然后晚饭后写代码。

6 自由上班?Shit

百度号称自由上班,但这个所谓的自由上班,每天 8 小时只多不少。

7 部门隔离

没错,百度虽然号称“简单可依赖”,“不唯上”,平等,无“公司政治”的企业文化,但是由于部门繁多,流程繁杂,真的想做一件事情,如果没有自上而下的推动,光预算、排期、开会就要耗掉几周甚至几个月的时间。

另一方面,如果你去仔细观察百度的产品,你会发现百度的产品风格差异极大。无论是网页产品还是客户端产品,其 UI 方面从来都没有给人一种非常明朗统一的感觉,能够让人一看就知道这是百度的东西。这方面,苹果做的最好,Google 次之,百度毫无章法。

8 Geek 在哪里?

百度并不是一个 Geek 公司。Facebook 是,Google 是,但百度不是。大多数工程师还在用着 10 年前的 XP 系统,用着盗版的 Office 和 SecureCRT 软件登录 SSH 写着各种文档和代码。百度的工程师没有追求美感的习惯,这种美感包括但不限于代码风格、文档排版、产品设计等。据我所知,Google 的所有代码在提交之间都会经过一系列的检查,但百度至今没有如此完善的流程。至少在我们组,代码写了一年多,才想到要重新整理,规整风格。百度内部的 wiki、代码审查,项目管理系统从来也是破破烂烂,没有类似于 Facebook phabricator 这样的系统。

9 有啊

百度历史上有很多失败的产品,但是从来没有一个产品,如有啊这般惨烈悲壮。这样的人,这样的团队,这样的条件下这样的时间内做出了这样的牺牲和 这样的业绩,但最终依然无法摆脱失败的命运。 有的时候,我真的怀疑,当你怀着“我坚信让我一往无前的唯一力量就是我热爱我所做的一切”这样的信念去努力去拼搏的时候,你的老板能够看到并且认可你的付 出吗?有啊的惨败,百度的高管可曾做过认真的反省?这究竟是公司战略上的问题还是员工的问题?员工犯错可以扣钱扣绩效,但如果是公司犯错呢?公司做过这样 的检讨吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|阿波罗网

GMT+8, 2024-7-21 00:27

快速回复 返回顶部 返回列表