天天看點

成為一個高薪的web前端程式員很難嗎? 方法不對,一切白費

我所遇到的前端程式員分兩種:

第一種一直在問:如何學習前端?

第二種總說:前端很簡單,就那麼一點東西。

我從沒有聽到有人問:如何做一名優秀、甚至卓越的WEB前端工程師。

成為一個高薪的web前端程式員很難嗎? 方法不對,一切白費

今天來和大家如何成為優秀web前端開發,以及怎樣獲得高薪?

何為前端工程師?

前端工程師,也叫Web前端開發工程師。他是随着web發展,細分出來的行業。Web前端開發技術主要包括三個要素:HTML、CSS和JavaScript!前端開發的入門門檻其實很低,與伺服器端語言先慢後快的學習曲線相比,前端開發的學習曲線是先快後慢。

HTML 甚至不是一門語言,他僅僅是簡單的标記語言!

CSS 隻是無類型的樣式修飾語言。當然可以勉強算作弱類型語言。

Javascript 的基礎部分相對來說不難,入手還算快。

也正因為如此,前端開發領域有很多自學成“才”的同行,但大多數人都停留在會用的階段,因為後面的學習曲線越來越陡峭,每前進一步都很難。

Web前端技術有一些江湖氣,知識點過于瑣碎,技術價值觀的博弈也難分伯仲,即全局的系統的知識結構并未成體系,這些因素也客觀上影響了“正統“前端技術的沉澱!而且各種“奇技淫巧”被濫用,前端技術知識的傳承也過于泛泛,新人難看清時局把握主次。是以,前端技術領域,為自己覓得一個靠譜的師兄,重要性要蓋過項目、團隊、公司、甚至薪水。

另一方面,正如前面所說,前端開發是個非常新的職業,對一些規範和最佳實踐的研究都處于探索階段。總有新的靈感和技術不時閃現出來,例如CSS sprite、負邊距布局、栅格布局等;各種JavaScript架構層出不窮,為整個前端開發領域注入了巨大的活力;浏覽器大戰也越來越白熱化,跨浏覽器相容方案依然是五花八門。為了滿足“高可維護性”的需要,需要更深入、更系統地去掌握前端知識,這樣才可能建立一個好的前端架構,保證代碼的品質。

随着手持裝置的迅猛發展,帶動了 HTML5行業标準的快速發展。web領域的技術,大概有10年都沒有大的更新了!

成為一個高薪的web前端程式員很難嗎? 方法不對,一切白費

現在市場很需要優秀的、進階的前端工程師。

一方面是因為這是一個比較新的細分行業,而且前端程式員大都自學一部分,知識結構不系統;另一方面,大學裡面沒有這種課程,這時候你可以選擇去教育訓練機構進行深造。

吳亮在《JavaScript 王者歸來》第一張的序裡面說:大多數程式員認為 Javascript 過于簡陋,隻适合一些網頁上面花哨的表現,是以不願花費精力去學習,或者以為不學習就能掌握。

實際上,一門語言是否腳本語言,往往是她的設計目标決定,簡單與複雜并不是區分腳本語言和非腳本語言的标準。

事實上,在腳本語言裡面,Javascript 屬于相當複雜的一門語言,他的複雜度即使放在非腳本語言中來衡量,也是一門相當複雜的語言!Javascript 的複雜度不遜色于 Perl 和 Python!

如何學習前端知識

我們生活在一個充滿規則的宇宙裡面。社會秩序按照規則運作,計算機語言幾乎全部是規則的集合。計算機前輩們定義規則,規則限制我們,我們用規則控制資料。大部分時候,對資料的合理控制,來自于你對規則的掌握。

學習 HTML,CSS 應該先跟着書仔細、紮實的學一遍。然後就需要做大量的練習,做各種正常的、奇怪的、大量的布局練習來捆固、了解自己的知識。

而學習 Javascript 首先要知道這門語言可以做什麼,不能做什麼,擅長做什麼,不擅長做什麼!

如果你隻想當一個普通的前端程式員,你隻需要記住大部分 Javascript 函數,做一些練習就可以了。

如果你想當深入了解Javascript,你需要了解 Javascript 的原理,機制。需要知道他們的本源,需要深刻了解 Javascript 基于對象的本質、行為、特性。

因為曆史原因,Javascript一直不被重視,有點像被收養的一般! 是以他有很多缺點,各個宿主環境下的行為不統一、記憶體溢出問題、執行效率低下等問題。

作為一個優秀的前端工程師還需要深入了解、以及學會處理 Javascript 的這些缺陷。

成為一個高薪的web前端程式員很難嗎? 方法不對,一切白費

高薪前端開發需要具備什麼條件?

首先,優秀的Web前端開發工程師要在知識體系上既要有廣度和深度!做到這兩點,其實很難。是以很多大公司即使出高薪也很難招聘到理想的前端開發工程師。技術非黑即白,隻有對和錯,而技巧則見仁見智。

在以前,會一點Photoshop和Dreamweaver的操作,就可以制作網頁。現在,隻掌握這些已經遠遠不夠了。無論是開發難度上,還是開發方式上,現在的網頁制作都更接近傳統的網站背景開發,是以現在不再叫網頁制作,而是叫Web前端開發。

Web前端開發在産品開發環節中的作用變得越來越重要,而且需要專業的前端工程師才能做好。

Web前端開發是一項很特殊的工作,涵蓋的知識面非常廣,既有具體的技術,又有抽象的理念。簡單地說,它的主要職能就是把網站的界面更好地呈現給使用者。

其次,優秀的Web前端開發工程師應該具備快速學習能力。Web發展的很快,甚至可以說這些技術幾乎每天都在變化!如果沒有快速學習能力,就跟不上Web發展的步伐。前端工程師必須不斷提升自己,不斷學習新技術、新模式;僅僅依靠今天的知識無法适應未來。Web的明天與今天必将有天壤之别,而前端工程師的工作就是要搞清楚如何通過自己的Web應用程式來展現這種翻天覆地的變化。

說到這裡,我想起了一個大師說過的一句話:對于新手來說,新技術就是新技術。對于一個高手來說,新技術不過是就技術的延伸。

優秀的web前端滿足四類客戶的需求

1、産品經理。

這些是負責策劃應用程式的一群人。他們會想出很多新鮮的、奇怪的、甚至是不可是實作的應用。一般來說,産品經理都追求豐富的功能。

2、UI設計師。

這些人負責應用程式的視覺設計和互動模拟。他們關心的是使用者對什麼敏感、互動的一貫性以及整體的好用性。一般來說,UI設計師于流暢靓麗、但并不容易實作的使用者界面,而且他們經常不滿前端工程師造成 1px 的誤差。

3、項目經理。**

這些人負責實際地運作和維護應用程式。項目管理的主要關注點,無外乎正常運作時間、應用程式始終正常可用的時間、性能和截止日期。項目經理追求的目标往往是盡量保持事情的簡單化,以及不在更新更新時引入新問題。

4、最終使用者。

指的是應用程式的主要消費者。盡管前端工程師不會經常與最終使用者打交道,但他們的回報意見至關重要。最終使用者要求最多的就是對個人有用的功能,以及競争性産品所具備的功能。

成為一個高薪的web前端程式員很難嗎? 方法不對,一切白費

阿裡巴巴進階web前端這樣認為:

前端工程師是計算機科學職業領域中最複雜的一個工種。絕大多數傳統的程式設計思想已經不适用了,為了在多種平台中使用,多種技術都借鑒了大量軟科學的知識和理念。成為優秀前端工程師所要具備的專業技術,涉及到廣闊而複雜的領域,這些領域又會因為你最終必須服務的各方的介入而變得更加複雜。專業技術可能會引領你進入成為前端工程師的大門,但隻有運用該技術創造的應用程式以及你跟他人并肩協同的能力,才會真正讓你變得優秀。