自学|GitHub上最牛逼的计算机自学教程( 二 )


文章插图
终于在2001年,John正式成为了一个网页开发程序员,开始了19年的码农生涯。
截止2017年,John的职业生涯可谓十分成功:在大小公司都有过任职、组建管理过项目团队、经营壮大过初创公司,自己还亲自创办了3家软件公司,其中2家至今还在健康运营。
按照John自己的话说,这十几年的工作经历,将他锻炼成了一个合格的程序员、一个优秀的产品经理、一个CEO、一个市场销售。
但是他的目标不止于此。他的梦想是在谷歌任职软件工程师,在充满智慧和创造力的团队里提高自己。
自学|GitHub上最牛逼的计算机自学教程
文章插图
最初他认为凭自己的工作经验可以轻松获得职位,但拿到了谷歌面试题他才发现自己欠缺太多。
一个优秀的软件工程师应该精通数据结构和算法、汇编语言、内存设计等,还要综合考虑代码和程序结构对机器在应用场景下的影响。
于是他以这份谷歌试题为指导,开始了编程自学。
并且在github上建立了「9894项目」,因为谷歌建立与1998年9月4日。
后来这个项目改名为现在的「coding interview university」。
CS自学三点注意事项
John结合自己的学习经历,给出了三点自学编程的建议。
自学|GitHub上最牛逼的计算机自学教程】一、早问早计划,不要想当然
John最大的教训是自己花了太多时间学习根本用不上的东西,比如他曾经用了3周时间阅读了1000多页C++的资料,但是最后面试和工作中用的却是Python。
自学|GitHub上最牛逼的计算机自学教程
文章插图
△这是John的算法学习资料,最后证明走了冤枉路
原因是他担心面试时可能会被问到。
这个例子不是说C++没必要学。
而是强调你要提前收集信息做出计划,在不同的项目上分配合理的学习时间,提高效率。切忌「我觉得……」。
二、视频比看书效率更高
观看视频的学习效率自然要比自己啃书快。
找到好的教学视频,意味着你有更多的时间实际演练编程题目。
自学|GitHub上最牛逼的计算机自学教程
文章插图
三、反复温习十分重要
不断反复是形成记忆的关键,正如我们在上文提到的,John推荐使用记忆卡。
他自己制作了1792个电子记忆卡。一有空闲时间就掏出来温习,比如超市排队时、公交车上等等。
对于一个卡片的的问题,回答正确还不够,John会在一段时间内多次回答正确才会标记为「已掌握」。
最终这位小哥没有去谷歌,而是接到了亚马逊的offer,现在他在亚马逊做软件工程师。
但是他自己说之前的学习经历并不是无用功,现在他已经全面掌握了软件工程的基本技能,无惧工作中的任何挑战,并且实现自我飞跃的那一天越来越近。
而且John小哥的经历,也不局限于程序员本身,多于更多人而言,也有值得参考之处。
他认定了一个目标,然后制定计划、勤奋付出,最后天道酬勤获得回报。
John可能也是一个「一万小时定律」的拥趸,但就算按照他每天12小时、坚持8个月(每月31天),他从一个网站前端到AWS技术专家,历时也不过2976小时——远未到1万小时。
但就是这样目标坚定的8个月,John从入门到获得大厂认可,百万年薪加持。
△外媒调查亚马逊软件工程师平均年薪超过百万人民币
这是我们在GitHub看到最励志的故事,也是我们希望让更多人看到的原因,并且由衷希望更多人因为这样的经历和分享,创造属于自己的故事。
坊间笑谈太多的“从入门到放弃”,但也有人“从入门到百万年薪”。
生命不息,奋斗不止,Keep walking~
版权申明:内容来源网络,版权归原创者所有。除非无法确认,我们都会标明作者及出处,如有侵权烦请告知,我们会立即删除并表示歉意。祝愿每一位读者生活愉快!谢谢!