以前很早就有耳聞過一個名叫John Washam
的外國小哥自學編程的勵志故事,還曾一度登上GitHub熱度榜。git
他爲了讓本身從一個非CS科班的自學黨蛻變成Google的軟件工程師,天天堅持自學8~12
小時,持續了數月以後,他如願以償,成爲了一名大廠軟件開發工程師。程序員
重點是這位小哥也樂於分享,他將本身成爲一個軟件工程師的學習歷程整理成了一個豐富的GitHub資源倉庫並開源了出來(github.com/jwasham/coding-interview-university),並且一度被稱爲GitHub上最勵志的計算機自學教程!github
昨天進去又看了一眼,好傢伙,截止到目前爲止狂砍了171k+
的Star,嚇得我啪的一下當場就獻上了膝蓋,很快啊!面試
要不說開源項目的魅力大呢,有衆多開源愛好者參與進來將這份學習筆記翻譯成了不少語言的版本,其中就包括簡體中文。算法
仔細看了一下這份自學主題清單你就會發現,內容涵蓋的東西可真很多,好比:編程
除了這些以外,這份自學清單甚至還涉及到有關計算機硬件基礎、信息論、密碼學、計算機安全、信號處理、離散數學、機率論、計算機領域經典論文等一系列內容,能夠說很是硬核了。設計模式
看完以後,除了領略到了做者這份硬核學習主題清單自己的技術內容以外,更讓我產生共鳴的是他的學習態度和學習方法,這也是我體會最深的一個點。安全
平日裏跟不少小夥伴也探討過各類關於學習方法的問題。關於自學編程,本身也是踩着坑一步一步過來的。我我的到如今依然最堅信的一點那就是:學習不在入,而在出。網絡
什麼意思呢?數據結構
不少人在自學的過程當中老是會在乎本身看了多少書,聽了多少視頻,刷了多少題目,彷佛這些纔是衡量本身是否真正學會某項技術點的標準。
然而必需要明確的是,其實它們只是得到知識的一種途徑而已,並不是最終目的。看了這麼多資料,刷了這麼多題目,到底有多少是本身真正融會貫通,並轉化成自身能力的提升呢?
若是僅僅爲了作而作,而把本身陷入一種忙碌的假象之中,這反而成了你們所說的僞勤奮了。把本身弄得很累,但卻未能嚐到真正提高技能的甜蜜點,這多是你我曾經所共有的感覺。
因此接下來聊聊幾點小想法吧,我的在過去的時間裏不斷嘗試和執行,感受對本身的幫助仍是挺大的。
動手學習以前作好學習路線的全局規劃十分重要,看書、刷題不是最終目的,最終仍是要關注本身知識體系的造成。
不作規劃,上來就一頭扎進知識的海洋每每會讓人迷失自我。我發現一個廣泛問題(固然也包括我本身),其實你們在學習過程當中的最痛點每每不在於說具體某一項技術該怎麼學,這個不是最痛點。最痛點每每在於不少人對於其想學的某個技術(崗位)方向,並無一個技術點上的宏觀視角。
身處其中而不知所向,我以爲這是我的自學道路上最大的惡意!沒提早作好規劃一頭扎進去,長此以往會很容易被各類內部或外部的因素給勸退。東一榔頭西一棒子早晚會把本身的學習熱情給澆滅。
實時洞察本身位於學習路徑中的位置我以爲仍是挺重要的,一來方便本身掌控時間和效率,另外也能夠增長本身的得到感與成就感,學習有奔頭也很重要不是嗎?
就像去一個地方旅遊咱們都習慣拍照留念同樣,在學習過程當中遇到的每個困難,踩過的每個坑,留下的每一點感想,得到的每個成就,都值得被記錄下來。
我的博客、電子筆記、GitHub倉庫、Wiki文檔,我以爲都是很是不錯的方式,不可能有白走的路,凡事過往,皆爲財富。
隨着時間的積累,這將是一筆寶貴的資源,這也將見證着本身的學習之路,上面的這位小哥不也是這麼作的嗎?
不知道你們有沒有這種感受,有時候某些知識非得回爐重造個幾回才能在後面某一時刻忽然有了一種打通任督二脈的感受,就像這位小夥伴所說的:
說實話,我也很迷戀這種感受。
看了再多本書其實也檢驗不了本身是否真正學會了某項技術,而只有能從本身口中或者筆下所能清晰表達出來的知識才真正屬於本身。
用本身的語言或者思惟導圖把所學知識整理成文、梳理成圖,這樣也方便本身後續的複習和回顧。
另最近花了大把力氣,把自用的編程學習資源作了個大整理。
都是純肝貨,目錄以下。
該內容 GitHub https://github.com/rd2coding/Road2Coding 已經收錄,裏面還有我整理的6大編程方向的自學路線+知識點大梳理、個人簡歷、面試考點、幾本硬核pdf筆記,以及個人程序員人生,歡迎star。
整理不易,歡迎支持,下期見!