什麼是前端工程師?前端工程師需要掌握什麼技能?

什麼是前端工程師?前端工程師需要掌握什麼技能?

來自專欄 Web前端開發工程師成長營1 人贊了文章

前言

前端工程師是一個出現了10年左右,而頗受重視則是最近這五六年的事情。受到重視到前端從業人員井噴,也就是這一兩年而已。因為前端工程師這個職位出現得太晚,導致各大學校均沒有系統的相關教學,我們所熟知的各個大牛均是自我研究自我學習的。而隨著google推出v8引擎以來,尤其是gmail對ajax的應用,再隨著jquery的出現,解決了各大瀏覽器的兼容問題,而nodejs則將js推向伺服器端,javascript從一個邊角料的語言變成了一個性能強勁,前後端通吃的強大語言。

技術的發展緊緊是一個方面,更重要的是這幾年萬眾創新,互聯網+的概念深入人心,因此大量資金湧入互聯網領域,大量的創業公司如雨後春筍一樣湧出。大量的公司需要前端工程師的加盟,因此大量後端工程師開始轉向前端。

而這些後端工程師因為其深厚的編程思想,他們完全無法忍受毫無邏輯可言的html+css+js的原始編程狀態,因此又開發了各種前端工具以及語言。如針對html的jade模板引擎,針對於css的less、sass、stylus等。而為了便於項目部署,又有了所謂的amd、cmd標準。一直發展到browserify、webpack等打包工具。而自從Misko

Hevery開發了AngularJS之後,破天荒一樣的整出了雙向綁定的概念,自此,前端江湖真是百花齊放,爭奇鬥豔,一發不可收拾。

暈了,真的暈了。難怪真阿當同志在2016年年末在csdn上痛心疾首的指出,這已經亂到烏七八糟,再不是他熟悉的那個親切的前端世界了。世界潮流浩浩蕩蕩,不會因為真阿當這樣的前朝遺老就停止發展的步伐。在npm上各種組件、框架、工具每天都在上架,已經上架的不斷的在升級,甚至,有的升級是以小時計!

而由於前兩年前端工程師的緊缺,導致薪資頗為水漲船高,大量不明所以的路人湧入前端行列,以至於在知乎上關於如何入門前端,前端學五個月能不能工作,以及各種諮詢如何從事前端行業的奇葩問題如沙灘的貝殼一樣俯身可拾。

在這混沌亂世,我不禁要問,到底什麼是前端工程師?到底掌握什麼技能才能稱之為前端工程師?

什麼是前端工程師?

現在的前端工程涉及的面實在是太多了。以至於很多人搞不清楚,以為會點html+css就是前端工程師了。我把前端工程師分為以下兩類:

前前端工程師

此類工程師的工作主要是和設計師對接,將設計師的設計稿像素級還原成html+css的網頁。也就是說,很多所謂的老前端工程師,或者自認為學點html就能成為的前端工程師,只不過是前前端工程師而已。

在html、css、js三門語言中,很多人認為困難的是js語言。對嗎?對也不對。

js語言的困難在於他是一門真正的編程語言,所以寫js編程是需要邏輯能力的。而這個邏輯能力是相當一部分人欠缺的。所以認為js語言難也就不足為怪了。但是,我認為js語言是這三個語言中最簡單的。為什麼呢?正因為它是一門邏輯語言,所以他是可以推導的。如果你本身邏輯能力不差,又或者學習過其他編程語言,入手js語言並非一個很困難的事情。

真正的難點在於html、css這兩個所謂的語言。很多工程師嘲笑前端工程師說,html、css算編程語言嗎?

我回答你——不算!

正因為其邏輯不強,是一個非常鬆散的語言狀態,才導致其無比之難。你沒有什麼可以推導的。這樣寫也行,那樣寫也行,無論怎麼寫,只要能實現效果就行。問題是,優雅嗎?

好比幾乎所有中國人都認識3000個以上的漢字,任憑誰都能寫點東西,但是真正能夠讓人感覺寫得好的,寥寥無幾。這是兩門感性的語言,和其他編程語言完全不是一碼子事兒,所以,這才是真正的難語言。

有人說,實現效果就行唄!對,正如我們每個人都能把話說清楚,不求堆砌華麗的辭藻一樣,這樣是能夠與人交流了,上街也能買賣東西做生意。但是,在對前端工程師要求越來越高的今年,你還真心以為就會倆標籤div+span就可以給自己戴上一個所謂的前端工程師的帽子,然後就月薪過萬,當上CEO,迎娶白富美走上人生巔峰了嗎?

做夢去吧!

如果你邏輯能力確實不強,但感性,理想化,尤其是文章寫得還不錯,如果還是個愛浪漫的女生願意從事前端工作。那麼如果你把html+css這兩門語言深入進去學習,也是頗有可為的。

另外,雖然現在各種前端框架熱火朝天,但是你看看現在主流的大型網站,新浪搜狐網易騰訊,是不是基本上都是老一套,除了頁面設計越來越美,我沒見哪個大型網站會使用angular、react、vue這些東西。所以前景還是很美好的。

但如果你是個摳腳丫子的糙漢子,咱還是別了,咱們有重體力活兒可以干!

後前端工程師

什麼是後前端工程師?上面的前前端工程師其實就是原來的前端工程師,而這兩年炒得火熱的前端工程師實際上是把原來屬於後端工程師的活兒給搶過來了。所以我把它命名為後前端工程師。

後前端工程師需要至少了解一門後端語言,了解json數據交互格式,了解至少一個前端框架,當然js語言基礎絕不能差。了解項目構建,路由設定,資料庫原理,服務操作等等一系列的基礎知識。

具體負責的工作就是將前前端工程師開發好的網頁,基於某種前端框架,與後端介面對接,並部署調試等。當然,在大部分公司,是不會把前端工程師分成前前端工程師和後前端工程師的,所以,頁面製作的工作也需要由你來實現。

這才使真正的前端工程師。

當然,如果你希望往全棧去發展,那麼服務端Node.js編程也需要掌握,我大前端牛逼啦!站在泰山之巔振臂一呼,還TM有誰?!

如果你真心如此牛逼,那早已走上技術巔峰了。只是,縱觀火熱的前端圈,又有幾人能達到如此境界呢?高處不勝寒啊!

我想從事前端,我該如何入手呢?

首先,基礎的html+css是必須掌握的,就好比學習中文一樣,你必須先掌握3000左右的識字量,才可以說略懂中文。但是,在掌握了html+css基礎之後,如何發展,取決於你自身的特點。

如果你比較年輕,大學剛畢業,自認為邏輯能力不錯!,那麼建議直接進入後前端的學習,深挖js語言,再根據你所在的公司的實際情況,選擇一個主流的前端框架進行深入,在js不斷深入的過程中不斷的開發項目,如果能遇到一個好的公司,好的團隊,你將快速的提升自己的技術能力,建議你從後前端的不斷深入,然後不斷提升前前端技能,最終達到真正的大前端。將來往全棧發展都是很有希望的。

如果你比較年輕,喜好文學,感性浪漫,建議深入學習html+css,再附帶了解js語言,如果在一個不錯的團隊中,可以接觸到那些後前端非常厲害的同事,你未必能如它在這些方面如此牛逼,但是你依然可以進步不小。不過,html+css是毫無捷徑可言的,都是慢慢打磨出來的實力。你在js方面可能確實不如別人,但是要做到,同樣的一個頁面,你寫的html+css就是比別人的簡潔,整齊,優雅,那麼你自然有你的存身之道。建議從前前端入手,深入後再往後前端靠攏,具體能提升到何種境界,要看你的天賦與努力的。

我是後端工程師轉前端,咱別費那個勁了,以你多年的後端經驗可想而知,你的html+css水平一定是垃圾,就是因為你這樣的後端工程師的存在,才導致前端工程師奮起爭先,往大前端發展的。不過沒有關係,你可以揚長避短,利用你無比牛逼的邏輯能力與後端變成語言天賦,直接入手js語言以及某一個前端框架。推薦angular或者react。因為這倆框架就是你們後端寫的。你會無比親切。至於html+css這種小事情,教給別人去寫啦!當然,你還可以深入研究node.js,往服務端發展,也是很不錯的職業棧。

我是什麼類型的前端?

吹了這麼多牛逼,肯定有很多人不服。好,我簡單說下我的情況。

我學得是中文。前端工程師這塊基本全部自學,擅長html+css。目前從事vue技術棧的開發工作。04年入行從事網頁切圖仔的工作,國內第一批研究所謂div+css的人。擅長seo優化網站,語義化書寫網頁。12年以前沒有關心過js語言。

目前在後前端的路上奮起直追。說我的前端經驗,12年從業。但是真正在js語言上用功,也就是這兩年的事情。所以,我是一個老菜鳥。

作者:FungLeo

?原文鏈接:blog.csdn.net/FungLeo/a

推薦閱讀:

Node.js包結構和小而美的哲學
(11)讓「盒子」動起來——① 浮動
飛冰 2.0 正式發布並支持 Vue 項目開發
前端面試集合貼(三)
讓你的代碼更Prettier!代碼風格統一終極方案!

TAG:前端工程師 | 前端開發 | 職業規劃 |