iOS | 跨越科系限制,成為軟體工程師——寫在分享會之前

Nia Fan
Now I’m Again
Published in
8 min readSep 10, 2019

--

猶記得去年的五月十七日,匆忙地從公司下班,搭著六點多的小巴轉到市政府捷運站,忐忑的心參加著第七屆招生的行前說明會,留到分享會後,和校長和講者們詢問著自己究竟是否要嘗試看看寫程式這條路。

時間說快不快,一年多後的現在,居然也換我有機會能夠上台和大家分享關於轉職和工程師之路。

在此之前,還先用 Instagram 發問大家會好奇什麼問題,根據大家的問題恰好將分享主軸分成四個部分:學習程式 v.s. 學科背景、自學者經歷、在 School 的生活、工作之後。

Photo by Chromatograph on Unsplash

寫程式是否需要理科背景

無論是開始接觸程式、學習過程中以及面試時不斷被詢問的課題。

「校長,雖然我是中文系,你覺得我有沒有可能轉職寫程式……」

在分享會後,我有些膽怯的問了 Enid。

AppWorks School 截至 2018 年的畢業校友科系分佈。參考來源: AppWorks 官網

「過去也有許多不同科系的學員參與 School,我們在挑選人也不僅是根據科系去做挑選,最重要的還是你對學習程式有多少的熱忱。」

還記得當初 Enid 是這麼回答我。

「那妳覺得身為文組生,訓練邏輯是否會比較弱?妳會怎麼補強或解決?」

在練習模擬面試時,學姊看完我的履歷丟出這個問題。當下真的是腦筋一片空白,越講越心虛,自己不知不覺又落入文組生的框架。

「如果你未來的同事都是資工相關科系背景,你覺得在工作上會有什麼挑戰?你覺得自己有什麼獨特的優勢?」

在進入現在公司前,技術長問了我這個問題。

工作一段時間後,陸續發現很多強者也不是本科系出身,憑藉著他們自身對於程式的熱愛,會花大量的時間不斷自學精進,更何況現在線上資源豐富,自學程式風氣盛行、社群網絡也益加緊密,科系相較起來真的沒那麼重要。

因此,我建議如果對於寫程式好奇,不妨試著找些基礎的資源來玩看看,不要將科系做為自我的限制。

「我明白本科系是透過許多紮實的訓練所奠定而成,現在的我相較本科生就像入門的初心者一樣,但我會努力一步一腳印的練習,不斷學習和精進自己,克服一個個難關;而我自己過去有許多團隊合作的經驗,若有需要跨團隊的合作時,我很樂意擔任溝通這個角色。」

帶著一股初生之犢不畏虎的熱情,回答了技術長的疑問。

Photo by Steinar Engeland on Unsplash

自學經歷

比起許多人有先嘗試使用線上資源自學,我第一次接觸 Swift ,就是遠端教學的第一天。

每週 5 -6 部影片,每部 40 分鐘到 2 小時不等,官網資訊寫著「每週約 15–20 小時的學習量」,我卻是每天都花了至少 8 — 10小時坐在電腦前,看完一遍影片、看不懂、再看一遍,反覆看了好幾遍,好不容易抓到感覺了,打開作業練習題……看起來很類似卻無法舉一反三的應用。

在第二週就感到痛苦無比,儘管導師 Luke 在 Slack 溫馨地提醒大家可以發問,但我的問題就是排山倒海而來,前一週還沒吸收完,下個進度再不動工就來不及,連問題該怎麼問都不知道,非常挫折。

還好,這些疑難雜症在駐點後漸漸改善,詢問身邊的同學們,互助找到答案,再真的不行,就 call out 導師…… 學習程式的瓶頸逐漸消弭。

因此,我強烈地建議,如果對學習程式有興趣,可以先從線上資源著手:

如果是完全沒有接觸過任何程式語言的人,推薦可以前兩個著手,比起瞭解「物件導向原理」,手把手的專案實作,相較起來比較容易獲得成就感。

待透過練習培養對程式的基本興趣後,可以再參考官方文件去瞭解基本原理,像是 class, struct、試著寫看看偏邏輯類的 for 迴圈運算。

對自學來說,最痛苦的就是沒有人可以問,Google 大神、StackOverFlow 、線上論壇或社團都將是你的解藥。(延伸閱讀:校正 3 個心態,跨越自學程式門檻

當然,覺得自己相當幸運,能夠申請到 AppWorks School,將自學的痛苦降到最低。

Photo by Helloquence on Unsplash

在 School 的生活

在之前的文章 iOS|這只是開始 · AppWorks School ,有將各階段的學習規劃大致上簡介,在此就先不贅述。

透過各階段的訓練,我覺得在 School 的核心是累積與培養解決問題的能力

而 School 也提供了最珍貴的資產——「人」。

  • 陪你一起練功、解 bug、講屁話的好同學們
  • 適時指點迷津的導師們與校長
  • 前人種樹、後人乘涼,強大的校友圈

在畢業後,仍有分享會和技術讀書會交流,讓你在學習程式的路上不孤單。

每屆都有的校友回娘家 ❤️

畢業之後,工作之前

四個多月的學習,最後目標就是要找到軟體工程師的工作。

在經歷一個半月的面試期,投遞 40 封履歷、19 家面試,最後拿到 4 個 offer。(延伸閱讀:求職|轉職工程師之面試心路歷程

相較之前面試公關行銷類,不得不說軟體工程師的面試非常看重技術,白板題、演算法和 Live coding 都經歷過,最長的一場面試還經歷了四個多小時……

這些都是在選擇轉職前的我所未曾想過的,建議若想下定決心以軟體工程師為目標,可以多到 104, Yourator, CakeResume 等網站瀏覽軟體工程師的工作描述(Job Description),更能瞭解工作內容與條件要求。

附上我們公司在 Yourator 的 JB 做為參考

工作之後

不知不覺,成為 iOS 工程師也八個月了,比起以前的公關加班生活,現在生活日趨規律平穩,比起在 School 生活,也多了一點對軟工的體悟。

@ School

密集開發與時間壓力,常常都是能動就好,有空再重構(但很難有空 XD)

對於學習的態度有時會囫圇吞棗、不求甚解,施了小聰明、自以為繞過難關,但同時也欠下更多的技術債,越來越大洞。

@ Work

由於是開發公司產品,長期維護開發更為重要,所以比起很快做出功能,會更在意程式碼是否可以模組化以及再使用。

同時,學習多看官方文件(WWDC, Document),並且把過去所缺乏的基礎知識如演算法、資料結構等補強,簡而言之,

保持快速學習的能力與動力

我想,這也許才是在工程師這條道路繼續前進之道。

Photo by Christopher Gower on Unsplash

最後,如果現在在學習程式這條路上卡關的人們,很推薦可以參加 AppWorks School :)

Feel free to leave any comment or feedback.
如果覺得文章不錯的話,歡迎幫我拍拍手👏🏻👏🏻👏🏻

--

--

Nia Fan
Now I’m Again

主修中文、待了兩年公關公司,努力成為 iOS 軟體工程師 💪🏻 熱愛美食和旅遊 🎬 http://bit.ly/niaYoutube / 📷 http://bit.ly/niaeatfood