重新投入學習程式前的心路歷程:ALPHA Camp全端網路開發學期前課程心得(第一部分,背景:前傳?)
後記:先來個謎因(meme)自首:「辣篇心得或許會遲到,但絕不會缺席」。原本我打算簡單寫交差就好,把開始學習前的心得與學期一二放在同一篇,但後來覺得這樣篇幅太長,乾脆每一部分單獨成篇,未來比較好分類,也好湊文章數(X)。
認真開始學程式快一年了,儘管早一再被提醒要寫東西紀錄在學習部落格,內心仍卡著一堵堵障礙,直到隨著課程進展到某個階段、心理冒出來某個想法而豁然開朗,從而這篇心得得以補交。一方面固然是得完成期末考來正式結算進度,另一面也是個人學習思路總算有所轉變,在這網站預定用”5W1H”(其實是剛好想到)來自我分析,從當初為何(why)會想轉職、如何(how)從學期一發現興趣,以及在學期二是什麼(what)經歷確立方向,先這三個部分來談我的前期學習歷程;沒意外的話,後面先預訂則以學期三前後端位置轉換(where)、學期四多人協作開發(who)與畢業後傳求職時程(when),三個階段寫齊新的部分,形成六部曲的概念(?)。
定向:三過其門而”blue”後的「砍掉重練」
早在唸大學,甚至高中時有過「一念之差」的話,我就不用繞了五年、十年才回頭認真學程式?
我曾有過三次入門寫程式的機遇,第一次是在高中資訊課被迫學C++,但因當時和多數同學一樣,覺得根本是在沉重的課業外加大麻煩,在未能建立興趣的情況下同經補考後才過關。學期結束後,除了對常忘記很麻煩的編譯(compile)、感覺很複雜的迴圈(loop)、沒有說明但必要的代碼有印象,其他根本搞不清楚的其他東西考完都還給老師了。
第二次,則是在大學念地理系的地理資訊系統(GIS)相關選修課接觸到(舊版的)Visual Basic(VB),儘管當時覺得語法好像比天殺的C++簡單,且可以製作圖形化介面(GUI),但那時的上課重點只有跟著老師做出特定功能的步驟,沒多介紹各類語法與工具的廣泛應用,只覺得花老半天堆砌老師的程式碼,不如使用現成應用程式又快又好,後隨期末作業交出後,除了還記得怎麼拉介面也都是忘光光。儘管後來很多老師和學長姊提到,如果未來想到地理資訊領域求職最好要會寫程式,但因當時自己對人文社會的學術研究更有興趣便未加理會。結果,二次求學期間與程式設計的邂逅,都以「從入門到放棄(梗圖)」而終。
第三波學習浪潮:重新設定方向、選擇形式、開始執行!
然則,也許「出來混遲早要還的」,待到研究所畢業、退役後找第一份工作失利,原本投入過的領域不是沒有機會、學得不夠深入、不確定有興趣延伸,正陷入被家人與親戚說服要不要為了「保障不會失業」去考國考的憂鬱情緒時,偶然看到就業服務站有提供「網頁程式設計」的課程簡章,這回才讓我興起乾脆學習新技能「砍掉重練」的念頭,窩在家理開始瘋狂查詢關於學程式轉職的訊息,並先後找到四個足以決定我日後學習方向的連結。
首先是這張指引程式學習方向的地圖(英文原圖連結),它引導我先從較泛用的Python開始,找免費的Udacity 課程試水溫,經過一二周的瀏覽,儘管才看過簡單的指令、變數與運算,卻驚覺自己過去其實沒有「用正確的方式打開」學習程式的第一步:了解為何要學程式,從簡單的語言開始了解架構,以開始建立持續投入的動機。
最後便是決定要選擇什麼樣的學習目標與形式,幫助我做決定的最重要是二篇非典型文組生轉職文,前者學科背景與我較類似,且具體建議走網路開發較有求職機會,後者則是對我選擇課程類型時有更明確指引。由於當時仍不敢貿然全職投入,打算先以過去學經歷,找個教育學術單位的助理工作,走「進可攻,退可守」的「半工半讀」步調,更加確定要轉職的話可以漸進地繼續新進度,萬一又想放棄的話至少還有現有工作,多方考量後的結果剛好就是二篇都有提到,同時具備線上時空自由與培訓班進度規劃的──ALPHA Camp全端網路開發課程!(剛好是第「五」個連結,又是像挖一篇業配的坑?)