前端職涯
-你想轉職前端工程師?你該設定這些短中長期目標 - 設定目標的重要性及方法。
前言
身為一名想轉職前端工程師或已經在轉職路上的你,可能經常回覺得在學習路上迷失方向,不知所措。畢竟前端技術種類繁多,新舊技術汰換快速,常常會有該學什麼?該學到什麼程度的自我疑惑。
我當初在轉職的路上也經歷過一樣的自我懷疑,所以今天想分享一下,我在轉職期間,設定了哪些目標,以及我轉職成功後,覺得哪些目標對轉職路上,或前端工程師這個職業是重要的,希望能夠給你一些方向。
在開始之前,我想先告訴你設定目標的重要,妥善的設定目標,讓我在轉職路上沒有那麼迷茫、壓力,能夠把更多心思放在學習或實作上。如果你不擅長設定目標,在文章的最後我也會幫你整理我認為轉職前端重要的短中長期目標,讓我們開始吧~!
為什麼要設定目標對於轉職很重要?
不論是在生活、學習或事業上,設定一個明確且有挑戰性的目標都是非常重要的,尤其是對想要轉職的我們來說,不管你轉職的理由是什麼,是金錢、自由、熱忱等等,只要想轉職都代表你對現狀不滿意,想要改變自己,甚至有可能希望在短時間內快速變化,但改變往往是痛苦的,如果沒有一連串有規劃的目標,最終常常迷失方向,放棄自己。
有明確目標的人和沒有明確目標的人,在生活上的態度以及做事、學習的方法及效率也會有很大的差別,有明確目標的人會有方向感,明白自己該去哪裡;有目標的人會有行動力,能夠每天朝著夢想前進;有目標的人更會有毅力和決心而且不怕失敗,因為清楚自己的目標,路途上的失敗或挫折其實都只是幫助自己離目標更進一步的墊腳石。
所以對於想轉職前端的人來說,設定明確目標是非常重要的,能夠避免我們浪費很多時間在自我懷疑,也能讓我們更專注的學習。更重要的是,達成目標能夠帶給我們成就感,這在轉職路上事非常重要的,如何讓自己不斷獲得為小的成就感也是一門學文,其中設定良好的目標就是方法之一,接下來就讓我分享設定目標的技巧,以及什麼樣的目標是一個好的目標。
如何設定好的目標,幫助我們快速成功?
其實設定一連串的目標就像一段旅行,首先需要確定想去哪裡玩(目的地),接著就是安排遊玩景點(目標)、預訂交通住宿(資源與方法)、列出行程規劃(執行計畫),這樣才能讓整個旅程順利圓滿。
那轉職也是一樣的道理,你首先必須設定好想要的新職業領域(目的地),接著列出要掌握的核心技能(景點目標),再規劃如何透過學習、練習等方式獲取這些能力(交通方式),並擬定詳細的每日每週計畫(行程表)。
規劃一段好且適合自己的行程對旅遊很重要,相對的,規劃一段好且適合自己的目標對於轉職也非常重要,以下是好目標的規劃方式:
由大到小拆分目標
設定目標有一個很常見的迷思,就是我要設定很大的目標,每天激勵自己前進,但這完全是錯誤的,不是說設定大目標不行,而是設定完大目標之後,重要的是拆解。
要直接完成類似轉職這麼大的目標,就好比要你一步跨上 101,彷彿天方夜譚 👇
所以第一步我們要切分目標,比如我說我要轉職前端工程師,月薪 20 萬。這聽起來非常困難,但只要將這個目標切小一點就會瞬間覺得彷彿可行,比如我會切成這三個目標:
- 前端工程師需要哪些技能,一個一個學習
- 履歷、面試怎麼做,工作怎麼找,慢慢學習
- 先從月薪五萬當作目標,並藉由工作的經驗,找出升職加薪最重要的能力,並慢慢培養
當然,這些目標又還可以在往下切,切到你覺得你能夠完成,但卻有點挑戰性為止。
所以說我們要根據大目標來設定多個目標,並逐一擊破、完成。曾有研究表示,有明確設定目標並且寫下來的人,成就是沒有目標的人十倍。
SMART 評量
SMART 是很常見的目標評量法,但核心觀念非常受用,SMART 代表具體(Specific)、可衡量(Measurable)、可實現(Achievable)、相關(Relevant)、有時限(Time-bound),會分成這五種是有原因的:
1. 具體 Specific
目標是要具體的,比如說"我要掌握前端技術",就是一個不明確的目標,我們需要先定義出轉職前端工程師要具備那些技術,而 "學習 CSS 選擇器、Flex、Grid 排版技巧"、"學習 JS 基礎語法和 DOM 操作" 就是更具體的目標,具體的意思是你看到這個目標,就能知道自己該做些什麼。
2. 可衡量 Measurable
一個好的目標必須是可以被衡量和追蹤進度的。單純"學習CSS" 這類模糊目標,很難判斷達成與否。我們應該設立明確的衡量標準,例如 "能夠開發出包含Flex佈局、漸層動畫等CSS技巧的網頁",透過這些量化指標,你就能明確檢視自己的CSS實力是否達標,而非自我臆測。
3. 可實現 Achievable
目標不應該是遙不可及的期望,而是理想但可實現的目標。過高或過低的目標都會打擊你的學習動力,這也和前面提到的 "目標要由大到小拆解 " 是相關的。我們要評估目前的目標是否是可實現的,我們可以從三個角度來思考。
- 你現有的基礎能力
- 你能投入的時間資源
- 取得知識技能的難易度
比如對於完全初學者,1 個月就 "熟練React" 的目標顯然難以達成。但若是已掌握JS基礎,在 3 個月內學會React 框架並開發出小型應用,則是比較可實現的目標。
4. 相關 Relevant
每個人的職涯規劃不同,所設定的目標必須與最終目的相關,避免浪費資源在無謂的學習上。舉例來說,若你是為了轉職前端工程師,那 "學習後端語言" 或是 "刷 leetcode" 這類目標對你目前來說就不太相關,但"熟悉Git版本控制"、"練習基礎程式邏輯" 這些則與未來工作息息相關,就可以依照個人情況排進目標中。
5. 有時限 Time-bound
最後,設立目標最後必須有明確的期限,通常期末考試前一天是讀書效率最高的時候,單然這不只是為了增加目標的執行力,也能夠有助檢視目標的合理性。譬如: "在3個月內獨立建立個人作品網站" "用 6 周熟悉 React 核心觀念並開發簡易應用 "
我建議時限不要超過三個月,如果一個目標需要的時間超過三個月,通常代表這個目標太大了,需要往下拆分。
基本上我們在規畫目標的時候,都可以透過這五個面向來看看目標是否合理。
視覺化找出關聯性
有時候我們的大目標不會只有一個,當初我的目標除了轉職前端以外,還想要經營自媒體、想學英文未來遠端工作、想成為全端接案等等
當我們設有多個目標時,將它們視覺化是很好的方式來找出目標之間的關聯性和優先順序。我們可以將目標寫在便利貼上,把坐大的目標放在最上面,思考每個目標的關聯性。
我習慣用 Miro 這個免費的白板工具,紀錄自身的目標,以及各個目標的關聯,以下是示意圖。
例如將"成為工程師月收十萬"是我的上層目標,那 "經營自媒體"、"學習英文遠"、"學習後端知識" 等目標放置就可能會是中層,並思考如何讓這些目標相輔相成,在這個例子中 "經營自媒體" 和 "學習後端知識" 就是可以互相支持的,我可以將學習到的後端知識輸出程文章,發在自媒體上。
這樣一來,我們就能很直觀地看出哪些目標是優先應該完成的,哪些目標是相輔相成的。它們之間是否有共通可以整合的部分等等,有助我們更有效率的分配資源和時間。
與他人分享問責
單打獨鬥很容易半途而廢,與他人分享自己的目標並相互問責是很好的動力來源。我們可以定期與夥伴、朋友或社群分享目標達成進度,大家一起互相激勵。
例如加入線上學習社團,每周都需要更新學習進度,或是與同路好友組學習小組,互相交換心得檢視彼此的目標達成狀況等,都是不錯的做法。
我和我朋友,就習慣每天和對方說今天為了達成目標,做了哪些事情,並每周開會檢討,如此一來,會產生一股被監督的同儕壓力,避免我們鬆懈或視而不見。同時也能適時獲得建議與協助,讓目標更容易到手。
慶祝小確幸
追求目標通常是一段漫長的旅程,單純只著眼於遙遠的終點,很容易因缺乏現實感而半途而廢。因此,我們要懂得在途中為自己小小獎勵,保持持續的動力。
可以在完成每個小目標時為自己慶祝,像是規劃一場小旅行、買個自己喜歡的物品,或是做任何能帶來小確幸的事情,給予合理的正向回饋。像我喜歡在努力兩三天後,買肯德基吃爆蛋塔和喝爆可樂來犒賞自己 😂
透過適度慶祝,不只讓枯燥無味的目標之路添加了一些色彩,更能有效激勵我們邁向下一個目標,讓整個追逐夢想的過程變得更精彩有趣!
前端工程師三大階段目標
如果你對於設定目標不太熟習,在這邊我給你一個範本參考,會分成短、中、長,以及長長期目標,時間只是參考,要依照各人情況做調整:
短期目標 (1-3個月):HTML/CSS/JavaScript 基礎
在轉職的最初階段,掌握好HTML/CSS/JavaScript三大前端基石是最基本也最重要的目標。這階段的核心是理解網頁如何運作、如何用 CSS 排版並美化網頁、JavaScript 則是賦予網頁行為與互動性。
這個階段的主要目標是:
- 熟悉HTML的所有常見標籤、屬性和語意化觀念
- 精通CSS選擇器、盒模型、排版與動畫效果
- 掌握JavaScript語法、資料結構、流程控制、函式運用
很容易被忽略但同樣重要的技能包括:
- 善用CSS變數管理顏色、字體等樣式
- CSS 變數能幫助你中心化管理顏色、字型等樣式,提高一致性和易維護性。
- 適當運用變數也有助於建立模組化 CSS 架構。
- 理解 Promise 和 async/await 處理非同步操作
- 這是處理JavaScript非同步操作的現代語法,能提高程式碼可讀性。
- Promise 鏈式調用和 async/await 語法是前端開發中必備的基礎。
- 培養良好的變數命名習慣
- 給予變數簡潔但語意明確的命名,有助於提高程式碼可讀性與可維護性。
- 遵循命名規範也是進入團隊開發的基本要求。
- 學會表單驗證等常見互動功能
- form、input、select、number、textarea 等等和使用者互動的 HTML 元素
- 表單驗證是網頁開發中最常見的互動功能之一。
- 掌握各種驗證邏輯和使用者體驗是基本能力。
中期目標 (3-6個月):現代前端框架與實戰
在打底之後,中期將會邁入現代前端框架的領域,並開始實戰練習專案開發。透過框架能快速拼裝出富有互動性的網頁應用程式。
這個階段的主要目標是:
- 選擇流行框架如 React 或 Vue 並熟練運用
- 理解框架的元件概念、單向資料流、路由等機制
- 運用框架知識開發簡單的實戰專案
但很多人容易忽略的重要細節包括:
- 學習 Context 或 Zustand 以方便管理資料流
- 當應用程式複雜度提高時,狀態管理將成為控管資料流的重要課題。
- 學會使用 Zustand 或 React 自己提供的 useContext 能避免資料混亂,提升效能。
- 注重程式碼的簡潔性、可讀性和可維護性
- 不僅要會開發,更要養成良好程式碼品質的習慣。
- 遵循乾淨程式碼原則有助於降低技術債務,提升可讀性與可維護性。
- 可以參考 clean code 這本書
- 知道組件化的概念,並練習適當的組件化和命名
- 組件命名可以參考這個短影片
- 組件化是現代前端框架的核心概念,直接影響效能和擴充彈性。
- 給予恰當的元件切分和命名有助於提高可重用性。
長期目標 (6-12個月):面試準備與專案實力
來到長期目標,這個可以把重心放在鞏固自己的核心實力、提升作品集和面試技巧。
這個階段的主要目標是:
- 持續累積個人作品集和優化履歷
- 培養面試相關技巧和溝通表達能力
然而,經常被忽略而應該並重的還有:
- Git 版本控制系統
- 團隊開發一定會用到 Git,所以熟悉指令以及開發流程是很重要的
- 熟練如何解釋技術細節並展現專案特色
- 除了編寫程式,還要能夠清晰解釋專案的技術細節以及特色。
- 可以把 GitHub 的 readmd 寫清楚乾淨,對於某些面試官會是加分。
長長期目標 (1 年之後)
最後補充成為前端工程師之後,你可以繼續往哪些方向深入,提高自己的職涯籌碼以及競爭力:
- 學習 TypeScript 等靜態程式語言提升效能與維護性
- 熟悉測試的概念並能為程式寫測試
- 網頁效能優化
- 了解基本的後端知識
- 培養"學習如何學習"的能力以便持續精進
- 提升英文能力,更快獲取最新資訊,未來也能往國際發展
- 了解團隊管理知識
透過分期分階段的目標管理,你能夠紮實地一步步在前端領域紮根並茁壯。
後記
如何設定一個適當的目標,也是一門學問,我在一開始設立目標時,總是很容易設定一些難以達成或是不夠具體的目標,常常做到一瓣沒有進展就放棄,後來才發現設立目標是有技巧,以及需要練習的,希望這篇文章,可以幫助到想轉職,或是想設立目標的你~!