Seijo 畢業於日文系,為了解決工作上的問題而開始學程式。在 AC 完成 3 個學期課程後,目前順利拿到軟體工程師的 offer。回顧從 0 到 1 的學習旅程,她深刻地分享了適應挫敗感而成長,與用正面的心態面對「從模仿開始學習」、「專注在學習累積而非糾結在花費時間」的過程。Seijo 在自己的努力與 AC 教練鼓勵與支持下完成學習,讓自己的人生有了更多的可能性。
學習程式的起點與挑戰
我從學生時代到出社會,由於五專、大學時期主修是日文,再加上本身也很喜歡日本文化,因此大部分的時間都在跟日文打交道。
唯一與程式沾上邊的課程,是大學通識課計算機概論。而且還因為不太感興趣,大部分上課的時間都在放空。當時在課堂上放空的我,絕對想像不到多年後,自己正朝著程式開發這個領域努力前進。
最初以學習技能解決工作上的問題為目標,我報名了 ALPHA Camp 課程,開啟網頁開發學習之旅。一路從學期 1、學期 2 (有 2–1、2–2、2–3 共 3 個階段) 上到學期 3。這段過程並不輕鬆,更可以說在大部分時間裡,都是充滿著挫折與自我懷疑的。
回顧這半年自學程式的過程,用一句話總結就是:不斷挑戰和突破極限。然而,這一路支撐自己走下來的,是每次克服問題時的成就感、不願服輸的念頭。再來,就是感謝 AC 的教練和助教們擔任我的領航員,陪著我乘風破浪。
由於在學習的過程中挫敗感太強烈,我還跑去 google 關鍵字:為什麼學程式這麼難,找到〈為什麼成為一名工程師這麼難〉這篇文章。文章分享了學習程式的 4 個階段,原來挫敗感是學習程式的必經之路,我心有戚戚焉,也發現原來自己並不孤單。
無論你是零基礎小白或略懂程式,想轉職軟體工程師,3 分鐘小測驗找到你的學習起點
學期 1:點燃學程式的興趣
這個階段,學習到前端 3 巨頭 JavaScript、HTML、CSS 最基礎的概念和應用,初步體驗到:什麼是透過程式碼讓電腦作業,並且看到頁面的呈現。
過程中,觸發了我對寫程式的興趣,覺得寫程式好像也沒有那麼難!?
學期 2:開始爬上陡坡
這個學期分成 3 個階段:2–1、2–2、2–3。從快樂的學期 1 進入到學期 2,這段坡比想像中的陡峭。
經歷了多道讓內心崩潰的關卡,調適了心態和學習方式後,才闖關成功。
學習方式的轉變:觀摩,是作弊嗎?
學習過程中,經常發生想破了頭,但作業還是寫不出來的狀況。
此時,時常需要觀摩 Model Answer 和同學的作業,才能找到解法。但總是覺得,靠著觀摩完成的作業不是自己的。強烈地懷疑,自己是不是沒有學習程式的天分,也沒辦法靠自己完成作業?
雖然課程中,一直強調觀摩的重要性,但我的心態還是轉不過來。直到後來在寫作業的過程中,發現原本靠觀摩才解決的 bug,再次遇到時卻能自己解決時,才開始能用比較正面的心態看待「觀摩」。
的確,沒有人先天就具備某項技能的。以嬰兒牙牙學語的過程來說,最初也是先靠模仿而開始。
模仿,是學習的第一步。熟練、內化後,才有可能創新。所以觀摩是必需的,也是必要的。透過觀摩,還能學習到不同的解題方式。
條條大路通羅馬,不同的路有各自的好與壞。從觀摩中理解他人的邏輯思維,當自己之後再遇到類似的場景,就會知道如何選擇適合的方法。
學習心態的調整:關注成果,非花費時間
在這段學習旅程中,最讓我感到壓力的事情是:花費很多時間,才能了解課程內容和完成作業。
過去,我總會以花費的時間,來評斷與做為自己學習能力的標準。每當我花費太多時間在了解一個觀念或作業時,就會因為覺得自己能力不足,而感受到很大的挫折感。
這份挫折感,其實從學期 2–1,就一路跟著我到了學期 2–3。在決定是否開始學期 3 時,我因為這份挫折感怯步了。自己要不要先回頭複習之前的課程,等更熟練之後,再來開始學期 3 呢?
學期 3 的結業作業,是多人協作的專案,要在 2 週內要完成一個類似 Twitter 功能的網站。由於是多人協作,因此很擔心在自己能力不足的狀況下會拖隊友的後腿。另外一方面也感受到自己的極限,覺得跟別人相比,自己總會花費很多時間在理解課程內容和完成作業上。
因為害怕,我萌生了「學習能力這麼差,應該要先把之前的課程重新複習一次再進到下一階段」的念頭,這個看似衛冕堂皇、實則帶有逃避心理的想法。
煩惱許久,決定寫信尋求 AC 教練團隊的協助。很謝謝 Dan 教練聽我在學習上遇到的困難和煩惱,並且給了許多建議和學習方向。其中幫助我最大的就是,教練告訴我,雖然可能花費了不少的時間,但是重要的是我學會了。
一語驚醒夢中人。回顧這段學習的過程,我學會了很多原本我不會的技術、觀念,也正在拓展舒適圈。這個過程需要花費時間、感到痛苦是很正常的。與其去想做不到,我決定不逃避,調整學習心態,將關注點放在學習成果,正面迎擊學期 3 帶來的苦與痛。
學習教練是什麼?怎麼幫助學生克服學習的關卡與建立迎接挑戰的信心?
學期 3:多人協作專案與準備求職
這是 AC 課程的最後一哩路,同時也是「天堂路」。
這學期著重在培養一位 Junior 工程師應該要有的基本技能和素養。6 週的課程和 2 週的多人協作專案,從 0 到 1 開發一個類似 Twitter 的網站。
課程的安排非常緊湊,稍有鬆懈就會掉鏈子。除了技術外,更是考驗了溝通和團隊合作的能力。
Twitter 專案在做什麼?如何累積多人協作經驗,在面試展現團隊協作能力?
進入學期 3,同時也代表即將進入令人感到焦慮的求職環節。每週,我也會固定播出一些時間準備 AC 提供的面試考古題。
由於考古題很多,再加上想要練習如何將自己理解的觀念、技術用口語表達,因此我在 AC Discord 共學社群中發起讀書會,尋找有共同目標,能夠一起準備考古題的夥伴。很幸運的,順利找到3位志同道合的讀書會夥伴,並且每週固定安排 1 小時討論考古題。
結語
從 0 到 1 自學程式的過程,充斥了各種挫折和無數次想放棄的念頭。我很感謝自己每當感受到極限時,依舊持續堅持、努力突破,也從中體會到:
學習沒有天花板。感受到的自己的極限,其實是一種成長的痛。正面看待這個過程,並持續努力、堅持,就一定會有收穫。
最後,也深深地感謝 AC 的教練和助教們的陪伴和指導,以及循序漸進的課程安排。
下定決心認真學習寫程式之後,我發現除了日文以外,有了更多其他的可能性。
常說,師父領進門,修行在個人。雖然 AC 的課程告一段落,但這不是學習的終點,而是另一個起點。接下來,即將面對更多挑戰。期許自己持續保持學習熱誠,關關難過、關關過!克服成長帶來的苦、收割成長帶來的果實。