
成為前端工程師的第一年的回顧
前言
原本我的目標是一個月至少更新一篇部落格文章,所以這篇原定是在 10 月底的時候寫完。
但因為最近剛換到第二份工作,再加上入職後馬上遇到團隊重組,年底的工作又逐漸繁忙,這篇文章也就拖到了現在…
在熟悉新團隊之際想寫篇文章,回顧剛成為前端工程師的這一年,我認為幫助很大的經驗,順便梳理未來的目標與規劃。
值得投資一台 Macbook
剛成為前端工程師的第一個月,我發現許多同事與認識的工程師朋友都使用 Mac,而且紛紛大力推薦。
剛好從高中開始用的 Windows 筆電也快撐不住了,公司提供的 Windows 主機也不好使,就果斷買了一台 M2 Pro 版的 Macbook Pro 14 吋,而且因為有教育方案優惠,所以還順便換了 AirPods Pro 2。
適應 MacOS 的過程出奇地順利,僅用了一週便全面轉移工作到 Mac 上開發。
使用至今一年半,我認為 Mac 對前端工程師的價值主要體現於以下幾點:
- 硬體穩定且續航優秀:
續航強大,開會、遠端辦公或參加 Conference 時非常可靠,能不插電使用至少 8 小時。 - 社群生態強大:
像 Arc Browser、Wrap 和 Raycast 等強大的生產力工具,常常能優先在 MacOS 上使用。 - 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 分享了從個人專案到產品化的過程與分析;天下雜誌團隊則講述了如何打造更吸引人的數位報導,雖然不是有機會接觸的領域,但都讓我特別印象深刻。
2. 擴展人脈與視野
利用休息或下午茶時間,去跟講者和優秀的工程師們交流,打聽他們在用的技術跟想法,藉此提升自己的人脈、視野,甚至有可能得到合作或工作機會。
像是 2024 WebConf 有機會跟寫了鐵人賽Rust 的戰國時代:探索網頁前端工具的前世今生 的作者 Code Farmer 見見面,還有與 VueUse 和 UnoCSS 的作者 Anthony Fu 交流。
Anthony 不僅解答了許多我對 Vue 和 Nuxt 社群或技術選型的疑惑,還願意一起吃飯喝酒閒聊,收穫滿滿。
這也算是補齊了我 2023 Laravel & Vue Conf 時的遺憾,當時只懂得聽演講,錯失了和其他 Vue 工程師交流的機會,不過至少有跟 Vue 的作者 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 成是真的有興趣,但工作並不是也不應該是人生的全部。
結語
這篇文章拖了相當久還有一個原因,光是草稿重寫了好幾次(笑)。
原本是想寫自己第一年的心路歷程和學了哪些技術。
但一來是我的資歷還太淺,能寫的內容不多,看得視野也還不夠廣。
其次,技術發展會因為目標和工作環境而有所不同。
這導致文章寫著寫著,就變得像自傳一樣。
所以最終決定,將文章重點放在覺得對自己成長有幫助的項目上。
這樣一來,即使我覺得自己還不夠成熟,甚至是擔心寫錯,也能放心的寫出來丟在網路上,就是很主觀的分享。
最後,這篇完成的時候是在過年連假,所以也祝大家新年快樂!