學習如何學習
自從脫離學校生活後,我們很少真正的實際運用學校所學,反而要面對更多的新知,此時單純的背誦已經不再是最好的辦法了,應該開始建立自己的學習模式,並且此時的你可以不再受學校拘束的探索你好奇的事物。
建立屬於自己的學習模式的目的在於能夠快速的從你的腦袋裡建立知識網路,並且慢慢修正自己的思維模型,此時該注意的是你能從中獲得什麼可移植的想法,而不只是單純學會,每個想法都有可能成為你面對下一個新知的關鍵知識。
我會分享我面對不同類型的知識所採取的學習策略 (軟體工程為主)。
程式語言
我們常說,學會一個語言再去學其他語言會快很多,我不否認,但我們可以在語言中多拿一點想法走,學一個語言我會希望得到或者知道幾件事:
- 語言如何誕生?
- 語言設計的主軸是什麼?
- 與其他語言最大的區別是什麼?
- 語言內是否有一些好的想法可以移植或模仿?
那我學習的重點有幾項:
- 理解整個生態
- 揣摩思想
- 與現有熟悉語言作比較
- 了解設計上的決策跟取捨
- 找出可移植的想法或設計
框架
框架也是軟體工程必學的一個東西,因為它可以幫你處理掉很多細碎的事務,讓你更專注在邏輯上,而學習一個框架我會想知道幾件事:
- 實際上解決了什麼問題?
- 有沒有什麼核心想法?
- 幫你處理掉了哪些複雜步驟?
而學習的重點是:
- 整個框架的核心想法
- 各個部分的組合跟關係
- 理解框架是如何幫你處理掉你覺得複雜的部分
工具/函式庫
在開發上我們常用許多不同的工具或函式庫來簡化我們的程式碼,這也代表了工具/函式庫通常都是在針對解決某個問題,因此我會先知道幾件事:
- 想要解決什麼問題
- 與其他相同目的工具有什麼區別
- 是否由某個核心思想建構而成
學習重點:
- 了解核心思想
- 從中學習新的技巧
學習
最重要的還是學習如何學習,當你掌握了自己的節奏跟學習心法時,一切事物將變得有趣,即使難度對你而言有點高。
學習如何學習更多是在了解自己的大腦運作模式,所以最需要是時時刻刻觀察自己,大概會有幾項
- 對什麼類型事情最得心應手?
- 從什麼角度切入對你而言是最輕鬆的?
- 你真正想了解的是什麼?
- 你是如何記憶這些資訊的?
- 通常記得最清楚的是哪個部份?
- 你是如何讓整個知識網路更加緊密牢固的?
最後,心一定要靜下來,心不靜的學習並不會給帶來多大的收穫,只會花費更多的時間,心不靜通常有幾個原因
- 你其實沒那麼喜歡做這件事
- 精神狀態不佳
- 目標不夠明確
- 計畫不夠周全
- 你遇到困難了
除了第一項,其他的解決方法是出去走走,或是拋開當下事務靜下來思考,這樣的目的是讓你利用這段時間給自己重新整理,重新擬定計畫、重新定位目標、稍微休息一下,都是你在這段期間可以做的。
結語
也許你還照著學生時期的方法在學習,但這真的適合你嗎?我認為每能夠發揮每個人的潛力的學習模式都不一樣,我們只是從中提取大部分人的共通點而已,但有可能根本不適合你,你有可能發現的早,也有可能發現的晚,但只要你還有一顆學習的心,什麼時候開始都無所謂。
學習如何學習也是認識自我的一個方式,越了解自己,越能從容應對周遭的人事物,然而這是一個無止盡的過程,我也還在持續的努力,我們唯一能做的就是享受那個過程。