之前工作滿一年的時候有想過要寫個前端工作一年心得,但去年十月的時候手上正在開發一個時程很趕的專案,加上在寫 2022 年度的 ithome 鐵人賽,所以一直沒有時間來分享心得。
到了 2023 下半年時,自己有刻意放慢生活的節奏,終於有時間有紀錄轉職以來的歷程。
本篇文章主要想要分享自己在前端工程師工作兩年的心情與一些體悟,主要會分為幾個重點:
那麼我們就開始吧!
老生常談,一個人的工作能力未必可以與工作的時間成正比,所以這邊探討的主要是我個人工作一年與工作兩年以後的差異,並不代表所有前端都是如此。
在工作滿一年時,我認為自己在工作能力上有顯著突飛猛進的進步,可以獨立使用 React 、TypeScript 與 Storybook 開發前後端分離的前端 spa 具會員、權限機制的網站,以及基於在自己專業上有一定程度的溝通、調解與談判能力。
雖然成長快速,但依然有滿多值得加強的地方,例如:要面對未知問題的緊張程度仍需要調適、有談判的能力但需要再圓潤一點。
到了工作兩年時,有關心態的問題基本上都解決了,有了經驗、看過許多奇奇怪怪的問題後,開發上更心如止水,也更有心力去研究自己有興趣的問題。
而技能方面相比第一年,我認為自己變得「更有意識地在寫」也「更有意識地閱讀程式碼」,重寫自己程式碼的時間多了,也更願意觀察別人的做法。
實務技能上,多了更多有關網頁原理、協定、後端、網頁攻擊與 SEO 的概念,也開始使用 Next 開發量體更大的產品,雖然還是沒怎麼接觸到單元測試就是了。
要說成長最多的階段肯定是零至一年這個工作階段,滿兩年後雖然成長幅度沒有這麼顯著,但在學習、工作效率上,變得更有餘韻,也更能融會貫通,心態上也更加從容。
隨著做的功能越來越多、越來越複雜,要讓使用者保有良好的使用體驗並不是只有, UI、UX 與前後端分離而已,還要考量到很多議題,舉例來說:
我個人在接案與產品的部門都待過,兩者的特性略有不同,前者講求速度與客製化,由於接案會有合約、成本的問題,通常是獨立作業為主,好處是可以做大量、各式各樣的案子,比起產品更能摸到從零到有的成就感,缺點是案子趕的時候會加班加到沒日沒夜。
後者重視服務不中斷、深入且貼近使用者體驗,雖然跟接案相比時程可以更充裕,但面臨問題更多元與深入,能摸到的東西未必比接案充實,缺點也是優點:門檻高、需要累積,通常比較難第一份就做到自己喜歡的產品。
不論選擇哪種類型的工作,我更傾向選擇優良好程式碼、有前輩的組織,比起自己面對的客戶型態不同,組織有良好的程式碼規範、有經驗的前輩,會奠定自己在面對程式碼的態度與後面工作的發展性。
自己在工作兩年後,除錯能力有滿顯著的提升,除了 console.log 外,也仰賴解讀錯誤訊息的能力、使用 Google 、chatGPT 與閱讀文件拼湊出適合自己當下的答案。
有些新人在剛入門時,會過度仰賴主管、前輩的意見,久而久之就不會培養到問題解決的能力,即便身邊的人再強,都要有責任感,用「不管怎麼樣自己一定要用盡所有手段給這個 Bug 交代」的心態來解決問題,在執行力與成就感的累積會有無以倫比的體驗。
如果真的毫無突破口,多找前輩、主管、社群網友討論,好好陳述自己除錯用過的方式、解 Bug 的思路,都可以有不錯的靈感,老話一句:不要當伸手牌,不論是對誰都毫無好處。
軟體工程師要在薪資與能力上有突破性的成長,最好的方法絕對是累積到一定程度後,跳到一個整體環境更有挑戰性的公司。
在這中間當然不是白白工作一兩年就能換取更好的工作待遇,一定要在工作期間累積新的、對公司有卓越貢獻的經驗,並且持續吸收新的技能,才有機會跳到更好的公司。
不論是多少年資的工程師,在完成階段性任務時,例如:獨立開發完某個流程或是功能,或是把某個服務完整上線,甚至小到透過自動化解決一些日常的任務,都要將這些經驗整理到履歷上。
定期整理履歷是一個最好梳理、職能脈絡的方式,不論有沒有要換新工作,都要確保自己的履歷是處於經常更新的狀態,才有機會被獵頭、資方看到,被動性的收到新的機會。
只要有持續累積,以軟體工程師而言,跳槽是非常理所當然的結果。
相信不少跟我一樣 junior 或是 mid level 的軟體工程師都是以資深作為努力目標,在自己工作的過程中有不少崇拜、嚮往的資深前輩們。
先說說自己對於資深的指標在哪:
我認為還有很多資深工程師需要具備的特質,不過許多概念可以回歸到貢獻價值、協助團隊進步等核心理念,要成為資深絕對很需要累積,嘗試在日常開發中為團隊創造一些工作範疇以外的加分貢獻,可以很好的累積團隊成員對於自己的技術印象。
除了為團隊貢獻價值,永遠要記得在工作外善用軟體自動化的能力為自己創造價值,這一點我覺得格外重要,一方面是小程度、持續性地累積競爭力,一方面更是持續培養自己對軟體與程式的熱情與成就感。
能用最小的努力,讓這個世界更方便、更進步一點,是我最初想當軟體工程師的初衷,過了兩年來復盤自己的初衷,很開心自己一路以來沒改變,所以也想寫下來勉勵未來的自己。
覺得在這次復盤中最想肯定自己的就是:我很珍惜每一次的工作與合作機會。
軟體業是一個很小的圈圈,基本上大家都會知道業內有哪些強者、技術強大的公司,在這樣的環境下累積好的人脈可以創造未來許多美好的機遇。
雖然我並不是一個脾氣很好、技術很強的工程師,經營自媒體也不算特別殷勤,但我滿願意去幫助那些需要協助的同事或是想進入這個領域的人,讓我在隱隱約約中累積了一些好的運氣,生活上也多了更多願意幫助我的人。
如果可以的話,我會建議大家要好好善待與珍惜每個職涯上的際遇與人事物,因為面對這些事物的心態,會完全反映在寫程式的這條路的體驗上。
基本上自己是以成為資深軟體工程師為目標,但我是一個很貪心的人,常常想要做這個、做那個,包括經營自媒體,也會透過自媒體接一些案子,這讓我在剛成為前端工程師時時常心力交瘁。
因此這些目標想在未來的日子中慢慢的實踐,但可能不會太給自己設限一定要在多久的時間內完成,其中最明確的目標就是:成為資深軟體工程師、完成「從今天開始的轉職計畫」的帶狀電子書,希望能向大家分享如何有系統的找到自己喜歡做的事,並且透過這套方法把自己也變成資深工程師!
好了,話說了這麼多,以上就是自己成為前端工程師兩年的工作心得,以及過程中所收穫的一些美好經驗,最後想期許自己在往後都可以有紀律的來復盤工作歷程。
希望這篇文章可以讓你有一些對職涯的靈感與樂趣,如果有任何問題都歡迎留言與我分享,我是 Vivian,我們下次見!