1. 程式人生 > >為什麼整個網際網路行業都缺前端工程師?

為什麼整個網際網路行業都缺前端工程師?

                                                                   網際網路er的早讀課                      網際網路er的早讀課

微訊號zaoduke

功能介紹一個專注網際網路產品、運營、設計等領域的精選內容平臺,如果找不到乾貨,關注這裡就對了。資訊爆炸的時代,每天用心去讀一篇文章,也許勝過你的走馬觀花。每天早上,我們為60萬粉絲推薦精選乾貨,相信你會愛上我。

數十萬網際網路從業者的共同關注!


www.cqyinwei.cn現在,幾乎整個網際網路行業都缺前端工程師,不僅在剛起步的創業公司,上市公司乃至巨頭,這個問題也一樣存在。沒錯,優秀的前端工程師簡直比大熊貓還稀少。

這是100offer程式設計師拍賣的觀察報告,已獲授權,分享給你。

每天,100offer的HR群都有人在吐槽招不到前端工程師。實話說對這些需求,100offer的招聘體驗師也無能為力,因為在供不應求的前端招聘市場上,優秀的前端工程師才是有話語權的那一方。

放眼全球,不僅在國內的網際網路行業,在國外,前端工程師一樣是需求旺盛、供不應求的香餑餑。

舉個例子,根據indeed.com抓取的數千家網站的職位顯示:目前前端的熱門崗位——「HTML5」是需求增長最快的開發崗位,在所有開發職位中排名第一,MongoDB和iOS緊隨其後位列第二、第三。


可見,HTML5可以說是最熱門的前端崗位了,在2010年和2014年底有兩次爆發性增長,現在在美國的崗位需求甚至超過了iOS。

所以市場上優秀的前端工程師相對較缺少,是一個世界性難題。

原因一:前端相對來說是一個新領域,當今的web需求要求更多的工程師供應

可能很多人認為前端開發和web開發類似,而web開發已經有20多年的歷史,所以前端並不是一個新領域。然而,前端工程師的概念中的「介面技術實現和使用者體驗作為一個專業的工作領域」

,卻無疑是很新的。大概幾年前,前端開發的技術增長迅猛,如下圖所示:


過去幾年前端工程師的視覺化增長趨勢 by Google Trends

15年或更久以前,web的視覺化設計和技術實現所需要的資源是平均分配的。隨著網站的發展——網站不僅是一個登入頁面,工程資源的需求越來越明顯。人們開始專門學習網站專用的JS、後端技術、UX、資料庫,甚至系統設計。

今天,一個像AirBnB/Facebook/Quora的Web應用程式,投入的工程資源比設計資源多得多。換句話說,如今,做出網頁的視覺設計比技術實現要更快,所以當今的web需求要求更多的工程師供應。


現在,一位合格的前端工程師,必須對視覺設計有興趣。


很顯然,要處理大量的Web應用程式需求,技術任務就要進行分類,以便於多人同時處理網站請求。事實上現在已經不可能一個人快速地解決所有的技術細節了。


現在還有一類人是獨自處理一個Web應用程式的所有問題,即「全棧工程師」,但是優秀的全棧工程師同樣如大熊貓一般數量稀少。

現在,一個創業公司想要成功,幾乎要覆蓋一個Web應用程式的諸多技術方面:前端、後臺、DBA、運營等。雖然已經有一些服務可以讓企業購買登陸頁面的前端模組和元件;但是如果你想要創造一些真正的Web應用程式,除了求助前端工程師,別無他法,就像你要創立一個品牌你也繞不開請一位設計師一樣。

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

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

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 到內容改進等等。

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

這或許是難以招到優秀前端工程師最明顯的原因。由於前端工程師的入門門檻非常低,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分的頂級前端,則必須要能夠兼顧技術和設計,更接近「以前端開發為主的全棧工程師」了。

100offer 說:市場不是缺少前端,而是缺少優秀的前端工程師

現在,前端工程師終於前所未有的在web中佔有了一席之地。隨著多裝置、瀏覽器和Web標準的演變革命,前端正在成為兼顧邏輯、效能、互動、體驗的綜合性崗位。

雖然現在網際網路行業普遍缺少前端工程師,但是我們相信越來越多的人將會加入前端的大軍。不僅是因為大多數前端工作提供的優渥薪水和辦公環境,也是因為web中的前端程式設計變得越來越有挑戰和意義。

最後,分享一組3~4月的100offer拍賣資料,給前端們鼓鼓勁:

前端工程師人均收穫8.2個面試機會,已入職的前端工程師平均薪資漲幅達39%。其中,前端offer之王共收穫47個offer,最高offer薪水38k*16 ,開自某電商公司。