谷歌女强人:看梅洛迪如何领导程序工具制作团队

jopen 11年前

谷歌女强人:看梅洛迪如何领导程序工具制作团队

梅洛迪-麦克菲赛尔和她四岁的女儿

        北京时间 7 月 9 日消息,《连线》杂志网络版近日刊载文章,介绍了谷歌公司内部的一位女强人,这位名叫梅洛迪-麦克菲赛尔(Melody Meckfessel)的女强人是谷歌程序工具制作团队的负责人,这个团队所制作的程序工具是该公司内部所有其他工程师都要使用的,而谷歌则是整个工程世 界的核心。文章称,从某种程度上来说,谷歌的开发者工具反映了一种“平等主义哲学”;而在麦克菲赛尔的眼中,这种哲学已经渗透到了谷歌的每个“细胞”中。

        以下是这篇文章的全文:

        有那么一段时间,麦克菲赛尔会在自己的两个衣柜之间玩“抛接杂耍”:一个衣柜里摆满了在谷歌上班时要穿的服装,另一个衣柜里摆放的则是她在工余 时间喜欢穿的服装。第一个衣柜里的服装包括连帽衫、T恤衫和蓝色牛仔裤,这是标准的工程师“套装”,这个衣柜里永远都不会有女式衬衫、短裙或是连衣裙,因 为这些女性化的服装仅归属于她在谷歌以外的生活。

        “我从二十岁出头开始在创业公司里工作,然后进入规模较大的软件公司,现在则供职于谷歌。”麦克菲赛尔说道。“在过去多年时间里,我一直都是办公室里仅有的女性。所以我设法从各个方面适应这种环境,努力融入男性员工的行列,成为他们当中的一员。”

        但随着时间的推移,麦克菲赛尔放弃了这种让自己丧失女性特质的作法,开始穿着她所喜欢的任何服装上班。这是一种非常有自我意识的决定,但她有些 不愿谈论此事。她并非想要藉此来作出某种声明,而只是追随自己的心意去做。“我只想在任何时候都做真实的自己,而这意味着我需要在上班时有更多的改变,而 不只是在私人生活中那样做。”她说道。“这不光是跟衣柜有关的一件事情,我想要做的事情是把自己的整套观点都摆到桌面上来。”

        与其他任何一个行业相比,高科技行业中的“性别鸿沟”都要深得多,这已经不是什么秘密。据美国国家公共电台(National Public Radio)报道称,在美国软件开发者中,仅有 20% 左右是女性;另一份研究则显示,取得计算机科学学位的女性人数正呈现出下滑趋势。在有些时候,这种性别差异所带来的结果可能会是相当极端的;但是,这种差 异并不只是在这种数据化的宏观层面上有所体现,同时也会以更加微妙的方式呈现出来——由于大多数计算机工程师都是男性的缘故,他们正倾向于定义这种文化。

        不过,事情也并非尽然如此。麦克菲赛尔不仅仅是一名工程师而已,她是谷歌程序工具制作团队的负责人,这个团队所制作的程序工具是该公司内部所有 其他工程师都要使用的,而谷歌则是整个工程世界的核心。“如果这些系统不能正常运作的话,那么整个谷歌就无法正常运作。”麦克菲赛尔说道。

        在今天的谷歌内部,女性员工仍旧很少,但这家公司已经聘用了一些天才的女性员工,比如说现在已经跳槽到雅虎担任首席执行官的玛丽莎·梅耶尔 (Marisa Mayer)和主管广告业务的高级副总裁苏珊·沃西基(Susan Wojcicki)等,为填补大多数科技公司中的“性别鸿沟”而付出了更多的努力——至少据麦克菲赛尔来说是这样,她曾在谷歌旗下搜索和“网络爬虫”基础 设施中工作,还曾负责谷歌的全球服务器管理系统以及开发者工具相关工作。

        “在谷歌,人们真的非常看重多样性,而且有表达自己想法的自由。”她说道。“这就是我们能完成许多创新的原因之一。”

        仅在谷歌内部使用

        麦克菲赛尔管理下的开发者工具只在这家搜索巨头内部使用,但这是因为谷歌希望如此。跟其他许多谷歌软件产品一样,尽管其中有一小部分已对外开 放,但从很大程度上来说,这些开发者工具被谷歌视为最好是不为竞争对手所知的商业秘密。在今年春天的一个午后,谷歌向我们展示了一些这样的开发者工具,但 前提是我们不能披露特定的细节,比如说这些工具的名称等。

        这些开发者工具的覆盖范围很广,既有用来编写谷歌软件代码的软件以及改进代码所需要的测试工具,也有将编写好的代码推向谷歌数据中心服务器的系 统。在过去多年时间里,这些工具一直都在以这样或那样的形式在谷歌内部被使用着,但据曾经帮助开发这些工具的谷歌工程师钱德勒·卡鲁斯(Chandler Carruth)透露,在麦克菲赛尔的领导下,这些工具转过了一个特定的“拐角”。

        卡鲁斯表示,麦克菲赛尔为谷歌的开发者工具带来了一种“产品化的视角”。她坚持认为,虽然这些工具仅在谷歌内部使用,但谷歌工程师应该以对待外 界开发者可用工具一样的态度来对待它们。“她给这个团队揭开了一个新的篇章。”卡鲁斯说道。“我们不得不把这些工具视为其他谷歌工程师所使用的产品——是 她给我们带来了这种态度。我们不得不把这些工具视为(必须能在外部开发者中)具有粘着力的东西,赋予它们良好的面貌。而在此以前,这并非我们重点关注的事 情。”

        卡鲁斯说道,麦克菲赛尔的才能之一是她知道如何处理人际关系。“当她来到我们的团队时,我们还没有什么很好的重点。”他解释道。“她来到这里时 跟所有人都不太熟——人们都对她持有防御性的态度,这是很自然的人类反应——但她成功克服了这一问题,让人们不再觉得她是个‘外来户’,从而把整个团队都 重新凝聚到了一起,而不是像以前那样各自为政。”

        而这只不过是麦克菲赛尔颠覆传统的工程师形象的例子之一。她不仅是一名出色的工程师,同时还是一位兼职的酿酒师和一位单亲妈妈。换而言之,她就 是她自己。“她并非想要发起‘十字军东征’那样的运动来证明女性应该在这个领域中占有一席之地。”麦克菲赛尔的密友、同样也在谷歌工作的凯利·斯图特 (Kelly Studer)说道。“她只是知道自己有能力在这个领域中占有一席之地。”

谷歌女强人:看梅洛迪如何领导程序工具制作团队

梅洛迪-麦克菲赛尔的另一面——兼职酿酒师

        任何人都能获取代码

        从某种程度上来说,谷歌的开发者工具反映了一种“平等主义哲学”;而在麦克菲赛尔的眼中,这种哲学已经渗透到了谷歌的每个“细胞”中。谷歌内部 有一个能从任何网络浏览器打开的系统,员工能通过这个系统迅速获取所有软件代码,而这些代码可为所有谷歌产品和服务提供支持。与此同时,这个系统甚至囊括 了可用于自我改进的软件代码,其结果是任何谷歌工程师都能对其他工程师编写的代码进行修改。“在公司内部,这种代码是完全开放的。”麦克菲赛尔说道。

        这并不意味着任何人都能任意修改代码——举例来说,并不是任何人都能修改 Gmail 电子邮件服务的代码,将其编写为一个可以执行的软件,从而彻底改造这种颇受用户欢迎的电邮服务。不过,这确实意味着工程师们可以审阅和编辑 Gmail 服务的任何基本代码,而如果他们将重新编写后的代码提交给正确的人来进行审查和测试,那么就有可能在实际上改变这项服务。

        此外,这个系统还能衔接任何集成开发环境(integrated developer environment),也就是开发者用来编写代码的编辑工具,并接通包括 GitHub 在内的其他许多常用的开发者工具。这种想法的核心内容是,让工程师拥有特定的自由度来作出自己的选择。“判断什么样的软件能够运行良好的决定权在他们自己 手中。”麦克菲赛尔说道。

        麦克菲赛尔表示,另一件重要的事情则是这个系统能以异乎寻常的速度来编写代码。这个系统采用了典型的谷歌模式,在数量庞大的服务器中分配代码编 写任务,而不是在开发者的本地工作站里生成可执行的软件。即使软件代码的数量十分庞大,其编写任务也能在短短的几秒钟时间里完成。

        前文提及的谷歌工程师卡鲁斯给我们做了一次展示;在这次展示中,该系统仅用了大约 23 秒钟的时间就编写了 150 万行开源 C++ 代码——然后他还对我们说道,这种速度已经算是慢的了。他说道,在通常情况下,一项代码编写任务会涉及数百万乃至数千万行的代码,而这种编写任务的完成时 间也是 20 来秒。“一般来说,当我向新聘用的员工展示这个系统(强大的代码编写功能)时,他们都会笑着走出房间,因为他们认为我是在撒谎。”卡鲁斯说道。

        这个系统同时还作为一种“持续集成服务”(continuous integration service)来进行运作,这意味着该系统会把新代码发给正确的人来进行审查和测试,从而确保一切都能正常运转。与编写代码相比,测试代码所需花费的时 间更多,这是因为该系统必须解析谷歌的整体基本代码,从而查明某种变动会对哪些软件造成影响。不过,考虑到谷歌庞大的业务规模,实际上测试代码的程序也会 很快完成。据麦克菲赛尔称,每过一分钟,谷歌工程师都会提交 25 到 30 组代码,每天进行的测试次数多达数百万次。

        麦克菲赛尔指出,这种速度到最后带来的结果是,谷歌的工程师获得了额外的时间,他们能利用这些时间来编写更多代码,也能把这些时间用来享受人生的其他乐趣。

        软件应以人为本

        与生活中其他的组成部分——比如说作为单亲妈妈和酿酒师的生活——相比,麦克菲赛尔的工作生活可能仍有很大不同;但说到最后,工作生活也是她整 体生活的一部分内容。事实情况是,创造软件在很大程度上类似于创造其他任何东西——比如说麦克菲赛尔在北加利福尼亚一个产酒县的一家小型酿酒厂中所酿制的 霞多丽(Chardonnay,是目前全世界最受欢迎的酿酒用葡萄)酒,这家酿酒厂距离谷歌总部有大约两个小时的车程。

        “(不管是做工程师还是酿酒师)这两件事情都与解决问题有关。”麦克菲赛尔说道。“在酿酒的过程中,你需要试验各种变量,这在某种程度上就跟开发软件一样。”

        作为酿酒师而言,麦克菲赛尔的目标是酿制出自己想喝的葡萄酒——这跟她麾下团队的目标没有太大区别,因为这个团队的目标是开发自己想要使用的软 件开发工具。另外,酿制葡萄酒是一种合作过程,这在很大程度上也跟软件开发工作相似——尤其是跟谷歌的软件开发模式类似。“我没办法只靠自己就能做到一切 事情。”麦克菲赛尔说道。

        这最终意味的事情是,写代码并非只是写代码而已,而是与人有关——需要理解的东西包括那些人是谁,他们能作出什么贡献和需要什么东西,以及是多 数派还是少数派等,诸如此类。“如果你把重点放在人的身上,那么就会发生很好的事情。”麦克菲赛尔说道。“软件是人写的。如果你不关注人的问题,那么就会 失去某些东西。”

来自: 腾讯科技