剛好的可能就是最好的

不知道啥時候起,娃喜歡收藏/集各種卡通貼貼紙,然後就隔三差五地問我:「爸爸,你看到我XX貼貼紙沒?」

這跟我們學習技能、掌握編程方法的過程非常類似,我們總是恨不得把所有知識點都收入囊中,彷彿只有這樣心裡才會踏實些,然而幾個月過後,除了那些常用的技能是真正GET到了,其餘的許多知識點要麼生疏了,要麼乾脆徹底遺忘了。

我也是這樣,一年裡看不少書,但是忘的也多。想到這裡頭就麻了,得好好梳理一下。

首先得承認人的局限性——智力上的、時間上的、精力上的局限性。然後需要有個漸進的過程:

  1. 鬍子眉毛一把抓的階段——學習入門的階段,跌跌撞撞,沒有主線;
  2. 進而是摸到了一點門道的階段,從沒有主心骨到心裡有點底數了,迷迷糊糊的輪廓也開始清晰了;
  3. 重點掌握的階段,知道自己要什麼,什麼是重點,還懂得了怎麼做。

這三個階段中前兩個階段是越短越好,那怎麼越短越好呀?還是得見多識廣才做得到啊?好了,見多識廣就又是要學一大堆東西是不?又回到雞生蛋、蛋生雞的問題了。所以,我覺得學習階段還是得規規矩矩一步一個腳印地打好基礎啊,學習階段的時間本就是該花在學習這事兒上的,急也急不得。所以學校光陰很重要啊,出來工作了時間就不光屬於學習了。

第三個階段,啥是重點?就是你吃飯的本事。其實技能都是外延型的,也就是忘得多的那部分。你說你想多掌握點變得牛一點啊?還說為啥天天做CRUD沒辦法做編譯器呢?我說,唯一能改變你的就是去這樣一個相對應的環境,在實踐中摸爬滾打才能掌握。不然光靠書本知識,是能學到一些東西,但更多還是要靠給你一個這樣的環境。

自己的路走得差不多了,你大可不妨「博覽群書」,不只限於接納和掌握,更多在於興趣和學習時的思考,達到一種「沒吃過豬肉還沒見過豬跑」的目的。這時候的你可能已經大三十幾了......

我把自己掌握的知識點分成三部分:

  1. 直接知識——日常用的,嫻熟的,其實工作只需要這部分就夠了;
  2. 間接知識——感覺有用卻幾乎沒用的,偶爾會用到一兩下的;
  3. 雜項知識——平時純屬嬉笑怒罵好玩型的,就是讓你「見過豬跑」的。

知識多得數不清,每個人都不可能面面俱到,都得在時間上進行平衡。學生你就踏踏實實學基礎;出來混的你就圍繞你的工作掌握好相關技能;有閒情逸緻的就愛幹嘛幹嘛去。如果你對既有環境不中意,則去找你更適合的環境。沒必要太多困惑及恐慌。

在一個時間階段里,塞太多知識也不是好事情,人會淹沒在海量信息里,也許掌握了剛剛好的知識,才是最好的結果。剛剛好了之後,你就可以期待下一個「剛剛好」。所以,應該分時間片階段、動態、有規劃地拓展自己的知識面。

感覺自己也花了不少時間在各種「用不上」的技術上(如Elixir、Idris),但就看個人怎麼看啦?為生存?抑或為興趣?值不值得都是個體自己的判斷。

另外,為自己的知識點做個索引、做個知識庫,是很有必要的,形式可以是代碼、注釋、紙筆、電子筆記等等,多寫多記肯定是好的。

略顯凌亂,自己思路想到哪裡就寫到哪裡。

推薦閱讀:

TAG:學習方法 | 編程學習 |