我是 Vic,最近剛從前公司結束實習,回歸部落格來整理一下思緒,在忙錄的開學週忙裡偷閒一下,闡述一下這幾個月的經歷。
我在 2025 年 7 月到 2026 年 2 月在FXG擔任軟體工程實習生(後端),前期是 on-site(summer),中後期轉 Hybrid(一週去個兩天),皆是 40hr/week,所以開學後對於工作和課業之間的平衡下了一番功夫,幸好最後課業顧得還不錯,擦到書卷的邊邊。
最近有人問我:「Vic,你為什麼當初決定要去實習啊?」暑假在家裡耍廢不是很舒服嗎(其實我也這麼覺得),那為什麼還要去實習呢?
對於我來說,學界跟業界是有脫軌的,所以我很想多接觸業界,看看整個開發流程、Tech stack 的差異性、節奏上是不是我所想像的那樣,另一方面也是因為自己閒不太下來(還是會有罪惡感,,,),所以就跑去實習啦!
面試過程
其實我前面面過幾間新創,都是 Backend 的職缺,基本上都會被問到 System Design 的問題,所以這次的面試過程滿順利的,也聊的很愉快。
前面就是先看履歷,針對 Side project、語言的熟悉度做詢問,這部分大概花了五分鐘在描述專案細節和我在裡面負責的角色;接著就是問 System Design 的相關問題:「如果要在一秒內做 xxxx 事情,你會怎麼做?」,總之就是 MQ 跟分散式架構的問題,接著第二個問題是:「Kakfa 跟 RabbitMQ 的差別」,啊因為有準備,所以答得很順利,於是就順利入職啦~
福利
- 彈性半小時上班打卡
- 每週二有午餐吃、每週四有下午茶可以吃(
我都這兩天去蹭吃的) - 辦公室都會放零食餅乾,有時候同事出國玩也會帶一些食物到公司請大家吃
工作內容
我主要是做後端,所以前期就是做整合兩個內部工具並優化,中期轉為建構 Data infra,處理雲地同步、ETL pipeline、各式自動化報表,後期轉為優化單體架構和微服務設計。
前期
由於這兩個內部工具是圍繞在 Backend Team 跟 Data Team,所以常常要在這兩個部門之間周旋,並且有時候大家也不知道自己的需求跟期望是什麼,所以需要大量的溝通確定細節,並且為他想要的這個功能確定可行性(有時候太天馬行空了),幫大家收斂需求和規劃實作流程,否則很有可能會發生辛苦了一整天,最後卻做白工的慘況。
關於技術方面,從資料表設計、API 設計、查詢優化(專案是讀取多於寫入)皆是我一人包辦,大概設計了 60+ 支 API,透過不斷迭代最終完成了該專案。
在這段時期學到最多的是跨部門溝通所需的溝通和分析能力。
中期
在結束了前期的專案後,就跑去協助 Data Team 的基礎建設了,包含採用 ClickHouse (OLAP) 作為資料庫以降低儲存成本及加快查詢效率,還有採用 Apache Airflow 作為自動化排程平台,由此為基礎開始許多專案的設計和實作,接觸到十分大量的資料、SQL 設計和優化,也讓我了解到資料的有趣性,算是很有趣的一段經歷。
由於我原本對於 ClickHouse 和 Apache Airflow 是完全不熟悉的,也成為讓我踏入 2025 iThome 鐵人挑戰賽(ClickHouse 系列:從資料庫底層架構到軟體應用實踐)和擁抱開源的入門磚。
中間有個小插曲是,因為我是草台班子,前期在設計架構上沒有考慮到擴充性,所以導致業務邏輯、Airflow 都在同一個 repo 下,導致專案日漸龐大,套件彼此衝突,所以花了一週研究、重新設計架構(網路上好少架構範例 QQ),最後是採用 DockerOperator 作為任務,將業務邏輯拆成一個個 repo 並包裝成 Image,搭配 CLI 介面驅動和 CI/CD,實現自動更版,增強了可讀性、可維護性,對此還是滿自豪的!
另外我也十分注重軟體開發流程、測試和文件(沒有 Policy 的專案絕對會是個災難),所以當時有位 New Grad 加入我這個專案,透過文件讓他能夠快速上手,並且保持高效的開發能量,還是挺開心的。
雖然在這段時期上層一些有點弔詭的事情,導致開發進度緩慢、需要繞一大圈才能完成功能、導致系統逐漸不穩定,但這畢竟是她的課題,我也無法干涉囉。
最後,在這段時期學到最多的是如何設計架構、SQL 撰寫和優化、Airflow / ClickHouse 的使用。
後期
當中期的內容趨於穩定並 release 版本後,我便擔任 Maintainer 負責審 PR,將開發重心轉為後端優化和開發微服務架構了。
學到了什麼?
技術
- 技術能力(Backend、Data、Database…)
- 工具使用
- 產業知識
軟實力
- 跨部門溝通能力
- 時間管理
- 抗壓性
- 問問題的能力
心態轉變
- 從學生思維 → 職場思維
- 從害怕犯錯 → 接受不完美
- 從被動 → 主動
一些想法
原本對於 Backend、Data 其實都覺得不錯,什麼都想碰。但真正進到業界之後,我發現自己特別享受的是:
- 設計系統架構時的思考過程
- 把混亂需求收斂成可實作方案
- 優化效能、重構專案時那種「變乾淨」的成就感
我發現自己其實很喜歡偏 Backend + Data Infra 這一塊,尤其是牽涉到架構設計與效能優化的問題。 比起單純 CRUD,我更享受怎麼讓這件事可以 scale。
更確定自己喜歡/不喜歡什麼?
這題其實比想像中重要。
我喜歡:
- 有 ownership 的專案
- 可以自己設計、自己決策的空間
- 文件齊全、流程清楚的團隊
- 技術討論是理性而不是情緒導向
我不喜歡:
- 方向反覆橫跳
- 為了政治因素繞遠路
- 沒有決策者負責收斂需求
但這些「不喜歡」其實也讓我意識到工程師不是只寫程式,而是處在一個複雜組織系統裡,畢竟技術可以優化,但組織問題有時候更難解。
給未來自己的提醒
- 不要因為變熟練就停止思考架構
- 永遠保留重構的勇氣
- 繼續寫文章、整理知識、勇於分享給他人!
- 不要因為別人走得快就焦慮
還有一點很重要的是:
別把自己困在「實習生」的心態裡。
人的成長是無限的,千萬不要用「我只是學生」來降低自己的標準。
給未來實習生建議
如果你也準備踏入實習,我會給你幾個真心建議。
該準備什麼?
1. 基本功要扎實
- SQL 優化觀念
- RESTful API 設計
- Git flow
- 基本系統設計概念(MQ、快取、分散式)
2. 文件閱讀能力
很多時候不是你不會,是你不願意看文件,如果會自己查資料、debug、trace log,比什麼都重要。
3. 溝通能力
你會發現技術問題常常不是卡在技術,而是卡在需求不清楚。
心態上要知道什麼?
- 你一定會犯錯
- 你一定會寫出爛 code
- 你一定會被 challenge
但這些都很正常。
真正拉開差距的不是天分,而是:
你能不能在犯錯後,系統性地修正自己。
千萬不要做什麼?
- 不要只接簡單任務躲起來
- 不要裝懂
- 不要悶著不問
- 不要把問題丟回去卻沒有自己的思考
問問題之前,至少要能說:
「我試過 A、B、C,現在卡在 D,你覺得方向對嗎?」
結語
從 2025 年 7 月到 2026 年 2 月,這段時間不算長。
我學會的不只是技術,而是:
- 怎麼面對不確定
- 怎麼在壓力下保持輸出
- 怎麼承認自己還不夠強,但仍然持續往前
未來還很長,但至少現在的我,比半年前更清楚自己想成為什麼樣的工程師,也比半年前更不害怕走慢一點。
— Vic