今天写下这篇文章,是为了对这三年的工做和学习作一个总结。css
本文的全部观点均出自做者这三年经历所得,若有不足或错误之处,敬请谅解。前端
因为我是高中毕业,而且 28 岁才开始学习编程,因此起点比通常人差不少,彻底是零基础,须要学习的知识也特别多。vue
在找工做前,我花了五个月时间自学编程。node
第一个月学的 C 语言,结果发现 C 语言很差找工做。第二个月转学 python,学了一个月发现招聘岗位不多,又放弃了。第三个月,痛定思痛,我决定先去网上搜一下什么语言好找工做再作决定,最后选了前端作为学习的方向。python
接下来前端学习了三个月,HTML 和 CSS 是在 w3school 上学的,JavsSciprt 则是看的 《JavaScript 高级程序设计第三版》。在学习的同时,还作了百度前端技术学院 2016 的任务来巩固和提高技术。三个月后开始找工做,2017 年 2 月找到了第一份工做,终于转行成功。git
接下来的三年学习经历可分为前端和计算机理论知识两个方面来说。程序员
关于前端学习,个人宗旨是:es6
库、框架都是工具,基础打好了,学习第三方工具才能事半功倍。github
在这三年里,我看了大量的前端书籍,具体以下:面试
在看书的同时,我还作了百度前端技术学院 2017 年的任务。功夫不负有心人,看书和作练习让个人技术水平获得了极大的提高,以致于后面对 Vue 源码的学习起到了很大的做用。
关于第三方库的学习,我只对 JQuery 和 Vue 进行了深刻学习,其余的库都是看文档按需使用。
深刻学习 JQuery 的成果:写了两个组件。
深刻学习 Vue 的成果:
学习 nodejs 的时间比较少,主要是工做用不上。成果是写了一个我的博客 node-blog,涉及到服务器和数据库知识。
计算机理论知识决定了一个程序员的天花板(在国内还得加上英语)。
算法看的是 《算法 4th》这本书,课后习题没作,刷了不到一百道 leetcode 的题。
因为编译原理和计算机原理是看的同一本书《计算机系统要素》,因此就放一块儿说了。
这是本神书,内容通俗易懂,涉及计算机原理、编译原理、部分操做系统知识,每一章后面都有对应的练习,须要你写代码完成。
若是完成了本书全部的项目,你将会得到如下成就:
并且,这本书的门槛很是低,只要你能熟练运用一门编程语言便可。我已经把这本书全部项目都作完了,答案放在 github 上,有兴趣能够看看。
操做系统看了《操做系统导论》以及《深刻理解计算机系统》(这本书更像是计算机导论),而且作了MIT6.828 的项目写了一个简单的操做系统内核。
这是没有作或作了一部分练习的。
计算机理论知识值得每一个程序员都去认真学习。不过,持续学习并非一件容易的事,须要你有坚决的目标和强大的自驱力。若是不想学习,能够看电影玩游戏放松一下,注重劳逸结合,不过也要警戒玩游戏上瘾,这都是血的教训总结出来的。