2018暑期五倍紅寶石實習心得

DC
DC
Sep 8, 2018 · 4 min read

“You never know what future holds for you.”

前情提要: 除了成就感get,也讓自己思考下一步…

2018暑期五倍紅寶石實習心得 — 前傳

“下一步”在看到五倍紅寶石(以下簡稱五倍)公告徵求暑期實習生訊息的那一刻,大概花了8.7秒就做出決定,於是轉頭跟當時公司的老闆說我要去寫code了,bye!

選擇挑戰五倍實習機會作為轉職第一站,除了因為想延續在五倍學習Rails的開發經驗,也相當喜歡五倍的文化與環境。

得知自己獲得實習機會的那天,大概可以用one of the best days of my life來形容當下喜悅的心情;然而,同時也告訴自己:開心,一天就夠了。非本科出身、起步也較晚,需要更積極地補強技術空缺。

Warm Up: Rails 教材實做

實習開始的第一個挑戰是,按照指定規格與步驟實作,並部署一個Rails任務管理app。憑藉過去半年的大量練習所累積的經驗, 教材中以規格面來說,對自己而言整體不算太難,而在這階段收穫最大的則是開發流程、撰寫測試、與code review。

過去開發網站的經驗,比較偏向使用者思維並以頁面為單位的方式規劃功能與資料庫,對於小網站來說或許還行得通,但對於資料關聯複雜的專案,常發生需要回頭修改資料庫結構與資料關係的狀況。在這個區塊的學習領悟是,無論專案的大小,從規劃初期就要以全面性的角度思考、規劃資料結構與關聯。

至於測試,恩,就是個過去在龍哥的Rails課程學過、但總有千萬個理由沒有動手實做過的東西。過去也因為沒有撰寫測試,常發生越補越大洞的情勢發生,就算沒有立即發現新的洞,也是債留子孫。但是等一下…子孫不就還是自己嗎?!

Code review,可說是提升程式開發能力最有效率的方式。透過前輩的經驗學習,好處顯而易見。這個階段,五倍將這好處加倍,每一次的pull request,都要通過兩位內部工程師的review,除了學習撰寫出更精進的程式碼邏輯與風格外,一些與程式碼無直接關聯的細節,也在這個階段中有了潛移默化的助長。

Lock & Load: 內部系統+商業案

通過了第一階段教材考驗後,有幸獲得參與五倍內部系統與一個商業案的開發機會,也可說是場震撼教育。

過往接觸過的所有專案,從建立專案到完成都是獨立作業。接觸到五倍內部系統與商案時,第一時間感受到的都是「我真的寫過Rails嗎?」。相較之下,自己的作品就像是躺在游泳池裡寫出來的,不只是潮到出水的程度而已。(註:”潮到出水“是Don’t Repeat Yourself (DRY)的反義,是個你不會想收到的評價。)

除了需要花大量的時間理解前輩寫的程式碼與邏輯,因為專案都是已上線服務,code review也更加嚴謹。想當然爾兩個專案內Rspec測試都是標配,其中一個專案更追加了RuboCop、ES-Lint以及SCSS-Lint規範與自動化檢查 coding style。

吃了這碗加班三寶飯,不會每次考試都得100分,但的確幫助自己開始培養一致性與良好程式碼撰寫風格的習慣。

“Stay hungry, stay foolish”

回頭看這一年,從第一次打開編輯器到寫出第一個前端網頁、從第一次打開終端機到寫出第一個Rails網站、從一個程式麻瓜到成為五倍後端實習生,覺得有點不可思議,但卻又是如此真實。

當初做出轉職決定後,周遭親友大多不能理解為什麼會在這時間點放棄過去的工作經歷;或是,已經到這方年紀才開始學習,不會太晚嗎?…等疑問。

對於種種外來投射的問號,在回覆時,我總是用「堆積木」來形容寫程式:"用一塊一塊的小元件、在沒有任何既定模式和固定方式的情況下,組合出自己想要的東西,是一件快樂而有趣的事。"

在走到下個交叉路之前,先經驗一場對自己未來有益,且能持續帶以熱忱的那一條路,no?

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade