重拾當軟體工程師的夢,我在 AC 找到的不只是寫程式的熱情與動力!

ALPHA Camp 校友林靜易雖然讀資工系,但大學畢業後沒有往軟體工程師發展,從事教育工作的他是在一次開發小工具的契機中,重拾了對程式的熱愛,開始自學寫網頁,而後受到 AC 校友故事啟發,所以加入 AC 程式獎學金計畫,全心投入轉職學習。(了解 AC 萬元程式獎學金計畫)

透過在 AC 的學習,他才發覺原來有每週進度、系統化的教材,再加上助教的回饋建議,以及同儕之間的觀摩、一起協作專案,能對他的學習產生這麼大的幫助,以下是他的學習歷程分享。

為孩子打造的程式工具,讓我重拾當工程師的夢

我是一位兒童積木程式教育老師,在一年多前因為工作接觸到 PHP 以及 SQL 語法,寫了一個點數加分系統,看到孩子們每次都很開心地拿著自己的樂高小人來感應加分時,那個畫面才讓我意識到:

原來努力做出「讓使用者會心一笑」的產品是多麼地振奮人心!

我就是從那時候開啟網頁自學之路,從網路上找了很多前端開發影片自學,過程中還去寫了 python 後端爬蟲程式,就這樣半年過去了,我回想起當初大學選擇資工的初衷,一路上就是享受著「能夠用自己的雙手打造出各式各樣的小工具」,而不斷地學習有趣的事物。

但因為生活的壓力下,我慢慢地忘卻這種感覺,可是在這半年來,我又重新燃起當時那股衝勁,於是我心中開始有了疑問:「難道我更嚮往成為一名工程師嗎?」

猶豫了幾個月後,看到 ALPHA Camp Blog 分享了學長盧毅從沒有網頁基礎到能夠全端遠距工作的故事,學習過程只花了半年時間。

看到這個小故事後,我完全被點燃了!我回想著自己斷斷續續地學習了這些靜態網頁,不就是希望能夠打造出各式各樣的產品,那為何不讓自己下定決心好好地奮戰一場呢?有了這個想法的一個月後,我決定踏出這一步去擁抱自己的初衷,就這樣來到了 ALPHA Camp。

在 AC 歷經許多的「第一次」

還記得剛加入 AC ,第一次接觸到了 Boostrap、RWD、陣列跌代器、Ajax、express 各種工具框架,大量的資訊一直進入到腦子裡,真讓我有點頭昏腦脹,但還是硬著頭皮衝啦!

我知道自己學習的速度不快,所以一週都分配超過建議的 20 小時來學習,我甚至曾為了學期 2-1 的技術驗收「RGB 選擇器」寫了一整天,才真正內化 DOM 的操作。

撐到學期 2-2 下半,我觀察到很多跟我相同目標的同學們,也正一步步向前邁進,所以雖然學習過程不容易,但我依然堅持著必須跟著每週目標進度,絕對不能半途而廢。

另外,也是因為我加入了 AC 雙打計畫,該計畫除了讓同學能以較優惠的價格一次報名完每學期課程,還有提供「結業挑戰」,只要每學期課程準時完課、持續學習到學期三畢業,就能領取到一筆結業獎學金

我覺得獎學金是一個催化劑,能讓目標明確但遲遲不敢邁進的人,勇敢放手一搏。

說實在話,就是砸下重本(因為一次報名完後續的課程),沒有退路,就會積極向前衝!每一個學期時,都會提醒自己有獎學金驗收標準要完成,絕不能讓自己怠慢下來,遇到困難時態度就會更加積極。

我該選擇前端還是後端?感謝教練一句話點醒了我

到了學期 2-3 要選擇前端或後端當主修時,又到了我內心掙扎的時刻,因為我發現自己很喜歡前端畫面即時動態的回饋,而且也對一些蛛絲馬跡細節很龜毛,但一方面又想到自己很喜歡玩 google sheet 做一些小公式讓資料計算成想要呈現的結果,所以好像也很適合走後端。

當時苦思了一兩天,還是沒答案,深怕自己選錯人生,就在苦惱之時,我看到 AC 教練在教案最後寫的話,瞬間化解我心中的焦慮:

「職涯是條不斷變動的判斷,沒有絕對正確的選擇,只有持續地探索與嘗試 」

於是,當時天真的我跟自己說:「小朋友才做選擇,我全都要啊!」就決先主修後端認識資料的來源,之後再慢慢入侵到前端吧。

所以在學期 2-3 ,我學到了關於後端 nodejs、express 框架、mongoDB & CRUD 資料庫操作、Heroku 雲端佈署各式各樣的新技術,說真的教案真的做得很不錯,針對有些版本已更新,都會引導我們去找到最新的正確資訊。

想知道適合自己的程式學習起點是?馬上做 3 分鐘選課小測驗

終於來到最後一個階段學期三大魔王

到了學期 3 ,是最辛苦的一個階段了,短時間內更深入地學習了認證機制、非同步概念,關聯式資料庫 SQL 等多項後端核心技術。

這過程中有許多「引導式教案」會手把手帶著我們前進,但也是有需要「從無到有親手打造產品」,其中最印象深刻就是「老爸的私房錢」了。

「老爸的私房錢」是我最賣力去做的個人作品,作業要求是要達到業界設計產品一樣的規格,有提供三張畫面設計稿,並敘述了 User Story 讓我們去揣摩程式的運作方式。因為我主修後端之後,基本上很少在前端畫面上著墨,所以光是前半段切版就下了很大一番功夫,腦細胞就快要沒了。

製作過程我一直在思考,如果今天我是使用者,我希望有什麼功能可以使用,我希望看起來的感覺是怎樣,能不能夠讓我在手機上也能完整體驗,甚至我會一直拿去叫朋友幫我試玩回饋一些建議,也因此慢慢地補足小細節。

這作品讓我覺得頗有難度的地方是「類別選項」,因為我希望其中的項目能夠依據資料的變化而動態改變,讓使用者體驗更順暢,再加上當時還是使用 mongoDB 對於資料的關聯、過濾的技巧還不熟練,所以耗費大量地精力去解決一些邏輯問題,還好最後成功把功能都完成了,覺得超有成就感的!

學期三專案「老爸的私房錢」,AC 帶著我們親手打造產品

學期三還有個最重要的協作專案 「Simple Twitter」,很難得有機會和同學一起合作完成這個畢業專案。

過程中我們彼此互相包容,適應彼此的開發習慣,發揮各自專長,是個非常愉快的合作經驗。

當然也有許多很挑戰的地方,像是「開發時程的限制」,我們到了結案前一晚才完全搞定程式漏洞去交稿,還有看到隊友很猛的時候,會覺得自己很弱小,需要時時刻刻調整心態,放下身段去請教,總而言之,透過這次協作經驗,我認為自己還有很多進步空間。

原來學習中有人回饋、交流的感覺這麼棒!

能夠堅持到從 AC 畢業,我認為動力的來源不僅僅只是因為「喜歡寫程式」。

更多的是一種被認同感,尤其是助教經常能夠點破我的盲點,還有給予作品評價,都是支持我的動力來源,我也很喜歡同學給我作品的回饋,即便只是一句讚美都能讓我開心一整天能量滿滿。

而每次遇到瓶頸時,觀摩同學作品的機制讓我得到了不少的啟發,是個非常重要的動力關鍵。

更深入了解在 AC 的學習體驗:教練、助教與學習社群是多麽強大

回首看這半年以來,我在 AC 學到了些什麼?

除了累積技術,我特別有感這 5 件事,感覺自己越來越能像工程師一樣地思考。

寫技術部落格

以前我只會做筆記,完全不了解原來「知識內化」不只需要輸入,更需要「輸出」,才能夠「真正的學會」。而這也能幫助未來的自己回顧每個時期狀態,以及再次重拾對於某技術的記憶,甚至能幫助到有需要的人!

監督學習進度

因為 AC 教案設計有明確的週進度,讓我開始學習規畫自己每週時間分配,以及督促自己趕上進度。

學會自我檢視,主動意識到自己的處境

我以前會為了研究一項技術,不小心就埋頭深掘,一旦不小心進入了心流模式時間就會飛逝,而且成效未必很好。而在 AC 我慢慢地嗅到了一些學習技巧,需要先有全觀的理解,再逐步去單一突破,這樣才會知道學習過程中缺乏的部分。

學會尋找資源

這點真的成為工程師最重要也最需要的技能了,像是我這半年以來都有在研究爬蟲,就發現臉書其實有開放 API 可以直接取得資料,當時跟著網路上資源也完全沒辦法理解的文件,現在我竟然全部都看得懂了!超開心的!

和他人合作,並放下成見、接納不同的想法

這件事情很不容易,我們常會因為看見別人很厲害,而貶低自己,還好 AC 一直提醒我們要放寬心,試著去理解為什麼別人可以做到,再回過頭來慢慢地調整自己,才能一步一步地往上爬。

12 週建立前後端 web app 開發能力,掌握網頁開發

保持學習心態,持續成長

很感謝半年前自己做了這個選擇,才有了現在的經歷與能力,我很相信這些能力在未來會是一項強而有力的武器,也期許自己未來在工程師之路,能夠時時刻刻保持著現在的學習心態,努力茁壯。

也很感謝 AC 提供的獎學金,每學期獎學金驗收的提醒,讓我覺得就像在解任務,很清楚知道每一關的時間限制,不斷地破關,打敗最終魔王後,現在可以好好地獎勵自己,吃一頓大餐了!

本文轉載自靜易的部落格