[職涯心得] 前端工程師-工作5年回顧心得

Kenneth Cheung
< />
Published in
Jan 1, 2021

--

Photo by Nathan da Silva on Unsplash

我是一個退伍後才決定想往資訊方向走的前端工程師,回想自己從寫出第一行 HTML ,到現在也已經 5 年 2 個月了,想寫篇文章來記錄這一段過程。雖然跟很多神人不能比,但希望這些心得分享,能幫助到跟自己背景比較相近的人!

整篇文章的架構如下,如果不想全篇閱讀,也可以直接跳到自己感興趣的段落 :)

  1. 為什麼轉換跑道
  2. 從自學到拿到第一個 offer
  3. 在四間公司的任職心得
  4. 關於技術學習心得
  5. 結語

沒有目標

我是財務金融研究所畢業的,不過對於未來要做什麼一直沒有一個很明確的目標,自己是屬於比較內向的人,當時有想過兩個方向:

  1. 保險精算
  2. 投資相關領域

關於保險精算,在研究所的期間考了過了兩科精算考試,但後來覺得精算的職涯看起來很固定,就是一直考試,自己認為這樣的職涯雖然穩定,收入也不差,但好像蠻無聊的,於是就沒有繼續往下耕耘了。

關於投資,雖然有點興趣,但如果當成本業,每天一直追著這些價格數字跑,壓力加上沒有實質的產出,也覺得這不是我想要追求的。

一個沒有什麼明確目標的財金所學生,最適合的工作大概就是當銀行的儲備幹部,可以在前一、兩年的培訓過程中接觸銀行多個面向的業務,或許可以發現自己比較感興趣的地方。

所以在當兵的時候面試了幾家銀行的儲備幹部,但結果還蠻慘不忍睹的,在團體面試的關卡顯得很不主動積極,而不管是哪個行業的儲備幹部,我想都需要具備比較積極、外向的性格。於是,開始覺得自己的人格特質很不適合吃這行飯,讓我對於未來開始有了些迷惘。

我記得我喜歡寫程式

回想起來在研究所的時候,論文和幾門課是需要寫程式來跑一些數值分析的,自己在當時覺得寫程式蠻有趣也蠻有成就感的,還用 VBA 寫了一個背單字、介係詞的小程式,但當時也沒有覺得馬上要轉行,只是默默地把「寫程式很有趣」這件事放在心裡。然而此時的迷惘,我想起了這件事。

砍掉重練

如果未來可能還有 20年- 30年要工作(醒醒吧,是40年),多花個 1–2 年探索能找到自己有興趣、做得開心的工作的話,我想也是值得的,就決定給自己一個重新來過的機會,希望選擇的專業能夠符合:

  • 我的興趣:有興趣才能做得快樂、長久。
  • 我擅長的事:做擅長的事能有更多機會在該領域獲得成就。
  • 市場需求:基於現實面,這個職業還是必須有市場需求,才獲得溫飽。
  • 開放性:自己其實不喜歡被一個東西綁住的感覺,所以我希望這個專業能不侷限於單一地區、產業,有機會能多走多看,甚至是自行創業,會覺得未來是充滿憧憬。

對我來說,寫程式算是上述四點很大的交集了,於是就決定要朝著這個領域來探索看看。在這邊真的很感謝我媽不介意我在家當米蟲以及我當時的女友(現在的太座)也很鼓勵轉職中的我。

由於自己有機率、統計的背景,一開始是選了較相關的機器學習領域,但在學了 2–3 週之後,想想都決定要砍掉重練了,為什麼不多嘗試一些新東西呢?

於是,我就一頭掉進了前端的世界,因為…

  • 前端在初期很容易獲得成就感,成果直接打開瀏覽器就看得到
  • 自己喜歡站在使用者的角度想事情,打造良好的使用者體驗
  • 以找工作來說,覺得從前端來切入,比較能說服雇主來用我這個非資訊本科畢業的菜鳥

前端工程師的旅程就在 2015年8月 正式展開了!

<div>Hello World!</div>

幸好在大學跟研究所時,覺得未來不管往什麼方向,想要走得更廣,英文是必備的,所以有投注了不少心力持續在學習英文,在技術學習和使用上讓我多了很多的選擇。

一開始是從HTML, CSS, JS 學起,那時主要用到了兩個學習資源:

大概是把W3 school 裡的文件大概看過一遍,照著 freecodecamp 裡的教學來練習實作,當時作出來一些作業(蕃茄鐘、隨機名言產生器之類的),就覺得自己超強,但現在在 codepen 回顧一下,嗯,這是小學生的作業無誤,coding style 比公園的廁所還髒。

在這段時間,每天都有新鮮事跟新挑戰在等著我,每次感到最滿足的時刻莫過於解決問題跟自我成長了!所以雖然有時一天花上十幾個小時在寫程式跟學習,還是覺得很開心!

就這樣經過了兩個月,自認自己有一定的實作能力後,拿著四不像的自介網站,打開了104…

媽,我找到工作了!

忘記當時投了幾家公司,最後錄錄續續面試了三家公司,當時是覺得

只要有公司肯用我,領的是香蕉也沒關係,我什麼都做。

前兩家印象中我應該表現得蠻搞笑的,當時我連 JS 同步跟非同步都搞不太清楚,讓面試官蠻傻眼的,想起來真是不好意思。

但到了第三家公司,問的問題我勉強能回答出一點內容,跟面試官們聊天也都蠻對盤的,再加上我表現出什麼都肯學的態度,面試完當下,老闆就很阿莎力的說:「什麼時候可以來上班?」,實在是受寵若驚。

雖然為了增加錄取機率,開出的期望薪資上界,其實還不到這個職缺在 104 上薪資範圍的下界,但老闆還是二話不說就給了我上界,到現在還是很感謝他願意信任完全沒有背景的我。

直到現在都還記得那天回家的路上有多開心,為了犒賞自己,還去書店亂買了幾本書。往後的五年錄續拿到好幾間公司的工作機會,但滿足感都遠不及這一次來的美好!

5 年待了 4 家公司

在這 5 年待了 4 間公司,都是前端工程師,前 2 家是中小型新創,第 3 家算大型新創(17直播),目前是在LINE台灣。

在前兩家新創,比較沒有和其他前端交流、討論的技術問題,公司當時也沒有 Code review 的流程,僅靠著 Google 大神的協助,跟持續的技術學習以為自己能用獨自設計、開發幾個中小型前端專案再加點小測試,也算是個前端高手了…

但到了後兩家公司之後,算是開了眼界!

專案規模是另一個級別的

在比較主要的專案裡,程式行數都是動輒數十萬行,所需要的架構跟開發部屬流程跟中小型專案有很大的不同,像Error Log Tracing、各種監控、模組可攜性、各種平台支援、gitops 等等,這些概念是在之前的公司其實比較少接觸到,除此之外業務邏輯也更為複雜,像是一個頁面或元件根據或根據。

再來是內部 有一些複雜的實現,可能要 fork 多個 open source 專案兜成一個完整的解決方案,

在我之前的思維可能只有自幹這條路,相對的就要多花很多時間又不見得穩定。

強者我同事們,把我這隻青蛙從井裡拉了出來

在日常的工作觀察中,同事們很常會讓我在腦中OS:

哇,這人真強

  • 有的人能針對一個實現,提出數種解決方案並分析哪一種最適合目前的狀況,並下決策
  • 有的人對於 JS 底層技術研究透徹,能做很細微的效能優化
  • 有的人在 Code Review 中,常常能看出問題,給出很精準的反饋
  • 有的人在需求不明確的時候,會馬上確認做法並跟所有成員同步

基於以上兩點,覺得自己還是有蠻多進步空間的,希望經過時間的推移自己在各方面都能慢慢跨出舒適圈,變成更可靠的夥伴!

關於技術學習

在職涯的初期,好奇心比較旺盛加上時間多(還沒結婚生小孩),常常會讀到一個看起來很酷的技術就花很多時間專研,像是 HTML Canvas, three.js,但這樣的 CP 值其實不高,這些只是當下學到自己很高興,之後用不到,幾個月後就會忘得一乾二淨…

在後面的兩年,除了前端比較核心的技術及概念,像是 Web performance, Typescript, 慣用的框架等等,其他技術都是先有概觀的認識,等真的遇到需要使用的情境再對相關的技術做較深入的研究,一方面減少時間浪費,另一方面,在動機足夠強的情況下,學習效率會超級好!

但其實也是見仁見智,如果不要想得這麼功利,我們追求的是滿足好奇心的快樂,學習這個技術的當下能帶來很大的滿足感,之後用不用得到這個技術,其實也沒那麼重要了。

結語

如果問我,在這幾年的工作裡,有什麼跟當初想得是不一樣的,我覺得自己最喜歡的部份其實是應用開發的部份,但實際在工作上內容難免會有其他自己沒那麼有趣的工作內容,像是:

  • 開會
  • 寫文件
  • 開發中較繁瑣的部份
  • 早起通勤(誤

但我還是很滿意現在的狀況,畢竟這些事通常不會佔據你大部份的工作時間。即便創業做自己有興趣的應用,也會需要處理公司的瑣事。學習去把這些額外的事情做得更好,我想更是一種成長。我也很慶幸當初有選擇轉換這個專業,讓路可以走得更廣。

但未來還有很長的路,我期許自己在未來能保持一樣的熱忱,不管是在技術或是想法上,也期許自己在成長的過程中能透過分享幫助更多人!

--

--