為什么2017年Web前端開發工程師薪資越來越高?

日期:2016-12-28 06:01:03 作者:fuli 瀏覽: 查看評論 加入收藏

放眼全球,不僅在國內的互聯網行業,在國外,前端工程師一樣是需求旺盛、供不應求的香餑餑。所以在供不應求的前端招聘市場上,優秀的前端工程師才是有話語權的那一方。


前端開發是做什么的?

前端是互聯網時代軟件產品研發中不可缺少的一種專業研發角色。從狹義上講,前端工程師使用 HTML、CSS、JavaScript 等專業技能和工具將產品UI設計稿實現成網站產品,涵蓋用戶PC端、移動端網頁,處理視覺和交互問題。從廣義上來講,所有用戶終端產品與視覺和交互有關的部分,都是前端工程師的專業領域。


整個互聯網行業都缺前端工程師的原因?


首先讓我們分析一下最近兩年html5JavaScript的發展趨勢


html5發展趨勢

為什么2017年Web前端開發工程師薪資越來越高.png


可見,HTML5可以說是最熱門的前端崗位了,在2010年和2014年底有兩次爆發性增長,現在在美國的崗位需求甚至超過了iOS。所以市場上優秀的前端工程師相對較缺少,是一個世界性難題。

JavaScript排名情況

為什么2017年Web前端開發工程師薪資越來越高.jpg


原因一:2016年對于很多人來說還沒有徹底的認識到前端開發是做什么的,那段工程師中接口技術的實現和用戶體驗作為一個專業的領域,所以很新。前端開發的技術也非常的迅猛。


原因二:對前端,普遍存在巨大的誤解,其實前端一點也不簡單

大多人都認為前端開發是一個「相對于其他模塊來說更簡單的領域」,在他們心中的前端工程師是這樣工作的:


1、把Photoshop文件、圖片或者線框做成一個頁面;
2、偶爾設計Photoshop文件、圖片或者線框;
3、用JS實現動畫、過渡效果;
4、用HTML和CSS編程,實現網頁的內容和形式。


事實上,前端工程師在做的是:


1、在設計師和工程師之間創建可視化的語言;
2、根據設計稿定義一組代表內容、品牌和功能的組件;
3、為Web應用程序的框架、需求、可視化的語言和規格設定基準;
4、根據設備、瀏覽器、屏幕、動畫來劃分web應用的工作劃分;
5、用QA基準來保證指南來確保品牌忠誠度、代碼質量、產品標準;
6、調節Web應用程序的樣式,包括間距、字體、標題、圖標、布局等等;
7、根據不同分辨率、橫屏豎屏等,調節Web應用程序的樣式;
8、標記 Web 應用程序,使之語義化,SEO 友好;
9、通過API獲取內容要考慮友好性、電池消耗性、設備和客戶端的特性;
10、開發客戶端要考慮動畫的流暢、延遲加載、交互、應用工作流程,大多數時間用來考慮漸進增強和向后兼容的標準;
11、保證后臺連接安全,采取跨地資源共享( CORS )的程序考慮,防止跨站點腳本( XSS)和跨站點請求偽造( CSRF ) ;
12、最重要的是,盡管有嚴格的期限、利益相關者的要求,以及設備的限制,無論現在還是將來永遠是「客戶第一」。


為了實現上述目標,前端工程師采用了從可視化到編程的多種工具 ,甚至有時要照顧市場、 UX 到內容tweakes等等。


原因三:大量糟糕前端工程師的存在,擾亂了市場


這或許是難以招到優秀前端工程師最明顯的原因。由于前端工程師的入門門檻非常低,JS、CSS、HTML并不是很難入門掌握的語言,似乎只要花一點時間,誰都可以通過網上教程和書本學會它。對的,前端工程師市場就是被這些淺嘗輒止的家伙搞壞的。


糟糕的前端工程師是這樣做事的:


1、濫用 JavaScript 庫,因為他們實際上并不了 JavaScript 的核心(e.g. 一切都用 jQuery);
2、濫用 JavaScript 插件,無節制的復用別人的代碼,哪怕自己根本讀不懂;
3、不看需求、設計,也不做比較或評價,就給 Web 應用程序添加 CSS 框架,卻只用到框架的一小部分;
4、認為只要用了 CSS 框架,網站就是響應式的,或是對響應式設計的意義理解不到位;
5、一邊在說著「響應式 Web 設計」,卻對服務器端解決方案技術一無所知;
6、用 CSS 編程時不做預處理器、命名規范等;
7、忽視性能、內存泄露(并不理解內存泄露的真正含義),不會檢測代碼;
8、不會用指標衡量一個產品,或者這種指標旨在自己的電腦、瀏覽器、設備有效;
9、忽視 30 年來的軟件工程技術,閉門造車。


要知道,入門容易精通難,計算機和軟件的基礎對你用JS或瀏覽器編程都非常重要。web可能是最有影響力的平臺和環境之一,在那里執行的程序必須被小心對待。一位優秀的前端工程師不僅要考慮web技術和語言,并且還要了解所有不同的組件、系統和概念。


以下是優秀的前端工程師在即時面對普通的任務也會做的事情(這才是市場急需的前端):


1、DNS 解析,使用 CDN,把資源請求分散到多個域名上去;
2、理解 HTTP Headers (Expires、Cache-Control、If-Modified-Since)
3、Steve Souders 的所有高性能網頁優化規則(參考:High Performance Websites 一書)
4、如何解決 PageSpeed、YSlow、Chrome Dev Tools Audit、Chrome Dev Tools Timeline 等工具列出的所有問題;
5、何時把任務傳到服務器,何時適合傳到客戶端;
6、緩存,預取和延遲加載技術的使用;
7、原生 JavaScript,知道何時從頭開始做,何時參考別人的代碼,同時可以評估這樣做的優缺點;
8、 最新的 MVC Javascript 庫知識以及用法;
9、CSS 標準的知識與用法;
10、JavaScript的計算機科學部分的知識(內存管理,垃圾收集算法等等)


換句話說,如果說精通HTML+CSS+JS,了解后端知識,只是60分的合格前端;那么要想成為受追捧、拿高薪的80分優秀前端,要對業務需求和、架構設計有真正的運用;而100分的頂級前端,則必須要能夠兼顧技術和設計,更接近「以前端開發為主的全棧工程師」了。


留言與評論(共有 0 條評論)
   
驗證碼: