David Byttow:没有高学历 亦能迈入谷歌大门

  David Byttow是来自位于美国加州Mt. View谷歌总部开发Wave产品的软件开发工程师。他没有高学历,缺少学历做保证的他,是如何依靠自学编程,敲开Google大门的呢?

  David Byttow发布了一篇文章,讲述其如何在没有学习作保证的情况下,得到了谷歌的青睐的经历。原文如下:

  自从发布了《ABC: Always Be Coding – How toLand an Engineering Job》这篇文章后,很多人问我是如何在没有学历的情况下,得到谷歌工程师这份工作的。下面让我来说说我的谷歌,当然您的历程可能有所不同。

  我曾有去上大学的打算,当时想去的学校是加州大学洛杉矶分校(UCLA)。但不幸的是,我高中的平均分数实在是太低了。为了能够有所改变,或者是说为了找到另外一条出路,我选择了在美国普渡大学盖莱默校区学习计算机科学。在入学两个学期后,有一份我无法拒绝的工作出现了。

  第一:假装你可以做到,直到你真的做到了

  在大学的时候,我为一家坐落于印第安纳州格里菲斯的小公司工作,建立当地商业网站,酬劳是每小时12美元。当我想象自己未来的职业生涯时,我知道这份工作并不是我真正想要的,不过这份工作还并不算太差。

  我一直都保持谦虚的姿态,在做项目时都秉持少说话多做事的原则。也正是因此,我赢得了人们的尊重。而此时,我希望利用业余时间来研发一个游戏,不过我并没有多少的业余时间。所以我向经理申请三个月的时间来开发这个游戏。我制作了一个花哨的电子表格,再配上彩色图表来向他们展示这款共享模型是如何工作,以及如何通过它来获得利润。而他们终是采纳了这个项目。

  在经过两个月的研发后,我在网上发布了一个该游戏的演示版本。这引起了加利福尼亚一家名为CodeFire的初创公司的注意,因为他们公司也正在研发类似的游戏。他们给我发了一封信,希望我停止这款游戏的开发。而我亦给出了我的回答,“当然,我会停下来的,前提是你们公司聘请我参与贵公司的该游戏研发项目。”最终,这家公司答应了,而我则选择了离开现在的这家公司。

  第二:待你的上司如友

  这可能是你所能做到的最重要的事情了。找到你的上司,向他们学习,让他们成为你的导师,永远都不用停止学习。在DoubleHelix公司工作时,我的上司是Nathan Hunt,是我所遇到的人中最聪明,最谦逊的人了。他对我所提出的问题都极为耐心,即使那些问题非常基础他也依旧耐心回答。我去他的办公室的次数应该有千万次了吧,我总是问他一些像

印度神油“我怎样才能顺利的将一个旋转矩阵插入到另一个中去呢?”这样的问题,几年后,他在我加入谷歌后的一个月也加入了谷歌公司。

  每一个导师都能够改变我解决问题的方式,以及我对这个世界的看法。

  第三:弥补自己的不足之处

  由于我没有一个正规的计算机科学技术学位,我很清楚自己在基础知识方面十分匮乏。你所需的信息都可以通过一些渠道获得,而在“通过观察来了解一些事物是如何起作用的”和“通过创建一些事物来搞清楚这些事物为什么以这样的方式工作”这两者之间仍有很大的不同之处。

  在那段时间,我是这样做的:

  1、 掌握C,C++,Objective-C,Java,PHP,Python或者是Ruby这些语言中的至少一种语言,对其他语言则要很熟悉,同时还要了解Scala,Haskell和Lisp。

  2、 学习数据结构,并将它们运用到实际应用当中。还要了解它们的时间复杂性。

  3、 解决程序设计问题。

  4、 创建已完成和未完成项目(比如编程架构,移动应用或是Web应用,小游戏等等)的文件夹。

  第四:让自己变得自信

  在离开印第安纳州六年之后,我已经在多个平台推出了共6款游戏。渐渐地我感到厌烦了,希望能够有新的挑战。我在谷歌投了简历,我觉得如果我能够成为谷歌的员工,我将能够变成一个“真正的工程,”而一直另我感到困扰的事情,却是那一张小小的学历证书。然而,我并没有得到任何来自谷歌的回复,而这也是意料之中的事。

  一年之后,我再次提交了我的简历。不过这次我没有填写学历信息。讽刺的是我接到了招聘人员的面试通知。我希望能够把面试推迟到两周之后,而她也同意了。我需要在这段时间内记下尽可能多的算法和数据结构的知识。

  我依然记得谷歌面试的每一个细节。面试者们都很善于交谈,我相信他们能够感受到我的兴奋,以及对所提出问题的感激。

  面试时的一些问题是:

  1、给出一组二维点,计算出空中轮廓线。

  这个很容易,我汲取了数据结构中的最大堆的概念。这个问题有好几种解决方案,其中最好的是这种。

  2、设计微软画图软件Microsoft Paint。

  这是到目前为止最有趣的的难题。我首先开始拟定接口和类图。我提到了Paint Bucket工具,面试者则要求我使用这一工具。感谢TopCoder,使得我对重复的广度优先遍历非常熟练。因此,我达到了此要求。

  3、说说自己的优点。

  这是一个开放式的面试讨论。我谈到了测试的类型以及它们各自的价值(比如单元测试,集成测试,接受测试等等)。还谈到了代码的可维护性等等。这些都可以在《Code Complete》和《EffectiveJavelin》这两本书中找到。

  我真的很享受每一轮的面试以及他们抛给我的问题。如果我没有任何准备,那么结果可能就完全不一样了吧。我对这次面试感觉非常好。但是,我听说即使招聘委员会同意聘用雇员了,Larry仍有权利否决。所以我很担心当他看到我的学历之后,我就没戏了。

  好在这些都没有发生,得知通过面试时,我正在圣克拉拉吃午餐。也就是在这一天,我确定了我再也不会重返学校了。

  “是故胜兵先胜而后求战,败兵先战而后求胜。(Victorious warriors win first and then go to war, while defeatedwarriors go to war first and then seek to win.)”

  Via:medium

关于作者: zhaosf

为您推荐

发表评论

电子邮件地址不会被公开。 必填项已用*标注