GitHub上最励志的计算机自学教程( 二 )


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