Google工程师二三事

原创 2006年05月23日 21:35:00
------------这一篇先在Google黑板报贴过的---------------

我讨厌“工程师”这个头衔,正如我讨厌一辈子与呆头呆脑的主板、芯片为伍。要是有一天,Google能把多内核的超级计算功能集成到肥皂泡里,然后工程师们就绑上肚兜系上围嘴手拉着手走到阳光明媚的院子当间儿在小方凳上排排坐好一个个充满童趣地仰着脑袋歪着脖子噙着塑料管煞有介事地吹出红的黄的五颜六色的肥皂泡来其实每个肥皂泡都是一个超级过瘾超级纯粹的网络搜索产品,“工程师”这个满是机油味儿的称谓不就可以被曼妙无比的“勇者泡泡龙”代替了吗?

您还甭笑话我,在Google做工程师,没有点无知者无畏的傻冒儿创新精神还真成不了大事。借用北宋第二伟大的词人周邦彦的名句就是:舍不了孩子呀,套不着狼。没办法,谁让Google里面处处都是新奇无比勾魂摄魄俗称“挑战”的新鲜事儿呢。——闲言少叙,讲几件我遇到的新鲜事儿给大家听听,权当是“所作忠而言之兮”了。

1、第一次遇到比自己笨的人

法国伟大的文学家、思想家、革命家孟德斯鸠教导我们说,身为Google工程师的最大好处就是——你总能在第一时间知道自己离“笨得离谱”还有多远。老孟的话得这么理解:“笨”其实是一种美德,远比“厚道”更易让人神往,尤其是在遇到了一个比你更笨的人之后。

有一次,我笨得忘记了该如何在一个复杂的有向图中找出两点之间的最短路径。身边的一位工程师很郑重地告诉我说:“你知道吗?解决这个问题有两种方法,聪明人的方法和笨人的方法。聪明人的方法是:照着算法教科书的讲解,实现那个时间复杂度相当大的名叫嘀嘀哒嘀哒的最短路径算法。笨人的方法时间复杂度最低:找一堆线头来,按照有向图的结构连成一张网,然后一手拿一个顶点,向两边一抻,中间拉直了的那条路就是最短路径呀。”

“哇噻!笨是一种多么伟大的品格呀!”我眩晕得说不出话来。于是,我们这两个自认为足够笨的工程师足足花了两周的时间,用计算机程序模拟了不同材质的细线在北半球的重力条件下相互连接并在两个反方向作用力的影响下向两边伸展的整个物理过程,然后以此为基础实现了时间复杂度最小的最短路径算法。——瞧,在Google,什么东西都可以自己动手实现,什么东西也都可以推陈出新,我们的杰出表现就是最好的证明。

2、第一次和超大老板吃饭

开复博士是我们的大老板,大老板的老板当然就是超大老板。第一次和超大老板吃饭是在无比质朴无比简洁甚至略带些中小城市招待所气息的某某中心餐厅里。大鼻子蓝眼睛的超大老板显然对我们这些工程师的居心不良有所准备,一上来就用流利的中文告诫我们说:“吾于汉学一门仅识得‘谢谢’二字,诸位客官大快朵颐之时烦请务必以英吉利方言互通有无,承让了!”

无奈之下,我们只好将精心准备了三天三夜的用温州话提问的小节目暂时搁置。说来也怪,本来无法见人的英语口语一到超大老板面前就变得比王小丫的中文还要流利。我豪不费力地在59秒的时间里说出了“Kernel 2.6”一共四个英文单词,超大老板也毫不费力地明白了我的意思。他拍了拍我的肩膀,用和我一样流利的英文告诉我说:“小伙子,真人不露相啊,你怎么知道Kernel 2.6只能在1分钟内处理四个单词呢?”

好容易让超大老板明白了我们其实是想让他谈点儿与Kernel 2.6有关的技术问题。超大老板还真不含糊,为了让自己的回答更全面,更准确些,他毅然离席,到旁边桌上与同来北京的几位技术大师晤谈许久——我们正好趁着这个机会平端了筷子大张了嘴巴吃得满桌震荡风雷急,等到超大老板回到座位,我们就指着无数个空盘子很是愧疚地说:“您看您也真是的,一心帮我们解决问题,连自己吃饭都顾不上了,这让我们怎么好意思呢?”

3、第一次见到Foosball高手和大胆子情圣

其实,武林中传言已久的Foosball高手和大胆子情圣是一个人,一个同时拥有着俊朗外表和秀美心灵的工程师,一个脱离了低级趣味的人,一个值得向所有小女生大力推荐的人。

在Foosball的台案上,情圣先生是那种从不轻易出手的人——即便出手,也只出一只手,一只吹雪不见五指的手。事实上,他用一只手就足以将那些曾在业余级别赛事里称王称霸的选手们打成光头加零蛋了。于是乎,情圣在Foosball赛场上成了无人理睬的独孤求败,没法子,只好将精力转移到他本人更为擅长的娱乐舞台上。

大胆子情圣的名头绝不是骗来的。据那些见证过大胆子情圣光荣历史的目击者形容,大胆子情圣曾经在一家餐厅的舞台上被人用红布蒙面,用巨蟒缠身。当时现场有复数的观众晕倒,可我们的大胆子情圣却自行摘去红布,手托巨蟒,亲吻蛇身,并与舞台上的异族美女共舞数曲方散。一时间,“胆大如斗,情深似海”的八字评语传遍了公司上上下下。

好了好了,先聊到这里吧,Tech Lead对我沉迷于胡言乱语的行为已经出离愤怒了。“好好编你的程序,别发癔症了。”没错,我是个工程师,还有无数程序要编。刚才说的这些事儿,大家千万别当真。呵呵。
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Google产品经理Kenneth Norton:如何与工程师共事

摘要:在实际开发中,常常遇到产品经理与开发工程师不合的情况,如何避免这类事情发生呢?Google 产品经理Ken Norton为我们总结了“如何与工程师共事”的10条戒律以及11条技巧。软件工程师们,...

WinForm二三事

  • 2012-06-05 20:39
  • 484KB
  • 下载

想成为Google工程师?先回答这15个面试问题【这只是一必要条件】(二)

第二题,合并两个有序链表。       2.合并两个排序链表 挑战: 这类问题是Google面试问题的一个共同趋势:找出解决问题的有效办法。 合并两条链表是一般会在链表之间发生“冲突”(因为它们各...

关于傅立叶变换的二三事

  • 2011-09-02 14:50
  • 451KB
  • 下载

前哈佛教授、Google工程师Matt Welsh谈移动开发趋势

已经展开预订的Google Glass,无疑是目前最引人注目的移动系统。类似系统背后,Google有很多有学术背景的人做出很扎实的研究,为技术的商业化筑好了根基。Matt Welsh就是这些人中的一个...

Google工程师:复杂是软件的死敌

Google开发工程师Evan Martin近日在其个人网站发表了一篇博文《Complexity is the enemy》,文章中指出复杂是软件的死敌,新代码的引入是否增加了软件的复杂度,是否应该加...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)