進到好想工作室的契機
碩士畢業那年,我的人生有三個方向:
- 公務員
- 工程師
- 音樂人
第一個選項大概是父母期望的標準選項,或在經濟蕭條年代,大家僅求溫飽的職業。也是我在碩士畢業後大部分的人會建議走的選項,畢竟我是讀政治與公共行政領域的。
但,我想要的人生並不是這樣的。朝九晚五機械到死掉。
第二個選項是另一種奇特的夢想。
碩畢的時候因為寫了Python,覺得寫程式有趣,後來摸索一陣子後,在畢業前夕瘋狂的找資源,結果就找到了好想工作室,先面試BackEnd Camp,然後居然就錄取了,但我後來摸索一陣子後,覺得iOSCamp比較吸引我,一方面是比較想先做畫面的東西,所以就先學iOS。
第三個選項是笑話,至少在我的鼓手老師面前吧。
他說音樂人至少也要會個四項樂器吧(他會用幾乎整個Band的樂器、出身音樂世家…然後再加上絕對音感),抱歉……我只會打爵士鼓,我到底是什麼東西啊。
於是面完試iOS之後,也算了一下自己手頭上的積蓄,覺得還可以應付六個月的開支,就出發台南,找好租屋處、開始學習。
不過,如果要說起我在這六個月之中,到底做了些什麼,或許下面切實地記錄了一些點點滴滴。

第一個月:讀,但不確定怎麼用
第一個月的時候,恰巧遇到了疫情。
於是一切的自學就從家裡開始,讀著語法,偶爾會覺得自己是不是不確定自己在幹嘛,但還是希望自己是努力的,於是學員時期就在Medium上留下了每天三篇的語法文章,但偷偷告訴你,在踏進實作時,我到底有沒有懂語法在做些什麼?這就有趣了。
於是第一個月要進到尾聲時,我也把所有的語法都讀過一遍了。
然後進到實作,先是做了滑桿打折計算機。
第二個月初寫完了tableView為主要使用的toDoList
抄Code
但這個時期,我想我能做的事情,就是抄別人寫的程式碼。到處去看看別人寫的程式碼長怎樣,不過,我想這個過程就是理解,然後和以前自學的Swift語法進行對照。
學習習慣
這個時候,還是很依賴過往的學習習慣:使用中文閱讀,而非英文。
這個時期還包含著許多不成熟的查資料習慣:有些棄用的物件、方法、屬性還會去嘗試的用。後來當然被我家Mentor在Code Review的時候叫去罵。

第三個月:鬧鐘與重構的鬧鐘
鬧鐘是我在踏進實作中最久的一次,那個時候在讀OOP(物件導向),雖然知道要用MVC把鬧鐘拆開,讓程式碼的在每個CocoaTouch中變少。但其實不是很懂class封裝物件的概念,最終在傳值的delegate出烏龍,不知道到底實體到底是什麼。
第四個月:天氣API
天氣API是學習Get API的途徑之一,從設定資料結構開始、UISession來做Get、JsonDecoder,這些東西加起來後,才真正的把天氣API做完。
然後一樣利用SearchViewController進行搜尋Get的資料
第五個月:
開始學會使用第三方套件去取代UIKit,比如像是Snapkit取代原生的AutoLayout,還有像是KingFisher去下載圖片。
SideProject的團隊也在這個時候組成,工作室的環境其實就是一個co-working space,學員就是在這個時候會碰撞出任何的可能性。
糙Code
「我可能會這樣寫,但不會是最佳解。」這是我在第七、八個月時領悟到的程式自學心得。越要接近可能的完美,只有繼續學習知識。

絕望之谷
在第五個月到第六個月的時候,我陷入了「達克曲線」的絕望之谷,我認為自己什麼都不會,自己寫不出任何東西。
大概也是那天,我開始回復我之前熱愛的事情:重量訓練、爵士鼓。
其實遇到絕望的時候也不要太緊張,就是按部就班的繼續自學,繼續累積知識,保持自己前進的節奏。
對於後來的我看著現在的自己,我就是這樣的告訴自己。
給想自學程式的人的建議
- 評估「資源」
什麼是資源?如果你想要靠自學成為工程師,那你會怎麼去想像你需要什麼來達成「成為工程師」的這一件事情呢?
對於剛開始學習程式的我,我想到的就是「快速又省錢」。大概估狗了一圈,你就會先在網路上找到民間補習班、資策會、AppWorks School…etc。
每個人都有每個人的選擇。最後我決定去「好想工作室」。
2. RoadMap
如果以目前我所接觸到的軟體工程,無論是Web前端、Mobile前端、Back-End,都有著所謂的學習地圖,當你先了解一個學門就是要學會這些東西的時候,就會開始去衡量自己要選擇哪一個專長。
這個連結可以看看:關於軟體工程工作一個還不錯的Reference
3. 意志力、熱情、時間
如果以第一點來說,我的資源就是所謂的「空間、環境」,那第二點的RoadMap學習地圖就是所謂的方向,自己應該朝著怎麼樣的方向前進。
而在前面兩點之外的,我想就是百分之百的「自己」了。自己對於程式學習的意志力、熱情,還有所有的「時間」。

尾聲:不用太在意其他人的評價。
其實在自學的過程,會有蠻多不同的聲音,大部分的人會告訴你你做不到,或是恥笑你做夢,但通常只要記住一句話:「戲棚下站久就你的」。
記住這句話就夠用了。
希望大家在成為工程師的路上除了努力,還有找工作時那從未缺席的運氣。
我是MJ,是一名iOS工程師。