現在,差點兒整個互聯網行業都缺前端project師,不只在剛起步的創業公司。上市公司乃至巨頭,這個問題也同樣存在。沒錯。優秀的前端project師簡直比大熊貓還稀少。前端
天天,100offer的HR羣都有人在吐槽招不到前端project師。實話說對這些需求。Betty也無能爲力。因爲在供不該求的前端招聘市場上,優秀的前端project師纔是有話語權的那一方。web
放眼全球,不只在國內的互聯網行業,在國外,前端project師同樣是需求旺盛、供不該求的香餑餑。面試
舉個樣例,依據indeed.com抓取的數千家站點的職位顯示:眼下前端的熱門崗位——「HTML5」是需求增加最快的開發崗位。在所有開發職位中排名第一。MongoDB和iOS緊隨其後位列第2、第三。算法
可見。HTML5可以說是最熱門的前端崗位了,在2010年和2014年末有兩次爆發性增加,現在在美國的崗位需求甚至超過了iOS。數據庫
因此市場上優秀的前端project師相對較缺乏,是一個世界性難題。編程
可能很是多人以爲前端開發和web開發類似,而web開發已經有20多年的歷史。所曾經端並不是一個新領域。後端
然而,前端project師的概念中的「接口技術實現和用戶體驗做爲一個專業的工做領域」。卻無疑是很是新的。大概幾年前,前端開發的技術增加迅猛,例如如下圖所看到的:瀏覽器
過去幾年前端project師的可視化增加趨勢 by Google Trends緩存
15年或更久曾經,web的可視化設計和技術實現所須要的資源是平均分配的。安全
隨着站點的發展——站點不只是一個登陸頁面,project資源的需求愈來愈明顯。人們開始專門學習站點專用的JS、後端技術、UX、數據庫。甚至系統設計。
今天。一個像AirBnB/Facebook/Quora的Web應用程序,投入的project資源比設計資源多得多。
換句話說。現在。作出網頁的視覺設計比技術實現要更快。因此當今的web需求要求不少其它的project師供應。
現在,一位合格的前端project師,必須對視覺設計有興趣(或者樂於作一個受虐狂▼)。
很是顯然,要處理大量的Web應用程序需求,技術任務就要進行分類,以便於多人同一時候處理站點請求。
其實現在已經不可能一我的高速地解決所有的技術細節了。
現在另外一類人是獨自處理一個Web應用程序的所有問題,即「全棧project師」,但是優秀的全棧project師相同如大熊貓通常數量稀少。
現在,一個創業公司想要成功。差點兒要覆蓋一個Web應用程序的諸多技術方面:前端、後臺、DBA、運營等。
儘管已經有一些服務可以讓企業購買登錄頁面的前端模塊和組件。但是假設你想要創造一些真正的Web應用程序。除了求助前端project師,別無他法,就像你要創立一個品牌你也繞不開請一位設計師同樣。
大多人都以爲前端開發是一個「相對於其它模塊來講更簡單的領域」,在他們心中的前端project師是這樣工做的:
一、把Photoshop文件、圖片或者線框放進一個網頁;
二、偶爾設計Photoshop文件、圖片或者線框;
三、用JS編程,爲網頁製做動畫、過渡效果。
四、用HTML和CSS編程,肯定網頁的內容和形式。
其實。前端project師在作的是:
一、在設計師和project師之間建立可視化的語言。
二、用可視化的設計,定義一組表明內容、品牌和功能的組件。
三、爲Web應用程序的公約、框架、需求、可視化的語言和規格設定底線;
四、定義Web應用程序的設備、瀏覽器、屏幕、動畫的範圍;
五、開發一個質量保證指南來確保品牌忠誠度、代碼質量、產品標準。
六、爲Web應用程序設定適當的行距、字體、標題、圖標、餘糧、填充等等;
七、爲Web應用程序設定多種分辨率的圖像。設備爲主的實體模型。同一時候維護設計指南;
八、用account semantics, accessibility, SEO, schemas ,microformats 標記Web應用程序。
九、用一種友好的,消耗小的,設備和client感知的方式鏈接API。獲取內容;
十、開發client代碼來顯示流暢的動畫、過渡、延遲載入、交互、應用工做流程。大多數時間用來考慮漸進加強和向後兼容的標準;
十一、保證後臺鏈接安全,採取跨地資源共享( CORS )的程序考慮,防止跨站點腳本( XSS)和跨站點請求僞造( CSRF ) ;
十二、最重要的是,儘管有嚴格的期限、利益相關者的要求,以及設備的限制,無論現在仍是未來永遠是「客戶第一」。
爲了實現上述目標。前端project師採用了從可視化到編程的多種工具 。甚至有時要照應市場、 UX 到內容tweakes等等。
這也許是難以招到優秀前端project師最明顯的緣由。因爲前端project師的入門門檻很是低,JS、CSS、HTML並不是很是難入門掌握的語言。彷佛僅僅要花一點時間。誰都可以經過網上教程和書本學會它。對的,前端project師市場就是被這些淺嘗輒止的傢伙搞壞的。
糟糕的前端project師是這樣作事的:
一、濫用JS庫。因爲他們實際上並不了JS的內部(e.g. 一切都用jQuery);
二、濫用JS插件,抄別人的代碼哪怕本身根本讀不懂(e.g.jQuery.doParallaxPls.js);
三、給Web應用程序加入CSS框架。卻僅僅用到CSS/JS的5%,沒有看到不論什麼的需求、設計或者比較和評價。
四、以爲僅僅要加入了CSS框架,站點就可以「有求必應」;
五、一邊在說着「響應式web設計」,卻對server端技術一無所知。
六、用CSS編程時無論預處理器、命名規範等。卻用不合適的selector/ids/magic numbers等;
七、忽視表現、內存泄露(並不理解內存泄露的真正含義)。不會檢測代碼。
八、不會用指標衡量一個產品。或者這樣的指標旨在本身的電腦、瀏覽器、設備有效;
九、忽視軟件技術。
要知道,入門easy精通難,計算機和軟件的基礎對你用JS或瀏覽器編程都很是重要。web多是最有影響力的平臺和環境之中的一個,在那裏運行的程序必須被當心對待。一位優秀的前端project師不只要考慮web技術和語言。並且還要了解所有不一樣的組件、系統和概念。
下面是優秀的前端project師在即時面對普通的任務也會作的事情(這纔是市場急需的前端):
一、DNS解析、使用CDN和關於multiple Hostnames as part of resources request.
二、HTTP Headers (Expires, Cache-Control, If-Modified-Since)
三、Steve Souders的所有規則(High Performance Websites)
四、怎樣解決PageSpeed, YSlow, Chrome Dev Tools Audit, Chrome Dev Tools Timeline顯示的所有問題。
五、什麼時候把任務傳到server和client;
六、緩存,預取和負荷技術的使用;
七、Native JS,知道什麼時候從頭開始作,什麼時候查找別人的代碼,同一時候可以評估這樣作的優缺點。
八、modern MVC Javascript libraries (e.g. AngularJS, EmberJS, ReactJS), graphic libraries (e.g. D3, SnapSVG), DOM manipulation libraries (e.g. jQuery, Zepto), lazy loading or package management libraries (e.g. RequireJS, CommonJS), task managers (e.g. Grunt, Gulp), package managers (e.g. Bower, Componentjs) and testing (e.g. Protractor, Selenium)的相關知識和使用方法。
九、CSS標準、modern conventions、 strategies (e.g. BEM, SMACSS, OOCSS)的知識和使用方法。
十、JS的電腦知識(內存管理,單線程的性質。垃圾收集算法,超時。範圍。提高,模式)
換句話說。假設說精通HTML+CSS+JS。瞭解後端知識,僅僅是60分的合格前端。那麼要想成爲受追捧、拿高薪的80分優秀前端。要對業務需求和、架構設計有真正的運用;而100分的頂級前端,則必須要可以兼顧技術和設計。更接近「曾經端開發爲主的全棧project師」了。
現在,前端project師最終史無前例的在web中佔有了一席之地。隨着多設備、瀏覽器和Web標準的演變革命,前端正在成爲兼顧邏輯、性能、交互、體驗的綜合性崗位。
儘管現在互聯網行業廣泛缺乏前端project師,但是咱們相信愈來愈多的人將會加入前端的大軍。不只是因爲大多數前端工做提供的優渥薪水和辦公環境,也是因爲web中的前端編程變得愈來愈有挑戰和意義。
最後。分享一組3~4月的100offer拍賣數據。給前端們鼓鼓勁:
前端project師人均收穫8.2個面試機會。已入職的前端project師平均薪資漲幅達39%。
當中,前端offer之王共收穫47個offer,最高offer薪水38k*16 ,開自某土豪電商。
加油吧,前端!
封面圖片出自:www.adhamdannaway.com部份內容出自:jjperezaguinaga.com100offer 原創翻譯製做,轉載需受權。