顛覆對學習的想像 — AppWorks School iOS Class #4

Francis Tseng
AppWorks School
Published in
9 min readDec 28, 2017
AppWorks School 一隅

Hello,我是 Francis!是 AppWorks School / iOS Class#4 畢業的校友。由於我的經歷跟我身邊的朋友不太相同,常被問到「為什麼不考研究所?」、「 AppWorks School 是什麼啊?跟其他課程差在哪?」等問題,決定打成一篇心得,記錄自己這段故事。

我畢業於中興大學應用數學系,坦白說大學時期並沒有思考未來要做什麼,時間大部分都花在熱音社、玩樂團,體驗所謂的大學生活。而大四時由於畢業時間將近,不得不思考自己的未來時,才驚覺到自己對未來完全沒有掌握。反觀身旁的同學正為了準備研究所不分日夜地念書,這時我很好奇,為什麼大家對自己的未來如此明確,而我卻十分迷惘?很弔詭的是,除了少數真的知道自己要做什麼,大部分的人其實也不知道自己為什麼要準備繼續升學?

「哦,因為他有準備,那我也一起考好了。等研究所畢業後再來想未來要做什麼,應該也不遲吧?」同學 A 指著同學 B 說。

雖然台灣社會普遍認為碩士畢業是基本,大學畢業輸在起跑點,但我當時只是單純的想:如果我對於念研究所這件事沒有熱情,為什麼還要去做呢?

決定不報考研究所後,我開始試著在網路上探索自己可能有興趣的職業,但每種職業都有優缺點,而網路上評價通常對缺點都是放大十倍討論,激進的文字卻讓我產生猶豫、反而越查越不知道自己要的是什麼。這個過程大概歷經兩個月後,我哥把我從這迴圈中拉了出來。

我哥是一名資料分析工程師,大我四歲,常利用下班後、假日透過線上課程進修。

他用語重心長的語氣跟我說:「照你這種找未來目標的方式,給你 10 年都不夠。只是透過網路搜尋蜻蜓點水,都沒有試著去真正接觸任何一個行業,這樣有什麼用?還不如選擇一個可能有興趣的直接花時間研究,就算最後真的沒興趣,至少可以知道這個行業不適合你,絕對比你在這邊蹉跎有效率多了!」

當頭棒喝一番後,我決定從工程師這個職業開始嘗試。原因也只是因為我哥是工程師,遇到問題時或許可以幫忙解答。

Source : http://blog.darkthread.net/post-2015-01-11-startcoding.aspx

透過上圖,因為自己是 iPhone 的使用者,可以了解每天在用的 App 是怎麼被實作的似乎滿有趣,就嘗試了 Swift 語言作為敲門磚。藉由 Coursera、Udemy 等線上課程平台找相關課程學習,而看到自己寫的程式碼實際在手機上執行,對我來說是一件很有成就感的事。

然而跟著線上課程的腳步慢慢摸索指令、語法,雖然有著完成幾個小 App 的成就感,但還是覺得空虛。畢竟只要照著課程的教材走就能做出一樣的東西,其中暸解了幾成連自己都沒有把握。

在某天 google 有關 Swift 的資料時查到了 AppWorks School 的資訊,雖然當時網上資訊不多,但對我來說像是一個天上掉下來的機會,毅然決然報名參加,也幸運錄取了!

遠距預習

收到錄取通知後,緊接著是一個月的遠端自主學習,時間需要自己規劃,只要在規定時間以前上完及繳交作業即可,使用的是 TreeHouse 線上課程平台。原以為我有線上課程的基礎應該能讓遠端學習輕鬆一些,但卻不然。AppWorks School 挑選的課程著重於寫程式的觀念養成而非做出小 App,對於幾乎沒有程式基礎的我來說學起來也是一番波折,遇到問題就是不斷的 google,慢慢建立對 Swift 的認識。

AppWorks School 正式開學啦!第一次完整 iOS 專案開發

完成一個月的閉門造車後終於來到教室認識未來的戰友們,早上稍微認識了大家後下午馬上進入課程,首先先建置 Git,對當時連 Git 跟 Github 都傻傻分不清楚的我來說馬上遇到了瓶頸。

同時,第一個專案也隨之而來,每週進度也已經規劃好擺在那,除了壓力還是壓力。回想起當時看到報名簡介寫著每週 75 小時的學習強度,對我來說投入的時間是遠被低估的。

School 的課程規劃是走專案導向,舉例來說,導師把 UI 先訂好之後,剩下就是自己實作的部分。導師不會一步步帶我們做,而是要我們嘗試實作自己查到的資料。這種教學方法也讓我強化了 google 的能力,遇到任何問題能從網路上更精準地找到我要的資訊。

寫第一個專案的步調相當緊湊,這週的沒做完,下週的又接踵而來,而看到其他同學們超前進度,在討論著我未來可能會遇到的問題,只能逼得自己盡量跟上進度,雖然晚上 6 點就可以離開,很多同學平日晚上跟大部分的假日還是待在 School 繼續學習,不然真的寫不完阿。

23:00 的 AppWorks School…

School 另外一個可貴的地方就是身旁的戰友們。稱為戰友是因為我們不像是一起聽課的同學,而是一起發現問題、遇到問題、討論問題進而解決問題的一群人。在遠端教學那一個月體會到有問題沒人可討論,只能自己苦惱的窘境,正式開課後更珍惜有這群戰友們討論的時間。時常看到一群一群圍在電腦前討論,彼此交換查到的資訊,除了是美好的回憶外也是我們能快速成長的關鍵。

做出屬於自己的 iOS App!

我做的是一款可以記錄地點的記事 App。在這階段,從 UI 設計、進度規劃、App 流程、程式架構、後端資料結構等完整 App 架構都要靠自己完成,再利用 Trello 跑 Scrum 流程,追蹤進度。由於要處理的事情變得更多更雜,每天的負擔比第一階段還要更重一點。但也因為是完全屬於自己的產品,反而能更專注在細節、想辦法讓這產品變得更完整,雖然累但也充實!

第二階段獨立開發上架作品 — Card Your Date!

實作測驗+專題分享+企業參訪

除了上述的兩個大專案,導師也會找時間做三次測驗,針對一些常用的元件以限時考試的方式讓我們認識。而專題分享為導師分組後每組分配一個 iOS 開發裡重要的觀念或主題如:MVC、KVO、GCD 等等主題上台報告。藉由報告、QA 時間讓每個人在短時間內接收到最多資訊,從中討論、吸收。而導師這時會靜靜在旁邊看,若發現台上台下都是錯的或討論到走火入魔(很常發生!!),就會適時出來阻止我們,給我們方向,再繼續討論。

除了 iOS 開發的課程規劃,校長也會安排企業參訪及邀請業界人士來分享他們的觀點,實際到軟體公司走一遭,思考什麼是自己理想的公司環境;從業界人士經驗分享建構自己對軟體業的想法。

結語

在 AppWorks School 這三個月非常充實,除了在程式方面的進步,心智也有所成長。在 School 深刻體會到「被打臉不是一件壞事」。以往害怕提出的論調可能是錯的,說出來會被打臉,而選擇不表達。然而講錯了被打臉,又如何?若因此導正了觀念是多麽寶貴的一件事,反而要感謝願意提出糾正的貴人。因為怕被打臉而不表達意見,錯誤的觀念可能一輩子都無法獲得解答,相當可惜。

而導師就是常常打我們臉的那號人物,在 School 實作導向的規劃下,除了一些經驗分享外,他大部分的時間都不會主動餵東西給我們,而是給我們研究方向或是查詢的關鍵字。一開始相當不適應,跟以往的學習經驗截然不同,但習慣後才發現這樣對我來說才是正確的學習方式!若學習都仰賴一個人帶領,哪一天沒前輩鋪路分享經驗了,是否還能夠繼續學習?

這段期間非常照顧我們的校長 Enid 扮演一個不可或缺的角色。常常我們被難題困住時會覺得自己很弱,為什麼別人學習的速度就是比自己快?而掉到負面情緒的無限迴圈。這時候校長會帶來滿滿的正能量,提醒我們多跟自己比,時不時回頭看看自己的成長,迅速振作起來繼續面對難題。而學期最後的 Hiring Day 也是校長一手策劃,廣邀企業夥伴來 School 找適合的人才。當然,很合理地不是保證就業,但相較於在人力網站茫茫大海中找尋公司,這個活動除了讓我們的履歷能確實被瀏覽,也能與企業在一天內馬拉松式的面試彼此,對雙方而言都是相當有效率的,而我很幸運地在合作夥伴中找到了第一份工作,成為一位 iOS 工程師!

ASiC #4

我也認識了一群對學習充滿熱情的朋友,僅管畢業了還是會分享新學到的知識、打鬧,這種高壓環境下產生的同袍情誼是十分珍貴的。而藉由 School,認識了前幾屆畢業的學長姐,能互相發問、討教,也是意外的收穫。隨著屆數的增加,AppWorks School 會成為一個逐漸壯大的社群,希望未來有更多對學習有熱情的朋友加入,為軟體業注入新血!

ASiC #4 Francis, 2017/11/06

【AppWorks School Batch #12 限時招生中】
AppWorks School 將開設 Android、iOS、Front-End 與 Backend Class 四個不同技能的訓練班次,全程免費,透過線上學習 4 週,駐點集訓 16 週的專案導向訓練,幫助你成為軟體工程師。
歡迎想成為軟體工程師的朋友,把握機會申請,報名到 7/22 23:59 截止喔! https://bit.ly/2BUQmvn

--

--