需求量很是大,隨着人機界面愈來愈多,好比手機,車載設備,各類物聯設備等,都須要大量的開發人員來維護,並且前端的美觀直接影響了用戶體驗,所以靠譜的前端工程師是公司寶貴的財產。css
崗位需求量大概是Java的1/3左右html
在TIOBE中排名第七C#和VB國內基本不用,python爲輔助性語言,所以能夠認爲排名爲第四前端
工資收入也是比較高java
看起來萌萌的前端python
Web前端開發工程師負責展現層的編寫,爲網站上提供的產品Web界面,優化代碼,提升響應速度,並保持良好兼容性(IE, Chrome, FireFox等),負責Web前端表現層及與先後端交互的架構設計和開發,配合後臺開發人員實現產品界面和功能。算法
隨着Web前端的發展,也出現了,MVVM架構,爲了讓Model這個步驟更加解耦: 前端Model和後端Model解耦,也就是說前端工程師設計頁面,並設計他們眼中的View Model,也就是MVVM中的VM。後端工程師設計後端的的Model,與前端VM作映射。這樣雙方的工做就徹底獨立。因此前端不只僅須要懂得設計類代碼和js,並且須要懂得必定的服務器端代碼,好比PHP,java和c#。然後端工程師的技術背景更多在於算法,中間件架構,數據庫,網絡通訊,操做系統。數據庫
1 前端架構師/Leader但你跳出增刪改查的範疇後,就進入的前端架構的範疇,通常只會出如今超大型公司。以taobao爲例,一個頁面上會嵌套無數個服務,有商品展現,用戶信息,營銷活動.....那麼是否是須要把這些服務邏輯隔離,業務隔離後展示仍是同樣的呀,所以須要開發出公共組件,而不是用jQurey從頭開始一個個組件的寫。另外響應速度須要保證呀,所以如何優化網絡請求,如何減小請求次數,以及部署方式,這都是前端架構師的考慮範疇。具體工做包含下列這些:c#
項目部署:前端項目部署應該由前端架構師來決定,這裏涉及到網絡性能優化和開發規範對接的問題,因此前端架構師要理解工程部署的過程,並把開發和部署打通,不然開發受限於部署,架構設計會遇到阻礙。後端
組件化與組件生態:因爲前端面向的是界面設計,因此在模塊化之上還有組件化開發模型須要架構師提供。此外,項目中一些可複用的模塊或組件應該有必定的複用渠道,這部分我稱之爲生態。架構師應該提供這樣的渠道來解決多個團隊或項目之間的代碼複用問題。安全
前端安全:這部分也應該有架構師負責的部分。主要是在開發、統計的過程當中對前端安全作保障,好比xss修復、頁面腳本注入監控等.
系統測試:不少人老是嘗試用API測試方法論中的單元測試來測試前端項目,實際上是片面的。前端測試屬於GUI測試範疇,前端項目中使用的框架、類庫通常由外部提供,已經由API測試作了質量保證,而項目中的測試應該主要集中在GUI測試上,這部分目前沒有好的解決方案作支撐,因此也沒有什麼好的衡量辦法。
2 產品經理因爲前端童鞋對美感稍號(貌似日常打扮的也潮些),這是他們轉產品經理的優點。大產品經理畢竟很少,更多的產品經理在摳一個個按鈕,一個個流程。前端童鞋對於界面的熟悉能轉化成優點,並且由於前端不少都是非科班出身,再深刻下去一旦設計到操做系統,網絡層面就難了,所以有不少前端轉爲產品經理的。
入門簡單,高級稀缺。入門比較簡單,會html,css就能作前端,見過不少設計師兼職前端工做的。但越深刻越難,初級多如狗,高級很難找,爲了快速開發你得會Vue,React吧,爲了構建項目你要會Gulp,Nodejs吧,此外還有Hybrid開發模式: 用前端來呈現Android和IOS相同的頁面,因此前端正變得的愈來愈複雜。此外對前端速度會有要求,你必須熟悉網絡協議,性能優化等等。並且科班出身從事前端工做的並很少,所以高級前端碼農的稀缺。
潛力不入後端碼農。主要是涉及業務很少,沒有業務就沒法深刻核心價值。並且項目經理也是常常從後端碼農中出,由於後端業務多,複雜度略高。所以不少後端碼農能轉項目經理,能轉架構師,甚至能作CTO,但前端開發能作到前端leader可能就到頭了。