一個web前端工程師到底需要掌握哪些技能?有何晉升?

對於前端基礎需要學習哪些內容,之前文章已經有寫過不少了,本篇重在談論:

作爲一名前端想要晉升,需要什麼條件?
現在在用 React,要不要也學學 Vue?
有必要學習 Node.js/Flutter/ 函數式嗎?
這幾個問題看似毫無關聯,但是其實它們本質上都是同一個問題,這個問題就是“一個前端工程師到底需要掌握哪些技能?”

其實在行業裏面,對前端工程師的能力模型有一個基本的認知,不同公司的定義可能有細微差別,但是它的內核是一致的。

這裏我給出一張圖,是我自己理解的前端工程師的技能模型。

一個web前端工程師到底需要掌握哪些技能?有何晉升?

爲了方便你理解,我把這些技能具體放進前端工程師的不同級別裏,你可以對照着找到一條符合自己實際情況的前端進階之路。下面我就一部分一部分地詳細講講前端技能樹是如何發展的。

在這裏小編建了一個前端學習交流扣扣羣:132667127,我自己整理的最新的前端資料和高級開發教程,如果有想需要的,可以加羣一起學習交流

助理工程師

首先來說說 助理前端工程師,對標的是阿里的 P4 級別。它的要求是基本的編程能力。什麼叫基本的編程能力呢?我認爲就是熟練地用計算機編程語言表達任何邏輯的能力。一般來說,在大學學習過計算機專業的學生應該具備編程能力。

助理工程師的定義是“能夠在輔助下完成工作”,因此不是所有公司都會招聘助理工程師的,因爲嚴格來說,助理工程師不具備獨立工作的能力,他的工作產出可能是負數。但是招聘助理工程師的公司,一般都是看重應聘人的潛力,期望能快速成長。

一個web前端工程師到底需要掌握哪些技能?有何晉升?
工程師

接下來我們說說 前端工程師,對標阿里 P5 級別。它的要求是掌握基本的前端技能,這樣說也許有點模糊,但是換個說法就很明白了,基本前端技能就是“綜合運用 HTML、JavaScript、CSS 完成任何界面和交互需求”。這個“任何界面和交互需求”,看似要求很高,但是如果你寫過前端就知道,這是任何前端的基本技能——大不了用圖片唄。

其實這個級別的工程師,水平跨度非常大,界面寫出來了,但是兼容性如何、代碼可維護性如何、離了框架能不能寫出來、語義表現分離能做到嗎、開發過程中能不能做到有效溝通...... 還會有很多問題。而這些問題,決定了一個前端工程師的潛力,一些好一點的公司招聘這個級別的工程師,除了“基本的前端技能”之外,還會對我上面提到的這些問題有所要求。

關於助理前端工程師和前端工程師,能力方面主要的要求是 編程能力,知識方面的要求是一個“可用”的最小集合。

一個web前端工程師到底需要掌握哪些技能?有何晉升?
資深工程師

我們接着往下講,資深前端工程師,對標阿里 P6 級別。到了這個階段,我們可以看到圖上開始出現不同的區塊了,這意味着,對資深前端工程師的要求,也是多元化的。

我們用一句話來概括,資深前端工程師,要求開始關注並且解決項目中的問題。什麼樣的問題呢?可能是別人做不出來的技術難題,也可能是容易出錯的代碼,或者說無意義的重複勞動,或者是業務上想不出來合適的交互…… 等等。

其實對資深前端工程師的要求是很自由的,我上面的圖中給出的僅僅是幾個例子,比如組件化可以解決重複勞動問題和開發耦合問題;工具可以解決的問題有很多,生成代碼的工具提高效率,代碼檢查工具提高質量;性能優化則會帶來業務價值,這些都是資深前端工程師可以做的事情,並且只要把其中一兩項做好,就可以達到資深前端工程師的水平。

再有就是 這個級別開始對架構能力和工程能力有所要求了,但還處於萌芽階段,一些天賦好的同學可以憑感覺達到這個水平。

一個web前端工程師到底需要掌握哪些技能?有何晉升?
技術專家

下面說說 前端專家,對標阿里 P7 級別。到了這個級別,我們從圖上可以看到,要求又不一樣了,比如組件變成了組件體系,工具變成了工具鏈和持續集成體系,性能優化變成了性能體系。這些東西變得不僅僅是稱呼,還有工作的內容,這個級別跟資深工程師的主要區別是,從解決單點問題變成系統性方法,從服務自己變成服務團隊,從一次性發揮變成持續性輸出。

比如,資深工程師可能做一些組件,然後在項目裏面用,自己的代碼可維護性提升了,複用也做得更好了。但是前端專家要考慮制定組件規範推廣到團隊,還要做培訓,考慮組件如何開發、管理和下線。資深工程師做性能,把自己的頁面優化好了就可以了,但是前端專家就需要考慮採集數據、做報表和監控、總結 checklist、跟工具結合、定性能指標等等。

由於這個級別對架構能力、工程和軟技能要求很高,所以算是比較難以跨越的。

一個web前端工程師到底需要掌握哪些技能?有何晉升?
高級技術專家

最後來說 高級前端專家,對標阿里的 P8 級別。我們從圖上看,這個級別分開的發展方向又聚合到了一起。高級前端專家做事的關鍵是審時度勢,需要在前面講的前端專家所掌握的各個領域裏,組合出一套適合自己所在團隊的方案。比如做企業內部系統的前端團隊,可能對性能要求就沒那麼高,但電商前端團隊因爲運營活動頻繁,就需要很好的組件體系,這裏很難有一定的規則,全靠人來把握。

到這個級別,對工程能力的要求就很高了,而且即使不帶人的高級前端專家,也必定涉及一些管理能力。

一個web前端工程師到底需要掌握哪些技能?有何晉升?
高級技術專家

講完了各個級別的前端技能模型,我們回到最開始的問題“一個前端工程師到底需要掌握哪些技能”。

要回答這個問題,你要先根據自己的情況對號入座。你可以看到,在前端的技能模型裏,對“知識”是沒有任何硬性要求的,具體到各個公司的不同崗位,可能會有一些特殊要求,但市場是巨大的,所以大家可以不必對學什麼知識不學什麼知識感到那麼焦慮。而且“前端知識”應該是一個垂直的模塊,它不能直接幫助你進階下一個更高的級別,但是它能提升你的潛力,使你未來能走得更遠。

現在大部分同學會更爲注重前端崗位的晉升,我認爲前端進階的核心要素,更多還是要看你的能力,尤其是在進階前端高級工程師之路上,非常看中你的編程能力、架構能力和工程能力。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章