前幾天,公司組織技術沙龍活動,引出了一個話題「衡量優秀的卓越的前端工程師的標準是什麼呢?」你們紛爭不斷,會後我總結一下大體的說法,但願給奮鬥在前線的工程師一點建議,有不對的地方望你們指正。javascript
本文從二個維度去分析這個話題,每個維度表明不一樣方向的工程師的努力方向。css
一:自身技術的發展;html
二:前端的靈魂思想前端
在進行這個兩個維度的考慮的以前,我想強調一下一個合格的前端工程師的一些基本素養吧(ps:素養可能還不是很確切,可是很差意思我詞窮啊)java
前端工程師(F2E)jquery
看到這個簡稱,或許不少小白很迷茫,這是什麼呢?你不知懂,那麼就請點擊進去仔細看看。不過這個解釋我以爲有點太老了,不是很準確。做爲一個開發人員,你須要知道軟件工程師的一些簡稱:軟件工程師的簡稱git
在一塊兒大公司的交流,尤爲大型外企對接項目,一個開發人員僅僅有編碼能力是不夠的,並且須要你有着很強的交流溝通技巧,這裏提到了前端工程師的一些專業術語、英語水平能力和溝通技巧。看到這裏,你會說咱們公司都用不着,這裏只能說咱們目光短淺了,距離標準遠了一點而已。我之前也是這麼想的,可是遇到咱們公司的技術沙龍,明白了之前真的是目光短淺,或者說我尚未目光吧。程序員
看到上面兩個工程師,從圖標看每個工程師的職業都有着不一樣的寓意,表明着不一樣的領域。爲何前端工程師一個獅子呢?不是其它的動物?而java工程師是那麼多的人呢?從設計角度出發:前端工程師是否是很特殊呢?這也能讓咱們想到爲何這兩年的前端工程師職位比較火,爲何你們都想從事這個行業?這裏我想說的是:前端工程師,須要你細心一些,同時要有敏銳的感受,高的用戶體驗思惟,由於前端工程師更多的是去提早體驗用戶的全部的操做,去設計和實現用戶的所需的一些系統功能的。github
一個前端工程師:你須要不斷地去思考你的行業、你的公司、你的產品未來的一些變化、不一樣的用戶的喜愛程度;這些都須要咱們去不斷地學習,擴充本身的能力和知識領域;你們都看過前端工程師的招聘信息,爲何一個前端工程師,除了強大的css、熟練的html、熟悉的javascript以外,你須要懂得後臺的一門語言,數據庫和一些美工的軟件photoshop等。由於工做的夥伴都知道,在實際開發中,咱們在高度還原UI設計人員的設計稿的時候,咱們要去反覆去推敲設計的一些邏輯關係,有的甚至牽扯到業務邏輯,同時在coding的同時,咱們須要去和後臺的工程師去交流如何提供接口,若是去監測一些異常問題,以及UI不懂前端的一些實現工程而形成的漏洞,這些都有可能形成我coding的一些坑,或者一些隱藏的bug;web
說到這裏,建議你們去關注一些博客,或者微信的公衆號,瞭解本身的一些缺少的知識,而且作好總結。對於前端工程師而言,你不只僅須要去考慮如何實現整個功能,同時你須要明白爲何這麼去寫。還有工做中須要的問題你是怎麼處理的,記錄下來你的處理辦法,同時總結問題。還有的就是一個合格的初級前端工程師,應該有本身的一些基本功能模塊的強大的兼容性的代碼塊。
一:自身技術的發展
若是你歷來沒有從用戶的角度去考慮如何去編寫代碼,如何提升系統的優越性,那麼你思考什麼呢?前端程序員也是一個動腦的職位啊,若是你沒有這個思惟去考慮,那麼你動腦的地方在哪裏?若是是代碼,那麼恭喜你進入了自身技術的發展的領域。可是不幸的告訴你:你走上了一個永無止境的路,你將處於不斷探索中,不斷地去尋求本身的技能不足;若是你沒有良好的心態,那麼有可能,你在開發的道路中只能走到一半,或者說你可能走到一兩年,遠一點就是十年左右而已,轉行罷了。
可是話說回來,並非從事技術的發展沒有到達光明的彼岸,關鍵是你的技術到什麼程度了,有沒有特別牛,仍是一個大牛級別的。好比咱們所熟知的W3C,靠近標準,那麼你就是成功者;這裏我想說咱們須要讓本身去靠近標準,接近它,同時瞭解標準的機制,好比咱們所須要掌握的瀏覽器的解析機制、render過程、以及http協議原理,相比不少人如今有的尚未熟知果render過程,閉包,原型鏈等。
自身技術的發展,我以爲你首先在掌握前端開發的一些基本的技能的基礎上,能夠去看Javascript權威指南,還有github去建立本身的項目,使用git管理本身的代碼,同時使用雲服務器去管理本身的數據庫,去作一個完整的項目,同時我以爲在看書和學習的過程當中,你們必定要動手去實現它,由於有些理論和經驗在博主當時的狀況下是能夠的,可是如今可能使用的開發版本升級,其語法和思想都有了新的變化和進步。
前兩天我開發中遇到了angular2的一個最多見的功能省市的三級聯動,可是我就是用到下面的語法
[(ngModle)]在編譯的過程當中就會報錯的,後來改爲(ngModle)就沒有錯誤了,這裏就是想告訴你們:你看到的知識點有可能過期了,也有可能有錯誤,你須要去驗證它。這裏建議開發者去建立一個本身的博客,去記錄本身的一些平常處理問題的辦法,而且不斷去反覆看本身的想法。
我記得咱們公司的總監說:’coding並非很值錢的地方,值錢的是你做爲一個前端工程師能夠很肯定地告訴公司和企業,我這麼作必定能夠贏得客戶,賺到錢「。
其實這句話具備很大的對立,可是若是高級工程師看來,的確如此,由於當你達到必定的階段的同時,你考慮的是如何去作好產品,或者說你看到原型圖的時候,你總體框架已經躍然紙上了,的包括後期的優化,產品的更新,包括你所用的技術:異步加載、如何去實現權限管理、整個項目的編碼風格等更重要的是產品的設計已經符合了廣大的用戶,這樣你的編程纔有價值。
2、前端靈魂的思想
我相信從事編程的程序猿們都有着必定的靈魂,本身coding的思想,coding的風格。優秀開發者,本身代碼可讀性很是高,同時他幾乎已經脫離coding的境界,而是更多地去着眼於web的數據表現形式和對於一些開發標準的考慮。因此我建議不少開發人員再搞清楚本身的開發設計以前不要去急着敲代碼,分析好每個細節,甚至你想好了每個Class、每個函數fn、每個對象、你須要提供的一下的公共調用的方法、和須要高度耦合的模塊,哪裏須要引入一些插件,最終這些的表現就是咱們看到的,也是用戶所用的一web界面。
這裏舉一個例子:爲何電商類的網站很能賺錢?爲何淘寶優化一下網站會產生大量的訂單?爲何百度首頁進行一個優化搜索量會有一個變化。還有一些頁面的功能如何喪失了會怎麼樣呢?這些細節、數據表現形式就是未來web工程師的一個核心競爭力,你若是懂得了,掌握了,那麼你可能會開發出一個不同的產品。或者開源類的庫,好比jquery和bootstrap。
看看這是三個不一樣的登陸界面,可是相比而言,從客戶的體驗度來講,以爲第一個更好些。
這裏想說做爲一個前端工程師,你不只僅應該考慮如何去實現功能,更多的是考慮如何增長用戶的滿意度和未來web的數據表現形式,有可能未來會繼續創新,出現新的數據表現形式,也就是html6.0的時代,這須要你有很強的技術功底,也瞭解各大瀏覽器的機制。