成為前端工程師的第一年的回顧

成為前端工程師的第一年的回顧

回顧系列

前言

原本我的目標是一個月至少更新一篇部落格文章,所以這篇原定是在 10 月底的時候寫完。

但因為最近剛換到第二份工作,再加上入職後馬上遇到團隊重組,年底的工作又逐漸繁忙,這篇文章也就拖到了現在…

在熟悉新團隊之際想寫篇文章,回顧剛成為前端工程師的這一年,我認為幫助很大的經驗,順便梳理未來的目標與規劃。

值得投資一台 Macbook

剛成為前端工程師的第一個月,我發現許多同事與認識的工程師朋友都使用 Mac,而且紛紛大力推薦。

剛好從高中開始用的 Windows 筆電也快撐不住了,公司提供的 Windows 主機也不好使,就果斷買了一台 M2 Pro 版的 Macbook Pro 14 吋,而且因為有教育方案優惠,所以還順便換了 AirPods Pro 2。

M2 Pro 版的 Macbook Pro 14 吋

適應 MacOS 的過程出奇地順利,僅用了一週便全面轉移工作到 Mac 上開發。

使用至今一年半,我認為 Mac 對前端工程師的價值主要體現於以下幾點:

  1. 硬體穩定且續航優秀
    續航強大,開會、遠端辦公或參加 Conference 時非常可靠,能不插電使用至少 8 小時。
  2. 社群生態強大
    像 Arc Browser、Wrap 和 Raycast 等強大的生產力工具,常常能優先在 MacOS 上使用。
  3. Apple 生態系整合
    用 AirDrop 與手機互傳資料、收訊息極為方便,也終於能幫 Safari Debug 了。

此外,開發也不會再遇到像是 Windows 上常遇到的環境設定問題、系統無情更新、CRLF 斷行符號衝突等,更能把時間專注在開發上。

而且越來越多公司似乎也偏好配 Macbook 給 Web 工程師,至少我和身邊朋友的公司都是如此,也因此我完全不需要再花時間熟悉系統操作。

對於前端工程師來說,我會推薦 16GB RAM、512GB SSD 起跳的配置,絕大多的情況下都能流暢開發。如果預算充裕,32GB RAM 和 1TB SSD 左右的配置會更理想。

至於晶片,M2 或 M3 對大多數的開發需求下就已經綽綽有餘,但若需要外接多個顯示器,則建議選擇 Pro 等級以上晶片。

機身我也比較推薦 Pro 的模具,因為 Air 是無風扇的設計,在比較吃效能的情境下會頗熱,體驗不是很好。

總之 Macbook 雖然真的貴,但它帶來的生產力提升,我覺得 Web 工程師都值得投資一台。

參加 Conference

台灣特別是在下半年,會有不少大大小小的 Conference(後面簡稱 Conf),通常都要門票錢,但我覺得相當值得參加。

儘管 Conf 的講者通常會考慮到台下的聽眾技術水平不一,多半也不會講太難的內容,因此對技術的深度提升相當有限。

但我認為參加 Conf 的真正價值在於以下兩點:

1. 聽取別人的真實案例分享,和最終採用的 solution

2024 WebConf 上來自 ExplainThis 的 PJ 分享了從個人專案到產品化的過程與分析;天下雜誌團隊則講述了如何打造更吸引人的數位報導,雖然不是有機會接觸的領域,但都讓我特別印象深刻。

2024 WebConf ExplainThis 分享 - 個人專案到產品:善用 AI 工具打造可盈利產品

2. 擴展人脈與視野

利用休息或下午茶時間,去跟講者和優秀的工程師們交流,打聽他們在用的技術跟想法,藉此提升自己的人脈、視野,甚至有可能得到合作或工作機會。

像是 2024 WebConf 有機會跟寫了鐵人賽Rust 的戰國時代:探索網頁前端工具的前世今生 的作者 Code Farmer 見見面,還有與 VueUseUnoCSS 的作者 Anthony Fu 交流。

Anthony 不僅解答了許多我對 Vue 和 Nuxt 社群或技術選型的疑惑,還願意一起吃飯喝酒閒聊,收穫滿滿。

2024 WebConf 與 Anthony Fu 合照

這也算是補齊了我 2023 Laravel & Vue Conf 時的遺憾,當時只懂得聽演講,錯失了和其他 Vue 工程師交流的機會,不過至少有跟 Vue 的作者 Evan You 合照到 🤣

2023 Laravel & Vue Conf 與 Evan You 合照

有機會參加時,別忘了勇於和有興趣的講者或工程師交流,說不定能帶來意想不到的收穫。

學習讀 Source Code

剛開始用前端框架或套件的時後,常常會有使用上的疑惑,例如兩個很像的 function 差別是什麼,我該用哪一個?

文件也難免會有模糊的地方,GPT 也可能問不出個所以然。

這時候如果使用的工具是開源的,直接讀 Source Code 會是個不錯的方式。

雖然起初可能完全看不懂(就是我),但多閱讀跟查詢後還是能漸漸掌握一些關鍵的實作方式,日後和其他人討論時的思路也會更清晰。

此外,讀 Source Code 也能學到不少大神的寫 Code 技巧。若過程中發現一些漏洞,甚至能發個 PR 貢獻開源社群,也是我目前正在努力的目標之一。

保持追蹤新技術的熱情

這年頭的前端工程師免不了追新技術,畢竟前端真的發展太快…

雖然我個人的觀察,新技術也能適用八二法則,值得立馬深入學習的技術並不多。

不過我認爲都可以大概看一下,說不定未來有機會用到,另外也能和同圈子的人維持「話題」。

就像有些男生之間會聊點遊戲的話題,當聊的遊戲你沒有玩,自然的就無法融入討論。

換到像是技術交流或面試的場景,如果不僅對熱門技術有一定理解,還能分享自己的見解,肯定能讓對方感受到你的熱忱,對你印象深刻。

而我目前追蹤技術方式,主要是關注國內外優秀開發者的社群帳號

不過說真的,看多了也會很容易感到焦慮,所以別忘了只和前一天的自己比較就好,目標是比昨天的自己更進步。

另外接觸新技術時,弄髒手是我認為學習最快的方式,在過程中也能簡易辨別是否該花更多時間在上面。

特別是有些東西看起來很難用,但用起來比想像的還香,實際玩過才知道。

定期更新履歷

有時候看到社團或朋友突然分享不錯的職缺,自己條件也似乎符合。

即使短期還沒打算換公司,但我也會想去面試看看,了解自己的能力與行情。

然後就會發現履歷還沒準備,突然要寫也生不出內容的囧境…

而定時更新履歷,除了能減少突然要寫履歷時的壓力,也能審視自己過去完成了哪些事情,評估現在的自己還需要加強哪些專業能力。

幸好轉職前得益於前輩們的建議,再加上自己的年資尚淺,讓我在更新履歷時並沒有花太多時間,主要是卡在如何描述自己的成果而已。

這部分我建議直接參考或詢問各路大神們的履歷或建議,或是 Summer 大大寫的這篇文章 - 如何打造出色的履歷,我覺得也相當詳細,很有幫助。

接下來的方向

最後想談談換了第二份工作後,想法跟規劃上的一些變化。

技術發展

換了工作後,職稱從 Junior 變成 Senior 前端工程師,而工作內容也因爲團隊重組的關係,會需要接觸到後端,基本上就是 Full-Stack 了。

對此我是蠻開心的,畢竟全端聽起來就是比較帥XD,而且工作也沒有因此變得更忙,而且我本來就想找時間多學習後端。

當然我也聽過很多像是「通常會掛全端的人都很廢」、「全端通常都屎缺」之類的說法。

但其實不管是負責哪一端,核心都是在「解決問題」,所以我一直都定位自己是「軟體工程師」,只要能解決問題,不論要碰哪一端都可以。

或許這和現在 AI 時代,大家都認為追求 深度 > 廣度 的想法背道而馳。

但職涯初期,我認為適合先追求廣度,對於領域中不同技術之間的關聯性與基礎知識有一定的認識後,再根據有興趣的技術追求深度即可。

所以短期我打算先依照目前的工作需求,配置前端:後端學習時間比約 3:7,主要學習後端工具、資料庫、CI/CD、AWS 服務等。

團隊視角

在前一份工作中,因爲前主管離職,我後來升任為前端的 Team Lead。實際投入管理後,才深刻體會到其中的挑戰,從技術選型、工作分配到團隊溝通、進度掌控及 Code Review,每一項都極其依賴經驗的累積。

換新工作後,透過觀察主管們的行事風格讓我學到許多,思考上也跟著改變。

例如提出建議或是導入技術時,會評估團隊的狀況和專案目標,避免盲目追逐新技術,同時考慮導入的成本與價值。

或是外部團隊合作時,若擔任團隊的對外窗口,該如何領導及幫助專案推進等等。

另外,對於糞 Code 的包容度也增加了許多,畢竟有些一看就知道是「有故事的程式碼」,需要考慮當下撰寫的時空背景,例如當時的套件功能還不夠完善、開發時程不夠、寫前端的人其實是後端(?)等等。

期望自己之後能多用團隊的視角看待事情,未來能漸漸成為團隊中重要的一員。

嘗試其他活動

成為社畜的一員後,大多時候不是在寫程式,就是在玩技術的路上,即使看書也是看程式相關的書籍。

特別是當朋友或同事問起興趣或假日的安排,都感覺自己怪可憐的。雖然當肥宅沒什麼不好,但嘗試一些不同的活動似乎也不錯。

所以最近應同事邀約開始去打羽球,買了球拍和球鞋,看看能不能養成運動習慣。

空閒時也會開始看煮菜或投資理財的影片,然後每天花一點點時間學英文跟日文。

之後會考慮要不要健身,或是定期安排出國玩之類,去年有去京都看櫻花還挺開心,如果有大佬能帶我滑雪或潛水之類的就更好了。

産寧坂の枝垂れ桜

以前常常攝影,或許買一台單眼回來玩玩似乎也不錯…

仔細想想選擇還蠻多的,主要是覺得別把生活過得太單調。

畢竟之所以要寫程式玩技術,對我來說有 7 成是為了工作發展,剩下 3 成是真的有興趣,但工作並不是也不應該是人生的全部。

結語

這篇文章拖了相當久還有一個原因,光是草稿重寫了好幾次(笑)。

原本是想寫自己第一年的心路歷程和學了哪些技術。

但一來是我的資歷還太淺,能寫的內容不多,看得視野也還不夠廣。

其次,技術發展會因為目標和工作環境而有所不同。

這導致文章寫著寫著,就變得像自傳一樣。

所以最終決定,將文章重點放在覺得對自己成長有幫助的項目上。

這樣一來,即使我覺得自己還不夠成熟,甚至是擔心寫錯,也能放心的寫出來丟在網路上,就是很主觀的分享。

最後,這篇完成的時候是在過年連假,所以也祝大家新年快樂!