在好想工作室度過的210天:從軟體自學到軟體工作

影山小麥機
Jun 17, 2022

在那之前,我什麼都不是,在那之後,還是覺得自己什麼都不是。

前言

寫這篇文章的時候,我已經離開好想工作室了,或許跟大部分曾經在好想工作室的iOS學員一樣,選擇到職場就業,而不是在工作室留下來。

不過,六個月的時間學會寫iOS前端,說真的是一件有挑戰的事情(對過去的我來說),雖然回過頭來的時候,是挺驚訝自己已經努力了這麼多,然後走進一個大概永遠不會停止學習的行業裡。

同時大概也學會一件事情:「在知識面前,永遠是無知的。就算你在短時間內對某件事情比某些人還要熟悉,那也沒什麼好說的,僅只是聞道有先後。」

進到好想工作室的契機

碩士畢業那年,我的人生有三個方向:

  1. 公務員
  2. 工程師
  3. 音樂人

第一個選項大概是父母期望的標準選項,或在經濟蕭條年代,大家僅求溫飽的職業。也是我在碩士畢業後大部分的人會建議走的選項,畢竟我是讀政治與公共行政領域的。

但,我想要的人生並不是這樣的。朝九晚五機械到死掉。

第二個選項是另一種奇特的夢想。
碩畢的時候因為寫了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

「我可能會這樣寫,但不會是最佳解。」這是我在第七、八個月時領悟到的程式自學心得。越要接近可能的完美,只有繼續學習知識。

那些年,重構兩次的鬧鐘

絕望之谷

在第五個月到第六個月的時候,我陷入了「達克曲線」的絕望之谷,我認為自己什麼都不會,自己寫不出任何東西。

大概也是那天,我開始回復我之前熱愛的事情:重量訓練、爵士鼓。

其實遇到絕望的時候也不要太緊張,就是按部就班的繼續自學,繼續累積知識,保持自己前進的節奏。

對於後來的我看著現在的自己,我就是這樣的告訴自己。

給想自學程式的人的建議

  1. 評估「資源」

什麼是資源?如果你想要靠自學成為工程師,那你會怎麼去想像你需要什麼來達成「成為工程師」的這一件事情呢?

對於剛開始學習程式的我,我想到的就是「快速又省錢」。大概估狗了一圈,你就會先在網路上找到民間補習班、資策會、AppWorks School…etc。

每個人都有每個人的選擇。最後我決定去「好想工作室」。

2. RoadMap

如果以目前我所接觸到的軟體工程,無論是Web前端、Mobile前端、Back-End,都有著所謂的學習地圖,當你先了解一個學門就是要學會這些東西的時候,就會開始去衡量自己要選擇哪一個專長。

這個連結可以看看:關於軟體工程工作一個還不錯的Reference

3. 意志力、熱情、時間

如果以第一點來說,我的資源就是所謂的「空間、環境」,那第二點的RoadMap學習地圖就是所謂的方向,自己應該朝著怎麼樣的方向前進。

而在前面兩點之外的,我想就是百分之百的「自己」了。自己對於程式學習的意志力、熱情,還有所有的「時間」。

找到工作啦!

尾聲:不用太在意其他人的評價。

其實在自學的過程,會有蠻多不同的聲音,大部分的人會告訴你你做不到,或是恥笑你做夢,但通常只要記住一句話:「戲棚下站久就你的」。

記住這句話就夠用了。

希望大家在成為工程師的路上除了努力,還有找工作時那從未缺席的運氣。

我是MJ,是一名iOS工程師。

Sign up to discover human stories that deepen your understanding of the world.

Free

Distraction-free reading. No ads.

Organize your knowledge with lists and highlights.

Tell your story. Find your audience.

Membership

Read member-only stories

Support writers you read most

Earn money for your writing

Listen to audio narrations

Read offline with the Medium app

影山小麥機
影山小麥機

Written by 影山小麥機

本職為Mobile工程師,熱愛分享視野,也樂意站在ChatGPT的肩膀上。訂閱小麥機,收割技術、職涯、人生的難題。

No responses yet

Write a response