零CS背景成功应聘Google软件开发工程师,John Washam将自己短短几个月的「软件工程师自学计划」发布在GitHub上狂揽11万星,希望能够帮助更多想从事软件开发工作的初学者实现快速入门,找到自己心仪的工作。
自学经验发到GitHub狂揽11万星,教你「从入门到亚马逊」
下面我们就来看看这11万星的学习计划包括哪些内容:
首先,John Washam告诉我们,无论初学者是想要入职亚马逊、Facebook、谷歌还是微软等大型科技公司,聪明与否并不重要,有没有CS学位也不是必须条件,但是必须要有计算机科学知识,熟悉其他的网络安全知识会是加分项。
其次,就是项目的主要内容,明确必须具备的知识,包括:什么是C语言,计算机如何执行程序,复杂算法,渐近分析,数据结构的基本知识,堆栈,队列,哈希表,以及二进制搜索,树,排序算法,图表,递归,动态编程等等。
这些知识所需要的学习资源,可以通过访问作者的GitHub项目仓库获取。
项目简直贴心到爆,不仅有教程、有代码,还有对应的在线视频,比如下面这个机器学习的相关资源,哦,对了这个项目还有多个语言版本,但是要学好编程英语还是要过关的。
最后,面试环节。选择自己喜欢的一门计算机语言面试,可以是C++,Java,Python,关于这些语言的学习参见计划主要内容,John Washam列出了详细的书单,方向大家随时复习。
军事情报员转码农,还创立了Google面试大学
John Washam目前是亚马逊的一名软件工程师,也是「编程面试大学」项目的创办者。中学时期的John喜欢编程,但考虑到程序员工作在求职市场上即将饱和,因此他选择在大学期间攻读经济学位。
事实证明John对求职市场判断失误,毕业后他加入美国陆军,成为一名军事情报员。在韩国服兵役的两年时间中,John学习韩语之余,还重新学习了编程,不过在理解C++上遇到了不小困难,最终没有坚持下来,真是现实版的「从入门到放弃」。
结束军队服役后,John Washam继续留在韩国,边教授英语边学习用Perl, HTML, CSS, SQL, JavaScript实现网站开发功能。一年之后,John Washam在西雅图找到了一份网站开发的工作。
和大部分职场人一样,在从事了15年的网站开发工作后,John Washam开始寻求自身职业转变。2016年初,他决定从web开发工程师转型为软件工程师。
此后的几个月的时间,为了开始一段全新的职业生涯,他每天全职学习8个小时,通过各种途径搜集关于Google软件工程师面试的知识,将自己的学习计划和学习资源分享到GitHub上。
搭建软件工程师从零到一的学习路径,还有Google面试技巧。这部分内容获得大量学习者的关注,目前已成为11万星的热门内容。
John Washam最初给自己的GitHub项目命名为「Preject 9894」,因为梦想进入的公司Google创办于1998年9月4日,之后改名为「谷歌面试大学」,现在这个项目叫「编程面试大学」。
John花了8个月的时间,完成自己的职业转换,之所以创办「编程面试大学」,是帮助后续的学习者简化这个过程,减少犯错误的机会,节约下时间做更重要的事情。
另外,找准面试重点,而减少掉无意义的准备工作,对求职者来说至关重要。正如John所说,希望每一个学习者和求职者,都有一个光明的未来。