自學程式總是好發散?AC 校友揭露自學瓶頸與解決之道!

ALPHA Camp 校友 黃駿傑 Richard 大學讀企管系,畢業後從事數位行銷工作,在 2022 年 3 月從 AC 學期 3 課程畢業,4 月中順利獲得日本樂天軟體工程師職缺。以下是他剛加入 AC 時回顧最初自學程式遇到的瓶頸,以及後來在 AC 的收穫與體悟。

已經在要不要轉職的泥坑掙扎好久的我,終於開始了在學習的旅程了!雖然早就習慣跌跌撞撞,職涯打從開始就選了跟街上博士一樣多的行銷,到後來對產品、資料的各種觀望,終於到寫程式的嘗試,中間也撞破了很多人生的擋風玻璃。

雖然從三年前就接觸到了 HTML、CSS 和微微的 JavaScript,也能寫出走在時尚尾端的靜態網站;去年也因為對行銷失去熱情,所以開始接觸在程式麻瓜中討論度最高的 Python。

雖然兩度對程式的接觸都讓我更了解網頁或電腦背後的運作方式,但距離成為軟體工程師感覺還有一個非常高的牆還沒撞破;而自己胡亂自學也找不出打破高牆的辦法,因而萌生了向轉職 Bootcamp 求援的想法。

https://miro.medium.com/max/1400/1*nFqHkhtNnCGcmwnaT0gfOw.png
著名的程式自學週期,那時的我應該還在第一個波鋒

發散:頭洗下去的學習

開始發覺有那面牆的存在後,就更能感受到對職涯的焦慮。在那個焦慮的驅使下,結論是,最後我憑著對產品和程式的熱情,選擇了 ALPHA Camp 當作我的轉職加速器。

AC 是我第一次接觸有完整架構的程式學習課程,有點小顛覆我以往看到什麼就學什麼自學方式。

如果不拿艱澀的程式術語解釋。以往的自學方式大概像是小學二年級的暑假在家自學乘除法,看到乘法後不懂就 Google,結果查到大家都說要背九九乘法表。背起來!

背起來之後、又看到有人說:「其實是世界是加減法所構成的,乘法和除法是人類想出來好使的工具」。然後,我又會想用二年級的腦袋繼續深究下去。當我在探究加減乘除的時候,又看到了有關「為什麼 1 + 1 會等於 2」的討論,於是我就這樣持續發散下去。明明還不會使用乘法這個數學工具,但我就已經在數學博士論文的文字中迷路了,而學習寫程式也跟上面的過程和體悟很像。

以往的自學方式,大部分時間都專注在自己還有什麼沒學,而不是自己現在應該要學什麼。但學習這件事是會讓人上癮的。尤其是知道自己懂了新知,和知道自己還很無知的時候。

想知道自己的程式學習落點?3 分鐘小測驗帶你找到適合的學習路徑

聚焦:衝刺後,煞車急停

開始了 AC 課程後,因為是有架構的課程,所以我能用俯瞰的視角掌握

  1. 現階段自己的能力
  2. 現在該學什麼
  3. 關於額外的知識我現在該挖多深
  4. 當發散過頭時我該如何設定停損點

在課程前期,因為突然進入了一個截然不同的學習框架,所以有時候會跟自己打架,常常疑惑課程給我的知識是不是不夠?我是不是該鑽得更深補足更多的背景知識?

但正因為是有架構的學習,我才可以依據課程學習進度和章節了解到自己大概離 Job Ready 還有多遠,和現在的腦袋大概懂多少東西。

拿剛剛的乘法當例子:與其在茫茫資料海中,想辦法看懂一堆數學公式和觀念。不如先看一下數學課本後面的章節,才發現懂乘法和探討「為什麼 1 + 1 會等於 2」,其實間隔了這麼多的學術差距。所以,當下趕快將自己拉回來,把知識停留在九九乘法表,未來等我當博士的時候就會去探討 1 + 1 = 2 的問題了。

這樣大幅度地調整自己的學習方向和深度,讓我學習進度前進得更快,聚焦在目前該學習的東西,也讓自己少了更多對未知知識的焦慮感。

怎麼自學程式最有效?你必須知道的「學習循環次數」

調整方式:Learning on Demand

在 AC 學期 2–1 課程後,我的學習模式就進一步進化成了 Learning on Demand。跟字面上的解釋一樣,是一種「按需求」的學習方式

當碰到瓶頸或問題時再去尋找資源,但要注意不能讓資源無限延伸,讓自己掉到未知的無底洞而迷失。因為這樣的學習模式,反而無法提升自己的信心。

我再拿數學來解讀 Learning on Demand 的各個階段。

進化前:發散式學習

如果今天我還停留在發散式學習的階段,我會:

自學乘法 -> 查有關乘法的資料 -> 知道要背乘法表 -> 背九九乘法表 -> 再查資料 -> 找到更多資料(腦漿不再流動) -> 找到更多資料 -> 找到更多資料 -> …

在第一次找更多資料的時候,其實此時的知識已經超出我小學二年級腦袋可以理解的範圍了。這非但自己沒學會乘法,也不知道什麼時候才要放手去學下一階段的除法

進化後:Learning on Demand

今天我有意識的使用 Learning on Demand 的學習方式,我會:

自學乘法 -> 查資料 -> 知道要背乘法表 -> 背九九乘法表 -> 學會乘法 -> 找更多資料(超出理解範圍,結束) -> 學會乘法 -> 自學除法 -> …

你看,我不用花更多時間在理解我的小腦袋不懂的東西,我還是能順利學會現在應該要會的乘法,也在最短的時間開啟自學除法的進度了。

下個階段的學習

再來看看套用新學習模式後的我在程式自學週期表的我。

原本的自信心是隨著資源和資訊的增多而驟降,但使用 Learning on Demand、將碰到的問題有順序的一個一個解決後,自信心會隨著解決問題的數量而增加。

對自學艱澀領域知識的自學者來說,這才是最有效的學習方式,想必下個學習階段,我還會碰到更多讓我腦漿停止運作的技術和知識。但搭配有架構的課程和現在更強的自學能力,期望自己可以靠著這個學習框架一路撞倒那個高牆。

https://miro.medium.com/max/1400/1*NSw2zNVya9vkBoxLOiFMSw.png
我的學習 Before 和 After

本文轉載自 AC 校友 Richard 的 Medium