進擊的前端之路

相信做爲一個前端從業人員,不少人在不一樣的階段都會遇到自身定位上的一些困擾。好比我到底在前端這個行業裏,處於一個什麼樣的水平?前面的路,該怎麼走?這些問題我也一直在思考,下面跟你們分享個人見解。前端

前端分哪些階段?

我以爲能夠拿阿里大廠的職稱評級做爲前端階段的參考,從p4-p7,分別是初級中級高級資深,往上的專家就不說了。vue


初級前端

  1. 工做年限:小於1年
  2. 能在leader的指導下完成開發任務

這個階段的同窗,以積累項目經驗爲主,多主動作事,學會學習和提問的方法。node

中級前端

  1. 工做年限:1-3年
  2. 佈局:熟悉各類佈局方式,好比:響應式、雙飛翼、聖盃、不定高上下居中、彈性佈局等,能給具體的業務場景選擇較爲合理的佈局方式。
  3. js:熟練使用es3-6版本的各類函數和語法,好比:數組的方法filter、reduce、shift等,對象的方法is、assign、keys、values、defineProperty等,異步處理語法Promise、async await、generator等,對於js執行機制有必定了解。
  4. 框架:起碼熟悉一個流行框架,好比:vue、react、angular,怎麼算熟悉呢?拿vue舉例,能用vue-cli搭建一個 vue項目,能知道vue-router我應該選擇什麼模式,能判斷我是否應該採用vuex,對於如何作到頁面資源按需加載的幾種方案有了解,知道哪些內容應該封裝成組件,最後能根據業務要求完成項目。
  5. 工具:對於一個項目的底層構建工具生態都有必定的瞭解,好比:能完成基本的webpack、babel、gulp、less等工具的配置
  6. 服務端:有必定了解,好比:瞭解後端開發一個接口背後的實現的基本流程curd、用node實現過基本的靜態服務、用node實現過基本的curd
  7. 其它:對網絡通訊層有必定的認知

中級前端是一個‘知其然但不知其因此然’的階段。從個人實際工做經歷觀察來看,每每這個階段阻擋了一大批人。有的人甚至工做了七八年,工做經驗很是豐富,各類web端、移動端、小程序、app、桌面端等項目都參與過,各類框架vue、react、angularJS都很是熟悉,看似十分全能,實則仍然侷限於會用的階段,仍然只能算是一箇中級前端,也不多有企業會給這樣的候選人開出高級前端的工資。mysql

中級前端應該是前端行業裏數量最爲龐大的人羣,市面上絕大多數企業的前端,應該都處於這個階段(幾個大廠除外)。這個階段是最爲關鍵的階段,在這個階段停留了五六年、七八年的前端大有人在,這是很是大的一個風險。react

人們都說程序猿吃的是青春飯,我以爲很對,至少對於全部的中級前端來講確定是,想一想到了三十幾歲,怎麼去跟潛力更大,精力更旺盛的小夥子小姑娘們競爭。因此這個階段的前端們,應該更有緊迫感,加油。webpack

這個階段的同窗,須要注重對知識面的拓展,對底層原理的理解,孜孜不倦,早日迎來質變。web

高級前端

  1. 工做年限:3-5年
  2. 佈局:精通各類佈局方式,深入理解每種佈局方式的原理,深入理解瀏覽器的渲染機制
  3. js:深入理解js的執行機制,理解Promise、async await、generator等異步語法的實現原理,可以靈活應用函數柯里化、閉包等技巧,熟悉函數式編程,可以靈活應用各類設計模式,熟練使用typescript之類的語法糖
  4. 框架:至少閱讀過一種框架的源碼,並對此有足夠深刻的理解
  5. 工具:瞭解webpack、babel、less、gulp等工具背後的原理,具有編寫loader、plugin、babel-plugin、gulp-plugin等插件的能力,至少對一種ast引擎有了解,好比Acorn,能基於ast引擎進行開發
  6. 服務端:能基於一門服務端語言進行獨立開發,對於mysql、oracle、mongo、redis有足夠的瞭解,瞭解分佈式、微服務、bff、serverless等,對大型網站架構有較深刻的認知
  7. 其它:深刻了解網絡通訊,好比:dns、http、https、udp、websocket,熟練使用各類常見算法,好比:深度遍歷、廣度遍歷、二叉樹等,熟練使用正則表達式,

高級前端與中級前端的區別在於,這個階段,更多的精力在於鑽研前端的一些原理,看問題能快速看到問題的本質。任何一個高級前端,應該都具有獨當一面的能力。正則表達式

這個階段的同窗,能力很強,想再進一步,須要機遇,須要轉變單兵做戰的思惟習慣,須要更加積極主動去發掘並解決問題。redis

資深前端

  1. 工做年限:5-7年
  2. 價值:做爲資深前端,不必定從技術而言,比高級前端強多少,更關鍵在於,對於企業,資深前端能創造更多的價值。好比:給團隊搭建完善的前端工程化體系,針對複雜的業務場景給出高質量的解決方案,善於發現團隊中的痛點並解決。說白了核心就是給團隊提效提質,提效意味着人力成本節省,提質意味着系統穩定性強,用戶體驗佳。
  3. 影響力:不管在公司內仍是行業內,開始創建本身的我的影響力,同時提高公司前端團隊的影響力

這個階段的前端,是會‘找事’的前端,單純的提高技術,並不能達到這個階段,而應該思考如何最大化整個團隊的價值。經常這個階段的前端,都能給團隊帶來一些新技術、新方案,解決團隊面臨的一些問題和痛點。不過也須要警戒自身陷入一種對新技術、新方案的一味追捧,須要思考清楚‘what’、‘why’、‘how’的問題。算法


總結

初中高級的前端的整個過程,在於學以至用,把用發揮到極致。但從資深前端開始,要學會無中生有,要不斷挖掘團隊的能力,要像森林中的獵犬同樣,善於發現‘獵物’,創造機會,解決問題,打造自身和團隊影響力。

相關文章
相關標籤/搜索