今天寫下這篇文章,是爲了對這三年的工做和學習作一個總結。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 的項目寫了一個簡單的操做系統內核。
這是沒有作或作了一部分練習的。
計算機理論知識值得每一個程序員都去認真學習。不過,持續學習並非一件容易的事,須要你有堅決的目標和強大的自驅力。若是不想學習,能夠看電影玩遊戲放鬆一下,注重勞逸結合,不過也要警戒玩遊戲上癮,這都是血的教訓總結出來的。