實習日誌:在 5xRuby,我學到從找尋最快解法到找尋根本解法
大三下學期,由於學校課程沒有那麼繁重,就決定找個實習來鍛鍊自己,也因為大三這一年修了許多網頁開發、資料庫等相關課程,想把目標放在前後端相關的實習工作,因此最後選擇五倍的全端實習工程師職位。
在五倍面試過後,會先完成一份作業,是要以 Ruby on Rails 建立一個任務管理系統。作業的步驟指示很明確,從基本 Rails 實作開發、資料庫維護、部署到 CI 都會接觸,而 Rails 是我第一個正式接觸的 MVC 架構,也因此在專案中花了一點時間了解 MVC 架構的分工,一開始雖然會覺得有些複雜,但一旦熟悉,就會感受到這種分工方式的清晰。
在五倍實習這五個月以來,我接觸到了兩個專案,工作內容主要是前後端網頁的開發和 CI/CD 設定,而我接觸到的這兩個專案剛好一個是進入尾聲的專案,一個則是全新的專案,也因此在第一個專案中我學到如何熟悉已有的專案架構,並在此之上做修正和開發;第二個專案中則從零開始學會初始專案、根據範本撰寫 CI/CD、基本的測試站環境部署和資料庫架構建置開發。
了解問題根本原因和正確使用方式
在進入五倍實習之前,可能是因為習慣課程專案開發的緊湊度,我在遇到程式執行問題時,總是習慣從網路上找尋最快速解決表面問題的方法,而不願意花太多時間找尋其根本原因。這樣不正確的開發心態也導致系統可能現階段沒有錯誤,但開發下個功能時問題就會重新出現。
但是因為在五倍,一方面是對程式碼的品質有高要求,每次的開發都需要經過 Code review,因此會讓自己在程式碼品質和邏輯維護上有更多的自我要求,也使我懂得在遇到問題時,先了解問題根本原因,去翻閱 Source code 和文件來了解正確的使用方式;另一方面,在開發時間的彈性上,工程師能與 PM 有許多的討論空間,因此不會一昧地追求快速實作功能,而更重視整體品質和完整性。
拓展知識領域
在五倍經常會有技術分享時間,透過同事間互相分享與討論,可以學習到更多本來不熟知的領域。此外,五倍也提供很自由的開發和學習空間,像是在這次實習之前,我對於 docker 和 CI/CD 的操作並不熟悉,但由於這些都是專案中必會接觸到的開發與維護工具,總召和 PM 便提供我許多資源、時間和之前相關的專案供我學習參考,讓我能在短時間內理解並學以致用。五倍輕鬆的工作環境也讓我學會如何發問,遇到問題時經過謹慎思考和搜索相關資源後,若還有問題,透過發問可以讓自己的觀念更清楚,也能讓自己對於問題解法有更多啟發。
五倍同事間的相處很融洽,有問題也都會互相請教和討論,讓自己可以在一邊完成工作時,一邊精進自己在技術方面的成長。透過這次實習,不僅讓我學到很多業界實用技術,也讓我對出社會後的工程師工作內容和模式有更深刻的了解,很感謝五倍給予我這次實習的機會,使我在軟體開發的道路上有更多正確方向上的啟發!
註:總召為五倍紅寶石軟體開發執行長 慕凡在公司內的暱稱。