自学编程的技术大牛是如何进谷歌的

时间:2022-05-13 21:08:57
       即将于下个月上映的电影《The Internship》吸引了不少人的眼球,其中最重要的原因就是在这个落魄大叔们在Google奋斗的励志故事中,观众们可以近距离接触Google的企业文化,而“为Google工作”也是无数IT从业者的梦想之一。不过实际上,故事不仅仅发生在电影当中——David Byttow曾是Google+中某些项目的技术leader,而在此之前他并没有获得过大学学位,最近他就写了一篇文章回忆自己是如何加入Google的:


      由于GPA成绩并不理想,David Byttow没能被自己所梦想的大学UCLA录取,于是他选择了去Purdue University Calumet学习计算机科学。需要注意的是,这所学校完全独立于Purdue University,它对高中成绩不设分数线,对学生是来者不拒,美国大学排名上没有该校区,应当在400名以外。


     在Purdue University Calumet,David Byttow利用自己所学的知识开始为一家公司打工,主要公司是为印第安纳州的一些本地企业搭建网站,酬劳是12 美元/小时,当然,这份工作并不符合David对自己未来的想象。


     David Byttow踏实的在这份工作上完成了许多项目,建立了不错的信誉,帮助公司获得了不错的收益。这时,他想利用业余时间去开发一款游戏,但他的时间非常稀少。所以,他孤注一掷地像管理层申请三个月的时间去开发这款游戏,他做了电子表格和DEMO向他们展示这款游戏以及盈利方案。


     两个月的开发后,David完成了整个DEMO的开发,而这时,另一家名为CodeFire的游戏公司注意到了David的产品,他们二者的游戏极为相似,所以CodeFire不停地给David发邮件要求他终止开发。David的答复是;“没问题,但你们必须雇用我”。


    他的愿望实现了。


    David Byttow说,在职业生涯里最重要的一件事是在你自己的领域找到一位技艺娴熟的人,并不断地向他学习。他提到了自己在Double Helix 公司的同事Nathan Hunt,他称赞Nathan Hunt不仅极为聪明和谦逊,而且十分具有耐心,无论他提出多么初级的问题,Nathan Hunt都乐意为他解答。像Nathan Hunt这样的导师都或多或少地改变了David观察世界和思考问题的方法。


    当然,要想加入Google,最重要的一点是拥有足够的技术竞争力,所以David Byttow不断地学习填补自己的空白。他将几乎所有的最常见的数据结构和算法都学习并运用了一遍,以确保将它们融会贯通。他设定的学习计划是:


    ·至少掌握C、C + +、Objective-C、Java、PHP、Python和Ruby中的一种,并熟悉Scala、Haskell和Lisp。


    ·学习数据结构,实践其原理,加深对时间复杂度的理解。


    ·学习并解决大量程序设计问题。


    ·自己完成小型项目的开发,例如开发框架、App、Web App或游戏。


      经过6年的磨练,David Byttow已经开发了6个跨平台的游戏,于是他申请了Google的职位,不过由于没有大学学历,他失望而归。一年之后,David重新提交了简历,这一次他干脆将自己的教育经历从简历中完全剔除,而这一次,David的个人经历打动了招聘人员,Google安排对他进行一场电话视频面试。David申请将这场面试安排在两个星期之后,在此之间,他每天花费12~14个小时编码,来恶补算法和数据结构的知识,并解决了几百个问题。David说,在这个过程中,他对Google的面试由欠缺学位的害怕转变为信心和兴奋感。


    在接下来的每轮面试中,David胸有成竹的解决了每一个问题。最后,Larry Page告诉他可以签订合同了,他所担心的因为学历问题而落选的状况并没有发生。


     “Victorious warriors win first and then go to war, while defeated warriors go to war first and then seek to win(是故胜兵先胜而后求战,败兵先战而后求胜。来源于《孙子兵法》)”,这是David这些年最大的感触。缺少学历做保证的他,依靠自学编程,敲开了Google的大门。


原文网址:http://www.ccf.org.cn/sites/ccf/nry.jsp?contentId=2739718152374