Skip to content

Road to Full-Stack Developer

Intro

自從 2019 轉職成前端工程師以來,已過了 5 個年頭。還記得當時的主管在公司改組時曾對我說過一句話,我一直謹記在心:不出 5 年你就會超越我了。如今已經 5 年了,舊來回顧一下自己進步多少吧。

回顧前端之路

請參考這篇 Road to Front-End Developer

自從 2019 認真開始自學半年,轉職成前端工程師之後,如今已經過了 5 個年頭。

5 年了!

我待過的第一間公司,剛進去時是以前端工程師的身分,出來時已成為一個「差不多全端」的工程師了。差不多是什麼意思呢?

2019.10 ~ 2021.1 前端實踐

大約一年的時間,專注在 Angular 這個框架上,開發公司的網站,大大小小的功能,全都嘗試實現。

2021 年 1 月發生了什麼事,為什麼要把時間點切分開來呢?

那時,老闆宣布解散了公司。

原本 10 多人的小新創公司,最後僅留下了 4 人,包括:

  • 前端工程師(就是我)
  • 研發工程師(python)
  • 資料工程師(python)
  • PM/企劃(不會寫程式)

2021.1 ~ 2022.3 摸爬滾打

老闆還有另外一個較成熟的製造業事業體,於是將我們 4 人轉去編制在那間公司底下,實質上由研發、資料工程師、PM 這 3 位繼續進行原本新創的研發。

而我呢?

這段時間,我完全茫然,研發階段我能做的事不多,而且也不懂後端。

這段時間我除了試著排查原系統後端的問題之外(也順便熟悉了 Linux 操作),還要試著把舊公司原有的幾個系統部署到新的機器上,於是產生了這一篇文章:

專案筆記 - 前後端&資料庫系統建置心得

直接技能亂點,下列技能都各點了一些:

  • Linux 基本操作
  • 資料庫安裝(MariaDB & MongoDB)
  • Node.js
  • Golang
  • Angular
  • Service config(systemd)
  • Web Server config(httpd)

算是一個好機會,讓我熟悉了一個完整的網站,從前到後、從無到有需要做些什麼事、該如何配置、需要哪些技術。

同一時間,開始橫向拓展技術的我,除了開始在 4 人的小團隊內推動讀書會,每周定期分享技術之外,也接下了製造業事業體的需求,要為他們的研發部 RD 開發一個「方便管理上傳到 NAS 的繪圖檔案」小工具,因而產生了下面這篇文章:

專案筆記 - 來寫一個串接 NAS 的檔案管理服務吧!

因為除了我之外,其他幾個同事主要都是使用 python,為了有人能夠協助維護或除錯,我選了 python 做為這個專案的後端語言,咻咻咻地開發出了一個小工具。

研發部 RD 使用起來感覺還不錯,再加上老闆的催化,我向工廠的同事(數十人)宣傳了這個小工具,另外又做了份剪報說明我可以提供如何如何的開發,幫他們簡化作業流程(其實是老闆想要推動一個成本分析工具,把我推下海)。

簡報完之後,工廠各部門的主管紛紛丟出需求給我,霎時間我收到將近 10 個小工具的開發需求。如果我是乙方現在已經開始竊笑了,無奈我只是員工啊。

2022.3 ~ 2022.12 滾雪球

近一年的時間,我專注在開發工廠需求的這些工具,同時建置了內部 EIP,將這些工具整合起來。

我很感謝這間公司,3 年的時間,我在這裡從前端新手小白,蛻變成全端小白。雖然技術都不能算專精,但有了整個系統的認知框架,還有勇於試錯的體驗,再加上專案經驗的加持,這些成了我的底氣。

我相信轉職是成功的,而且可以再往上一層樓。

若是繼續待在這間公司,雖然有很大的輸出空間,專案做不完,但有一個對當時的我來說最致命的狀況,那就是「沒有資深同事可以學習」。自學雖然能夠解決問題,但是沒有榜樣可以學習,會走相當多的冤枉 路,浪費時間。

轉職晚的我,已經沒有多餘時間可以浪費。

於是 2022 年底,我離開了前公司。

新的目標

2022 下半年,我已經搬離台北,到台中生活,也因此開啟了全遠端的工作生涯,發現我就像許多工程師一樣,很享受遠端工作,不需經歷每天的舟車勞頓,以及被綁在公司的禁錮之苦。

這就是自由的滋味啊!

於是我找到了新的理想:遠端工作。

但是理想很豐滿,現實很骨感。以我的經歷,還不足以找到符合期望的全遠端工作,於是我在台中重回了公司上班的日子。

幸好在這裡有多不勝數的工程師同事,而且每一個都經驗豐富,正是我所需要的環境。

在這裡,我學到了更多:

  • Node.js
  • Azure pipeline
  • Docker
  • GCP
  • ELK
  • Vue

DevOps 學習筆記 - 用 Docker 建立本地開發環境

DevOps 學習筆記 - AzurePipelines、Docker、GCP

這是安排好的吧?

就像安排好的一樣,先是從前端進場,熟悉了 Angular (代表著也熟悉了 TypeScript)一年之後,開始橫向擴展視野,摸索前後端到部署的各種技術。而到了現在,又開始在前後端技術上專精,開始向下深挖。

我從這邊的同事們(大多都比我年輕不少)身上學到了很多,思考程式碼的角度、挑選函式庫的考量、系統設計上的知識,每一項都在協助我的「領域知識」快速成長。

我是一個合格的全端工程師了嗎?

經歷過這 5 年的我,可以大聲說,是的,我是一個全端,但我不會止步於一個全端!

就讓我期待一下,接下來的 5 年,我可以成長成什麼樣子吧!