作為一名前端想要晉升,需要什么條件?
現(xiàn)在在用 React,要不要也學(xué)學(xué) Vue?
有必要學(xué)習(xí) Node.js/Flutter/ 函數(shù)式嗎?
這幾個(gè)問(wèn)題看似毫無(wú)關(guān)聯(lián),但是其實(shí)它們本質(zhì)上都是同一個(gè)問(wèn)題,這個(gè)問(wèn)題就是“一個(gè)前端工程師到底需要掌握哪些技能?”
其實(shí)在行業(yè)里面,對(duì)前端工程師的能力模型有一個(gè)基本的認(rèn)知,不同公司的定義可能有細(xì)微差別,但是它的內(nèi)核是一致的。
這里我給出一張圖,是我自己理解的前端工程師的技能模型。
為了方便你理解,我把這些技能具體放進(jìn)前端工程師的不同級(jí)別里,你可以對(duì)照著找到一條符合自己實(shí)際情況的前端進(jìn)階之路。下面我就一部分一部分地詳細(xì)講講前端技能樹(shù)是如何發(fā)展的。
助理工程師
首先來(lái)說(shuō)說(shuō) 助理前端工程師,對(duì)標(biāo)的是阿里的 P4 級(jí)別。它的要求是基本的編程能力。什么叫基本的編程能力呢?我認(rèn)為就是熟練地用計(jì)算機(jī)編程語(yǔ)言表達(dá)任何邏輯的能力。一般來(lái)說(shuō),在大學(xué)學(xué)習(xí)過(guò)計(jì)算機(jī)專業(yè)的學(xué)生應(yīng)該具備編程能力。
助理工程師的定義是“能夠在輔助下完成工作”,因此不是所有公司都會(huì)招聘助理工程師的,因?yàn)閲?yán)格來(lái)說(shuō),助理工程師不具備獨(dú)立工作的能力,他的工作產(chǎn)出可能是負(fù)數(shù)。但是招聘助理工程師的公司,一般都是看重應(yīng)聘人的潛力,期望能快速成長(zhǎng)。
工程師
接下來(lái)我們說(shuō)說(shuō) 前端工程師,對(duì)標(biāo)阿里 P5 級(jí)別。它的要求是掌握基本的前端技能,這樣說(shuō)也許有點(diǎn)模糊,但是換個(gè)說(shuō)法就很明白了,基本前端技能就是“綜合運(yùn)用 HTML、JavaScript、CSS 完成任何界面和交互需求”。這個(gè)“任何界面和交互需求”,看似要求很高,但是如果你寫過(guò)前端就知道,這是任何前端的基本技能——大不了用圖片唄。
其實(shí)這個(gè)級(jí)別的工程師,水平跨度非常大,界面寫出來(lái)了,但是兼容性如何、代碼可維護(hù)性如何、離了框架能不能寫出來(lái)、語(yǔ)義表現(xiàn)分離能做到嗎、開(kāi)發(fā)過(guò)程中能不能做到有效溝通。..。.. 還會(huì)有很多問(wèn)題。而這些問(wèn)題,決定了一個(gè)前端工程師的潛力,一些好一點(diǎn)的公司招聘這個(gè)級(jí)別的工程師,除了“基本的前端技能”之外,還會(huì)對(duì)我上面提到的這些問(wèn)題有所要求。
關(guān)于助理前端工程師和前端工程師,能力方面主要的要求是 編程能力,知識(shí)方面的要求是一個(gè)“可用”的最小集合。
資深工程師
我們接著往下講,資深前端工程師,對(duì)標(biāo)阿里 P6 級(jí)別。到了這個(gè)階段,我們可以看到圖上開(kāi)始出現(xiàn)不同的區(qū)塊了,這意味著,對(duì)資深前端工程師的要求,也是多元化的。
我們用一句話來(lái)概括,資深前端工程師,要求開(kāi)始關(guān)注并且解決項(xiàng)目中的問(wèn)題。什么樣的問(wèn)題呢?可能是別人做不出來(lái)的技術(shù)難題,也可能是容易出錯(cuò)的代碼,或者說(shuō)無(wú)意義的重復(fù)勞動(dòng),或者是業(yè)務(wù)上想不出來(lái)合適的交互…… 等等。
其實(shí)對(duì)資深前端工程師的要求是很自由的,我上面的圖中給出的僅僅是幾個(gè)例子,比如組件化可以解決重復(fù)勞動(dòng)問(wèn)題和開(kāi)發(fā)耦合問(wèn)題;工具可以解決的問(wèn)題有很多,生成代碼的工具提高效率,代碼檢查工具提高質(zhì)量;性能優(yōu)化則會(huì)帶來(lái)業(yè)務(wù)價(jià)值,這些都是資深前端工程師可以做的事情,并且只要把其中一兩項(xiàng)做好,就可以達(dá)到資深前端工程師的水平。
再有就是 這個(gè)級(jí)別開(kāi)始對(duì)架構(gòu)能力和工程能力有所要求了,但還處于萌芽階段,一些天賦好的同學(xué)可以憑感覺(jué)達(dá)到這個(gè)水平。
技術(shù)專家
下面說(shuō)說(shuō) 前端專家,對(duì)標(biāo)阿里 P7 級(jí)別。到了這個(gè)級(jí)別,我們從圖上可以看到,要求又不一樣了,比如組件變成了組件體系,工具變成了工具鏈和持續(xù)集成體系,性能優(yōu)化變成了性能體系。這些東西變得不僅僅是稱呼,還有工作的內(nèi)容,這個(gè)級(jí)別跟資深工程師的主要區(qū)別是,從解決單點(diǎn)問(wèn)題變成系統(tǒng)性方法,從服務(wù)自己變成服務(wù)團(tuán)隊(duì),從一次性發(fā)揮變成持續(xù)性輸出。
比如,資深工程師可能做一些組件,然后在項(xiàng)目里面用,自己的代碼可維護(hù)性提升了,復(fù)用也做得更好了。但是前端專家要考慮制定組件規(guī)范推廣到團(tuán)隊(duì),還要做培訓(xùn),考慮組件如何開(kāi)發(fā)、管理和下線。資深工程師做性能,把自己的頁(yè)面優(yōu)化好了就可以了,但是前端專家就需要考慮采集數(shù)據(jù)、做報(bào)表和監(jiān)控、總結(jié) checklist、跟工具結(jié)合、定性能指標(biāo)等等。
由于這個(gè)級(jí)別對(duì)架構(gòu)能力、工程和軟技能要求很高,所以算是比較難以跨越的。
高級(jí)技術(shù)專家
最后來(lái)說(shuō) 高級(jí)前端專家,對(duì)標(biāo)阿里的 P8 級(jí)別。我們從圖上看,這個(gè)級(jí)別分開(kāi)的發(fā)展方向又聚合到了一起。高級(jí)前端專家做事的關(guān)鍵是審時(shí)度勢(shì),需要在前面講的前端專家所掌握的各個(gè)領(lǐng)域里,組合出一套適合自己所在團(tuán)隊(duì)的方案。比如做企業(yè)內(nèi)部系統(tǒng)的前端團(tuán)隊(duì),可能對(duì)性能要求就沒(méi)那么高,但電商前端團(tuán)隊(duì)因?yàn)檫\(yùn)營(yíng)活動(dòng)頻繁,就需要很好的組件體系,這里很難有一定的規(guī)則,全靠人來(lái)把握。
到這個(gè)級(jí)別,對(duì)工程能力的要求就很高了,而且即使不帶人的高級(jí)前端專家,也必定涉及一些管理能力。
高級(jí)技術(shù)專家
講完了各個(gè)級(jí)別的前端技能模型,我們回到最開(kāi)始的問(wèn)題“一個(gè)前端工程師到底需要掌握哪些技能”。
要回答這個(gè)問(wèn)題,你要先根據(jù)自己的情況對(duì)號(hào)入座。你可以看到,在前端的技能模型里,對(duì)“知識(shí)”是沒(méi)有任何硬性要求的,具體到各個(gè)公司的不同崗位,可能會(huì)有一些特殊要求,但市場(chǎng)是巨大的,所以大家可以不必對(duì)學(xué)什么知識(shí)不學(xué)什么知識(shí)感到那么焦慮。而且“前端知識(shí)”應(yīng)該是一個(gè)垂直的模塊,它不能直接幫助你進(jìn)階下一個(gè)更高的級(jí)別,但是它能提升你的潛力,使你未來(lái)能走得更遠(yuǎn)。
現(xiàn)在大部分同學(xué)會(huì)更為注重前端崗位的晉升,我認(rèn)為前端進(jìn)階的核心要素,更多還是要看你的能力,尤其是在進(jìn)階前端高級(jí)工程師之路上,非常看中你的編程能力、架構(gòu)能力和工程能力。
-
工程師
+關(guān)注
關(guān)注
59文章
1574瀏覽量
68691 -
前端
+關(guān)注
關(guān)注
1文章
201瀏覽量
17879
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
如何成為嵌入式開(kāi)發(fā)工程師?
年薪30萬(wàn)的嵌入式工程師,究竟需要掌握哪些技能?


不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技

笑死,掌握一眼識(shí)別資深硬件工程師的訣竅了!# #電路知識(shí) #電工 #硬核拆解
工程師應(yīng)該掌握的幾種正確電容放電姿勢(shì)

硬件工程師需要掌握的硬件基礎(chǔ)知識(shí)


硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
需要無(wú)刷電控硬件工程師
嵌入式軟件工程師如何提升自己?
嵌入式軟件工程師和硬件工程師的區(qū)別?

電子工程師常見(jiàn)面試題(二)看看你能答對(duì)幾道吧#電子工程師 #電子工程師面試 #電子信息 #電工

評(píng)論