首页 > 外闻 > 关键词  > 谷歌最新资讯  > 正文

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

2013-05-28 15:13 · 稿源:站长之家

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

  • 相关推荐
  • 大家在看

这篇文章对你有价值吗?

  • 热门标签

热文

  • 3 天
  • 7天