【摘要】 很多人问我在没有学位的情况下怎么获得在谷歌(Google)工作的机会。你通向成功之路或许会和我不一样,下面是我的故事。 我非常希望能上大学,我的理想大学是加利福尼亚大学洛杉矶……

很多人问我在没有学位的情况下怎么获得在谷歌(Google)工作的机会。你通向成功之路或许会和我不一样,下面是我的故事。

我非常希望能上大学,我的理想大学是加利福尼亚大学洛杉矶分校(UCLA)。很不幸,我高中的 GPA 低的令人尴尬,只有2.45。所以实际上,我并没有随便选择一家大学。我在普渡大学盖莱默分校上的计算机科学课程,希望可以当交换生或者找到别的出路。差不多两个学期以后,后者发生了。我收到了一个不可拒绝的offer。

第一步:在你能做之前先装装样子。大学的时候,我在一家专门为本地企业建设网站小公司工作,时薪是12美金。在我的职业规划里,我从未想过做这样一份工作,但当时来看还不错。

我同时参与多个项目,身负重任,我选择埋头苦干,全力以赴。从这个过程中我获得了很多信任。同时,我尝试利用我不多的业余时间开发游戏。我去到一个 天主教会,向那里的管理人员请求提供我少量的钱和三个月时间来开发这个游戏,然后在网上销售。我绘制了漂亮的报表和颜色丰富的图片,向他们展示共享软件模型( shareware model )是怎么工作以及如何确切知道这会带来回报。实际上,我对于我将要做的东西还不是非常清楚,但是他们买了,也许是由于那些漂亮的颜色。

经过两个月的开发,我将Demo发布到网上。一个在加州刚刚起步的创业公司CodeFire发现我的Demo和他们的游戏如此相似,都是一个从上往 下看的太空射击游戏,都和SubSpace非常相似,除了3D部分。不幸的是,他们通过勒令停止通知函与我交涉。我只能给他们一个回复“当然可以,只要你们聘请我工作,我就马上停止”。他们马上给我发了offer。然后我就收拾行装去了加州。

第二步:和大师交朋友。这可能是最重要的事情。在你的领域里找到一位大师,让他们成为你的导师,不停的向他们学习。当我在Double Helix工作时,有一位大师叫 Nathan Hunt,他是我遇过最聪明的却又最谦卑的人。不管我问的问题如何的基础,他都极度耐心的一一解答。我至少上千次的走进他办公室,问一些诸如“我怎样才能平滑的将一个旋转矩阵插值到另外一个里面”,“我应该如何实现移动柱体的碰撞检测”的问题。几年以后,他晚我一个月加入了谷歌。

每一个导师都改变了我解决问题或者看待世界的方法,而这只有其中的一小部分。

第三步:填补不足。因为我没有一个正式的计算机学位,我清楚自己缺乏很多基础的理论知识。比如,我实现了一个物理引擎,但从未解决过动态规划的问题。为了填补这些空缺,我几乎实现了所有我见过或读过的数据结构与算法。这些虽然都已经有了,但是通过观察而知道其如何 工作,与通过实现而知道其为什么可行有着巨大差别。

完成以下几点:

  • 至少掌握其中一门语言: C、 C++、Objective-C、Java、PHP、Python 或 Ruby。了解至少一门其他语言,熟悉Scala、Haskell 或者 Lisp。
  • 学习数据结构。尝试实现其中的大部分。理解他们的时间复杂度。
  • 解决编程问题。阅读下面的文章( Read this)和解决这里的大多数问题( solve many of these)。
  • 为你的项目建立主页。(比如,编程框架、移动应用、网页应用、小游戏等)

第四步:找到自信。在离开印第安纳州6年以后,我已经通过多个平台发布了超过6个游戏。我渐渐觉得无聊,需要新的挑战。我申请了谷歌的职位,由于我没有学位,我想着如果我被聘请了,我就能成为梦寐已久的一名真正的工程师了。但是,我从未收到回信,对于这一点我感到一点都不意外。

一年以后,我再次提交了我的简历。而这一次,我把“教育”这一部分删除了。讽刺的是,这次一位招聘官给我打电话和我预约了一个电话技术面试。我咨询是否可以预约在两个星期以后,他同意了。我需要这一部分时间。我利用这段时间,尽最大努力将尽可能多的算法和数据结构塞到我的脑子里。我每天编码 12-14个小时,解决了几百道编程题。我慢慢沉迷进去了,直到我对谷歌面试的害怕变成了自信和兴奋。

我记得住在谷歌的每一次面试,每一次与他们的交锋。面试官都很健谈,我相信他们都看得出来我非常兴奋的迎接他们的问题。

我遇到的一些面试题如下:

  • 给定一组2维点,计算出他们的轮廓线。这非常简单,我采用了非常一种通用的数据结构叫做最大堆。这道题有很多解决方法,这里有一个非常好的。( good one
  • 设计微软的画笔。这是目前为止最有趣的问题。我从画接口和类图开始,我提到了画笔桶(Paint Bucket),面试官让我实现它。幸运的是,多亏TopCoder,我闭着眼睛都知道如何实现一个迭代的,广度优先遍历的桶。
  • 描述你的软件的长处。这是一道开放的讨论面试题。我说到了测试的类型和他们的重要性(单元测试,集成测试,验收测试)。我又说到了代码风格的一致性和可维护性等等。这些东西你可以在《代码大全》和 《Effective Java》找到。

我真正的享受每一轮面试和每一个扔给我的问题。如果我没有那样认真的准备,我现在肯定不是这个样子。面试完了以后,我感觉非常好。但是,我听说即使招聘委员组同意了给offer,拉里本人仍有权利否决。我担心一旦他看到我没有学位以后,我就完蛋了。

不过,这并没有发生,有一天我在Santa Clara吃着寿司午餐,我接到了电话,我非常热情的接受了Offer。那一天,我清楚的知道我不用再回到学校里去了。

胜利的战士先胜了再去战场,而失败的战士先上战场再去求胜。

喜欢或者讨厌这篇文章,都请让我知道。@guitardave24

经过5年学习和成长,我现在已经不再为谷歌干活了。

转载自:伯乐在线

转载请注明:Devin >> 没有学位,通过这四步也能进Google

我来说说

发表评论您必须先登录

In 2017

墨刀

二十岁时打架,兄弟多,那是面子,敢惹事那叫魄力!现在打架了,悄悄的,真怕身边的朋友笑话!

从前,天天喝大酒,唱歌,通宵KTV,那叫会玩。现在低调做人,约上三五知己喝喝茶,到公园跑两圈,多陪陪家人,那叫靠谱!

不管你混的多牛逼,多有钱,做和你年龄匹配的事,这叫责任! 也叫成熟!

10年前发个脾气,牛都拉不回来。10年后生个气,转眼就觉得没必要。时间渐渐磨去了年少轻狂,也渐渐沉淀了冷暖自知。

10年前,连多愁善感都要吹得惊天动地 ,10年后,越痛越不动声色;越苦,越保持沉默 。

10年前,我们本着糊涂装明白。10年后,我们本着明白装糊涂。成长就是将你的一切都变成心静如水。

In 2016

放下,守心,承担
独立自主
敢想敢做,而能不计旁人眼光
说走就走,而能不再瞻前顾后

In 2015

愿这一年,

不再蹉跎、不作妄谈,
可以抱有千种期许,但至少播种一个开端;

不必发狠、不求看穿,
懂得各有山高水长,不必苦求同路与照看;

依然敢爱、敢离开,
从错误里汲取、在行走中放下,
平常应对平淡,平心看待平凡;

生活若能精彩更好,
但更重要的自己开心,家人幸福。

About Devin

昵称:Devin
性别:男性
邮箱:atDevin#qq.com

本人的长相


简历:

2015-2017 长虹智慧健康 .产品经理岗
2012-2015 苏宁易购 .广告媒介岗
2008-2012 中国矿大 .电子商务

简介:


男、爱生活、爱世界

许可


本博客采用“知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议”进行许可。基于“www.atdevin.com”上的作品创作。本博未注明转载的作品皆为本博原创。

知识共享@中国大陆知识共享署名-非商业性使用-禁止演绎