60分的合格前端,80分的優秀前端,100分的頂級前端,你的選擇?

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

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

道理我都懂,可是爲什麼我還是沒有找到滿意的工作?

其實前端一點也不簡單

很多剛接觸前端多久,都會認爲前端開發是一個「相對於其他模塊來說更簡單的領域」,幾乎是這樣認爲的:

1、把Photoshop文件、圖片或者線框放進一個網頁;

2、偶爾設計Photoshop文件、圖片或者線框;

3、用JS編程,爲網頁製作動畫、過渡效果;

4、用HTML和CSS編程,確定網頁的內容和形式。

事實上,前端工程師是這樣的:

1、在設計師和工程師之間創建可視化的語言;

2、用可視化的設計,定義一組代表內容、品牌和功能的組件;

3、爲Web應用程序的公約、框架、需求、可視化的語言和規格設定底線;

4、定義Web應用程序的設備、瀏覽器、屏幕、動畫的範圍;

5、開發一個質量保證指南來確保品牌忠誠度、代碼質量、產品標準;

6、爲Web應用程序設定適當的行距、字體、標題、圖標、餘糧、填充等等;

7、爲Web應用程序設定多種分辨率的圖像,設備爲主的實體模型,同時維護設計指南;

8、用account semantics, accessibility, SEO, schemas ,microformats 標記Web應用程序;

9、用一種友好的,消耗小的,設備和客戶端感知的方式連接API,獲取內容;

10、開發客戶端代碼來顯示流暢的動畫、過渡、延遲加載、交互、應用工作流程,大多數時間用來考慮漸進增強和向後兼容的標準;

11、保證後臺連接安全,採取跨地資源共享( CORS )的程序考慮,防止跨站點腳本( XSS)和跨站點請求僞造( CSRF ) ;

12、最重要的是,儘管有嚴格的期限、利益相關者的要求,以及設備的限制,無論現在還是將來永遠是「客戶第一」。

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

1你離優秀前端的差距有多大?

由於前端工程師的入門門檻非常低,JS、CSS、HTML並不是很難入門掌握的語言,似乎只要花一點時間,就可以通過網上教程和書本學會它,然而你會發現事情並不簡單。一位好的Web前端開發工程師在知識體系上既要有廣度,又要有深度,所以很多大公司即使出高薪也很難招聘到理想的前端開發工程師。那麼如何系統的學習企業實用的web前端技術呢,爲此建立了一個web前端的直播上課學習扣扣裙,web前端前面數字是四九一,web前端中間的數字是四零四,web前端最後是三八九,將數字連接起來就是了。真正想要學習的可以進入,打醬油的就不要浪費大家的時間了。現在說的重點不在於講解技術,而是更側重於對技巧的講解。技術非黑即白,只有對和錯,而技巧則見仁見智

很多人是這樣做的:

1、濫用JS庫,因爲實際上並不了JS的內部(e.g. 一切都用jQuery);

2、濫用JS插件,抄別人的代碼哪怕自己根本讀不懂(e.g.jQuery.doParallaxPls.js);

3、給Web應用程序添加CSS框架,卻只用到CSS/JS的5%,沒有看到任何的需求、設計或者比較和評價;

4、認爲只要添加了CSS框架,網站就可以「有求必應」;

5、一邊在說着「響應式web設計」,卻對服務器端技術一無所知;

6、用CSS編程時不管預處理器、命名規範等,卻用不合適的selector/ids/magic numbers等;

7、忽視表現、內存泄露(並不理解內存泄露的真正含義),不會檢測代碼;

8、不會用指標衡量一個產品,或者這種指標旨在自己的電腦、瀏覽器、設備有效;

9、忽視軟件技術。

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

優秀的前端工程師是這樣做的(這纔是市場急需的前端):

1、DNS解析、使用CDN和關於multiple Hostnames as part of resources request.

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、Native JS,知道何時從頭開始做,何時查找別人的代碼,同時可以評估這樣做的優缺點;

8、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)的相關知識和用法;

9、CSS標準、modern conventions、 strategies (e.g. BEM, SMACSS, OOCSS)的知識和用法;

10、JS的電腦知識(內存管理,單線程的性質,垃圾收集算法,超時,範圍,提升,模式)

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

如果有想一起學習web前端,想製作酷炫的網頁,可以來一下我的前端羣:731771211,從最基礎的HTML+CSS+JavaScript【炫酷特效,遊戲,插件封裝,設計模式】到移動端HTML5的項目實戰的學習資料都有整理好友都會在裏面交流,分享一些學習的方法和需要注意的小細節,每天也會準時的講一些前端的項目實戰,及免費前端直播課程學習

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章