码农自白:我是这样成为谷歌工程师的

编者按:谷歌多年盘踞“全球最佳雇主榜”前几位并且曾经数次蝉联榜首,而它选拔聘用人才的标准也是出了名的高,其中相当出名的一条是“名校情结”——无论在哪个国家,谷歌都异常青睐毕业于顶尖学府的精英,并且会参考他们大学阶段的成绩单。
 
如果小编说,谷歌也曾经录用过一位没受过正规大学教育、连本科文凭都没有、基本全靠自学成才的草根码农,大家会不会觉得不可思议?但是,这事儿真的可以有——曾就职于谷歌、Square、DoubleHelix 等公司的资深软件工程师及创业者大卫?比托(DavidByttow)日前撰文介绍了他从一介草根到被谷歌录用的经历,故事绝对励志!

136

文章摘要:

  • 第一,鼓起勇气挑战很牛的事情,做着做着自己也就变牛了。
  • 第二,与业界“大拿”为友,能改变解决问题和看待世界的方式。
  • 第三,勤能补拙,在大量实践中弥补基础知识方面的差距。
  • 第四,抹去简历中的教育背景,意外得到面试机会;做足准备,谷歌面试也能变得乐趣十足。事实证明,谷歌对优秀的人才并不完全拘泥于学历。

以下为文章全文:
 
发表《编码不息——如何成为软件工程师》(ABC:AlwaysBeCoding–HowtoLandanEngineeringJob)一文之后,很多人都来问我一个问题:我为何连大学学位都没有也能被谷歌录用为工程师?以下就是我的故事,不过大家的经历也是因人而异的。
 
其实,我当年非常非常想上大学。我选择申请加州大学洛杉矶分校(UCLA),但是很不幸,我在高中的平均绩点(GPA)只有可怜巴巴的 2.45,所以我也就没法被大学录取了。然后,我在普渡大学盖莱默校区(PurdueUniversityCalumet)进修计算机课程,同时盼望自己有朝一日能顺利转学或者另谋出路。过了将近两个学期之后,出路来了——我得到了一个令人无法拒绝的录用通知。
 
第一步:假装自己很牛,直到真的变牛
 
上大学时,我曾经给印第安纳州格里菲斯市的一家小公司打工,工作内容是帮助本地公司建网站,时薪 12 美元。这份工作与我所梦想的未来职业相去甚远,但也不算太糟糕。
 
我埋头苦干、不说大话,把好几个项目做得超乎预期。这为我建立了很好的声誉,也让那家公司获利颇丰。与此同时,我还在并不充裕的业余时间里尝试游戏开发。后来我孤注一掷,请求公司管理层给我三个月时间和一点点钱来开发一款能在网上销售的游戏。我做出了漂亮的电子表格和丰富多彩的图表,向他们展示了共享软件模式的原理和游戏的光明“钱途”。当时我也不大清楚自己在做什么,但他们还是买了我的账,可能是因为我做的东西颜色很漂亮吧。
 
开发了两个多月之后,我在网上发布了一段演示,引起了加州初创企业 CodeFire 的注意,因为他们做的也是一模一样的太空射击游戏,类似于非 3D 的 SubSpace。但引起关注未必就是好事——很不幸,他们向我发出了勒令停止通知函。于是我也只能回复曰:“没问题,我会到此为止——前提是你们得雇我开发你们的游戏。”他们回以一份录用通知,而我笑纳了它。
 
注意:这家公司持有这款游戏的原始版权,而我在离职前也按照规定提前三周通知了老东家。
 
第二步:与“大拿”交朋友
 
这或许是你能做的最重要的事情之一——找到你们行业中的大拿,让他们做你的导师,切记学无止境。在 DoubleHelix 工作时,我遇到的大拿是内森?亨特(NathanHunt),他是我见过的最聪明、最谦逊的牛人之一,而且他对我提出的所有问题都极具耐心,无论这些问题有多么初级。我成百上千次走进他的办公室,随意提出诸如“我如何才能把一个旋转矩阵顺利插入另一个?”之类的问题。多年之后,他比我晚一个月加入了谷歌。
 
我的每一位导师都在一定程度上改变了我解决问题或看待世界的方式,我在此就不一一赘述了。
 
第三步:弥补差距
 
我没有正式的计算机学位,因此我明白自己缺乏很多基本知识,例如我曾经用物理引擎解决一个动态编程问题,结果总也不成功。为了弥补这些差距,我实践过我所听闻或读到过的几乎所有最常见的数据结构和算法。你肯定能找到自己需要的信息,但是通过观察“知其然”与通过实践“知其所以然”之间存在着巨大的差距。

更多详细信息,请您微信关注“计算网”公众号: