學習中的推與拉

,發表於2017-10-12

昨天讀了池老師的文章《非 CS 專業如何進入網際網路領域》,頗有感觸。

感觸最深的應該是第二點與第三點了。非 CS 專業,歪打正著進入軟體開發行業。由於性格原因,不喜歡直接動手,而是想著把所謂的基礎知識補好再去動手。所以第二點走了很長一段彎路。

第二點說的是先動手快速學會基本技能,獲取第一手的感性認知。為什麼要快速通過這個階段,因為這些都是跨入門檻的基礎啊!有了這些基礎,才有可能進一步往上走,往深處挖。雖然這些看起來出一些瑣碎的小事雜事,但是如果玩的不溜,會影響工作效率。而正因為是一些小事雜事,所以才需要通過大量練習,在短時間內掌握。

現在想來,其實何止換行業是這樣,不如一個新的領域,學習一門新的知識,也是如此。比如我計劃學習 HTTP/2 協議,那麼我選擇先搭建一個支援 HTTP/2 協議的伺服器,在這個基礎上,就可以試驗各種機制。如果抽象的說明難以理解,就可以通過直觀的感性模型來輔助。先構建原型,再通過迭代進行深挖。

在很多技術領域,都有推與拉兩種模型。我想在我們學習的方式上,也存在推與拉這兩種形態。“推”是順序驅動,這也許是我們最為熟悉的一種模式。先學習,後考試,按部就班,逐步深入。而“拉”模式,就是“倒逼”。設定目標,或者激發興趣,主動(也可能是被動)去學習和探索。

我認為“推”與“拉”兩種學習模式,是一直存在在我們的學習、工作和生活中。它們構成了我們學習的兩翼。二者分別是座標軸的橫軸和縱軸,而我們學習的軌跡是座標軸上的一條曲線,每一個區域性片段都可以分解為橫縱兩個方向的向量。橫著不行,就縱著來,反之亦然。

“循序漸進”是教育的不二法則,大體來說,都是由淺入深,由易到難。但是在區域性,是可以推拉並行的,這與“循序漸進”並不矛盾。

理論知識與實踐的關係,也是如此。從來沒有什麼一蹴而就的事情。我們可以先花較短的時間觀其大略,然後通過動手實踐,進行深挖,逐步提升自己的技能。實踐中遇到難以理解的就是看理論,理論上有困惑就去實際驗證一下。

相關文章