怎樣才是優秀的前端工程師?

總是看到各個大神們在微博、知乎、QQ群等抱怨市面上優秀的前端太少。那麼什麼是優秀的前端呢?主要體現在那些層面上?


聊一聊我們團隊的八卦吧:

排名不分先後順序,想到哪寫到哪

--------

1號同學:

1. 在我們前端團隊整體方向由PC轉去做Mobile Web的時候,卻沒有被分配到相關的任務,心裡自然是很不開心啦,自己的能力又不弱。後來就主動去找老大要Mobile的活做。

2. 有天上班,主管扔給我一本書前端著作,上面赫赫的標著同事的名字,我心裡的第一反應是:「哈哈哈!同名吧」。但是本著逗比的本質,假裝說道:「哇,真的嘞!」,本還等著同事說「是同名的啦」。結果等到她羞羞的一句:「不要笑啦,寫的不好!」 ( ⊙o⊙?) 卧槽真的是她寫的,這作者的照片都是她,每天大家都在加班,她是怎麼抽出時間來寫這本書的。

3. 最近他的第二本前端著作又要出版了,完全也不聲張,就弱弱的告訴我們,之前一點動靜都沒有。。。Orz

--------

2號同學:

背景:

研究生是搞大數據分析的,校招過來是面的Java,後來因為本科學的是「工業設計」,被問到沒有興趣做前端,然後就入了前端的坑,在內網上她的title還是「研發工程師」,我們都是「前端工程師」

1. 入職之前幾乎沒怎麼寫過前端,算是沒啥基礎吧。但是當時還停留在PC時代,各位前端們是知道IE的噁心的,此同學前端技術進步之神速。幾乎每一兩周產出一個業務組件,組件質量高等,文檔典範,代碼思路清晰。最後的結果,僅半年不到,他的作品佔了PC業務組件半壁江山

2. 周報的文筆奇好,同時小花樣奇多。在我們都在用markdown寫周報的時候,這個逼居然在markdown中加入 `&` 這種標籤寫出了彩色的周報,在第一次見到的周報的時候,我的心情是複雜的:「操,這個逼又炫技!」。

3. 郵件特有才,特別的每次產品上線的release郵件。雖然作為一個摩羯男,但是這逼居然能寫出那種逗比運營風格的release郵件,滿篇的暴走漫畫逗比表情。

4. 畢業半年開始帶師弟,一年P5晉陞P6,顫抖吧!

--------

3號同學:

1. 堅持每周發一份前端技術小報,彙集各種前端技術動態,已經發布有30期。可以參見:每周播報 | 前端探幽

2. 維護我們的前端開發工具集,將代碼編譯構建時間由40秒左右降低到10秒(具體降低了多少倍,我忘記了,大概我的感受是這樣)

3. 技術話題終結者,每次大家在群里積極的討論一個技術問題,然後他來一句:「這個用XXX不就可以了么?」、「這個我以前也遇到過,用XXX解決」、「這個XXX利用YYY已經解決了,可以參考鏈接ZZZ」。

4. 團隊技術分享會常客,找不到別的人分享,就找他

--------

4號同學 :

1. 幾乎以一己之力,扛起我們的mobile web開發的kissy mini庫和業務組件庫

2. 團隊技術分享會常客,找不到別的人分享,就找他

--------

5號同學:

1. 稱號「全民師姐」,人品超好,有問必答,講解十分細心。

2. 曾經被測試同學纏身,很多webview層面的BUG搞不定,求助「全民師姐」。然後她在周末各種威逼native的開發工程師,愣是給全解了。

--------

6號同學:

@拔赤 ,jayli.github.com

1. 《十日談》系列文章對於初級前端工程師有指導性作用,可以參見 Issues · jayli/jayli.github.com · GitHub

2. 翻譯的作品對於前端工程師的影響也無需多言

---------

還有各種奇葩八卦:

1. 交往過20+個女朋友的前端工程師

2. 白天屌絲,晚上在夜店約妹子的前端工程師

3. 能扣籃的前端工程師(曾經)

4. 在某社區關注了幾百個美女的前端工程師

5. 玩個桌上足球還要整個天梯排名的前端工程師

6. ...

7. ...

8. ...

9. ...

...

102. 男前端工程師幾乎都有女朋友(老婆),非應屆女前端工程師全部已婚


前端工程師,first an engineer, then an user interface specialist.

國內的前端工程師群體,能做到前者的就已經是少數了,不少工作了數年的前端工程師,連最基礎的軟體工程基礎知識都是一知半解,這一類人並不是說沒有價值,而且由於前端技術應用範圍的廣泛,如果從需求的絕對數量上來看,沒準這一類需求還是佔大頭的。做個 web page 的話,如果不去看具體的代碼,覺得他至少還是能做出來可以用的東西的,但是看下源代碼,可能就是一個完全無法維護、沒有擴展性、性能方面更是沒有做過任何針對性考量的實現,web app 就更是無從下手了。但是從市場的需求量上來看,很多項目根本是不 care 這些因素的,因為不僅僅是 IT 企業對前端有需求,從我收到的簡歷裡面看,很多都是沒有在 IT 行業工作過的,可能是在一個傳統企業的 IT 部門等等,他們所做的工作跟一個真正在 IT 公司工作的前端工程師做的東西是有本質區別的。這還不算 user interface specialist 這一部分的要求。

過去差不多十年間,瀏覽器技術高速發展,前端所要做的不僅僅是一個靜態的頁面,很多項目都是前端密集型的,複雜度和實現難度,都必須是要在 web front-end 這個領域具有 solid skill 才能搞得定的,當這樣的項目開始尋找專業人才時,在巨大的基數裡面去找符合開頭所說的 specialist 時,當然會覺得是大海撈針了。

至於什麼是優秀的前端,不同公司、不同人的理解和定義可能都不一樣。知乎上類似問題有很多,隨便搜索一下就是一堆,給你一些參考。

前端工程師的價值體現在哪裡? - 前端開發

為什麼前端工程師很難找? - 前端開發

如何招到一個優秀的前端工程師? - 前端開發

Web 前端工程師這一職業在未來行業需求和發展怎樣? - 前端開發

怎樣成長為一個優秀的 Web 前端開發工程師? - 前端工程師


自認為不是一個優秀的前端工程師,正在向一個優秀的前端工程師努力!

各位都從技術規範的角度做了很多分析,我想從團隊的角度去理解何謂一個優秀的前端工程師。

什麼是優秀的前端工程師?

是你的代碼佔據了半壁江山或者整個江山都是你打下來的?

NO

是你的代碼非常符合規範,有注釋、格式化、清晰、命名規範、模塊拆分合理、實現持續集成?

NO

是你精通HTML、CSS、JavaScript基礎以及各種前端框架?

NO

......

想要做到優秀,就要從團隊的角度出發,前端不是一個人,跟打籃球一樣,是5個人的運動(不要說8個人的運動這樣的玩笑)。你要和產品、設計、後端、市場等部門密切配合,而不是只對著需求列表一個個用你最炫酷的代碼實現,最後對接好丟到線上就合格了。

是,也許你寫的代碼很牛逼,但是最後你那麼牛逼寫出來的網站運營不下去,倒閉了。這不僅是一個團隊的失敗,更是你這個前端工程師不夠優秀,因為你無法讓這個團隊存活下去,你不能影響團隊的存活,你的影響力只限於自己的前端代碼。

我們需要團隊意識和責任意識,雖然你無法改變世界,但是在一個項目團隊裡面,你努力了,總有機會改變團隊,使之發展的更好。

說一個笑話:我是一個優秀的前端工程師,但是產品和市場不行,導致項目運營之後,賺不到錢,最後掛了。(典型的無擔當意識,談何優秀?)


學一把輪子哥。

我。

邀請的我都有點不好意思了呢……


我時常聽到的聲音是招不到前端,沒聽過說招不到優秀的人。其實一個優秀的前端,換句話說:一個優秀的人是怎麼樣的。其實優秀的人做哪行都是比較優秀的,比如:史玉柱,達芬奇,神鞭,有鞭玩鞭,沒鞭玩槍。前兩位就不介紹了,一位是橫跨多個領域的商業傳奇,另外一位是橫跨多個領域的全才楷模。

1. 平衡能力。能夠深切的了解前後端,了解市場,產品,開發,測試等等崗位,能夠快速的評估前端崗位中的技術實現難度,實現需要人工,能夠為ceo,cto提供一個可執行可參考的技術解決方案。

2. 良好的溝通能力。好的前端真的是項目中的潤滑劑,前要對接需求,UI交互,後要對接欄位數據傳遞,任何地有bug,大多數情況下從前端查起。

3. 一定的帶人或管理能力。個人的能力是有限的,承認了有限才做無限的事。一般工作一到三年左右,了解自己到底真正的需要什麼。工作三年以上,就是了解別人需要什麼,就是了解別人是怎麼想的?為什麼會這麼想?工作五年以上,就是了解這個產業需要什麼,就是行業需要什麼?

4. 一定的魄力或預見性。對公司的未來發展,有一定的預見。不坑人,不蒙人。

5. 一定的護短能力,兄弟情節。就像李雲龍為魏和尚報仇一樣。

6. 技術專業能力,一定的實際編碼能力,或分享友愛互助的博愛能力。

7. 胸懷,能夠容忍別人,給別人犯錯的機會。


這個問題沒有絕對的標準,說說我所認為的優秀的前端:

一,時刻緊隨前端界的發展風向,了解並適當掌握新技術,有一定的技術視野。

二,對於瀏覽器的內核引擎有一定的理解,知道瀏覽器解析、渲染頁面的基本原理。

三,有紮實的HTML, JavaScript, CSS基礎,對於像HTML5, CSS3, ECMAScript新標準有全面的認識。

四,掌握各種調試桌面端/移動端/App內嵌頁面的方法與技術,有快速定位問題範圍的能力。

五,理解HTTP, HTTPS, UDP, TCP協議等,有比較全面的計算機網路知識。

六,對於各種後端語言在不同應用場景下的優劣有自己的見解與認識,知道在什麼情況下應該採用怎樣的技術選型。

七,知道如何組建出高效易用的前端自動化編譯/調試/測試的工程化流程。

個人見解。


瀉藥

優秀這種形容詞兒又沒準確邊界的

不過一般人認為的優秀么

不就是人招來了

讓幹啥能幹啥

一個頂8個80個

幹啥紕漏沒有

自己不操心

喝茶看報

就把錢掙了


身為和前端程序員對接較為頻繁的崗位之一,翻看了其他回答更多是本身從業者的專業角度去分析,拋開這個層面,想從UI設計師這個角度來回答一下(迄今為止僅合作過十幾位前端程序員,樣本有限)

第一點:優秀紮實的技術能力。這個是專業基礎不言而喻,代表前端能不能更高效更準確的解決相關業務問題,不是前端從業者所以無法給出評判標準,參考其他大牛回答即可。

第二點:這個第二點在許多UI設計師眼裡其實是內心排序的第一點,那就是責任感。一個優秀的前端除了解決跟後端聯調等本身業務問題,也會清楚認知一點:與用戶接觸的界面層面是前端程序員作出的界面,而不是UI設計師的設計稿。有了這層責任感,必然會將設計稿還原作為工作重點內容之一,而不是沒有bug就是全部所以前台樣式無所謂的想法。

第三點:態度。遇到過各種性格的前端程序員,作為一個可軟硬兼施的UI妹子,可以說和前端程序員的對接能力雖沒有爐火純青但也算舒服有餘。UI設計師最怕的其實不是UI初步驗收時候辣眼睛的界面,而是樣式細節沒到位的情況下,前端對其的修改態度。比如遇到不合理的UI樣式,能基於業務背景權衡與UI設計師共同討論並從專業角度提出建議(而不是丟出一句沒時間/設計真丑/幹嘛那麼複雜/給你代碼你自己去寫唄);遇到具有挑戰性的UI樣式,如果在UI設計師的設計背景確實合理且排期有餘的情況下能勇於挑戰去實現(而不是丟出一句沒時間/設計真丑/幹嘛那麼複雜/給你代碼你自己去寫唄)。

第四點:說話溫柔。啊哈哈哈哈哈哈這點算是個人偏好,因為最近遇到一個前端程序員,雖然入行不算久但是虛心好學,專業能力能看到是經過項目的錘鍊已經逐步提升。說話溫柔是他的溝通特點之一,和他的對接過程中體會到工作之間的交流,不一定是通過強勢的口氣去論述,有時在具有專業信服力的前提下的溝通是帶著「溫柔」的語態,反而也是強大的殺手鐧(畢竟前端與UI有時候就是歡喜冤家,好的溝通方式確實會降低撕逼成本)

PS:最後一點,算是個小補充。一個公司內既有前端團隊也會有UI團隊,一個優秀的前端經過多次項目合作是會在UI團隊內形成合作良好的口碑的,反之亦然。所以當分配給你的合作UI對你的態度是凶神惡煞的時候,你就要反省自己是不是已經在之前項目里犯了以上說的那些問題。


* 熟悉各瀏覽器兼容問題及對應解決方案

* 紮實的代碼功底,熟悉JavaScript的各種hack

* 自己能造各種輪子,能形成組件生態

* 獨立能擼個模塊載入器、雙向綁定的小框架

* 能擼個可以穩定長時間運行的SPA

歡迎能滿足以上條件的小夥子們來我司投簡歷,傳送門: http://喬布斯.餓了.么


於公司產品而言,他能夠按目標實現需求,甚至完成的高於要求,

於團隊而言,他能幫同事解決問題,善於合作,能寫優秀的代碼,提升團隊的工作效率

於行業而言, 他能因為自己給行業做出哪怕一點點的貢獻,或是因為他的某個idea,某個項目

於自己而言,他依然熱愛著,並為之努力著他所從事的這個行業~


國家領導要親民,前端就要親近用戶。

要做一名優秀的前端,除了精通技術外,更重要是把用戶體驗做到極致


看視頻學


能找到自己的優勢並把它發揮的好的,畢竟不是每個人都是全才


要做到優秀二字,基本的html,css , javascript ,這幾樣是一定要非常精通。尤其是JavaScript


簡單來說,多學學基礎,少看點兒說明書。


精髓就是睡一覺起來框架更新了好幾個。你要有技術熱情和geek精神。


問題最終還是優秀的人,而不是某一個職位……

在招人的時候,更看重的是這個人的人品,技術上過得去就可以。

如果技術特別牛,但是人品不行,你說這人是優秀的嗎?


在國內拿的工資高的前段工程師就是優秀的。


推薦閱讀:

請問下93年的我,現在學編程晚嗎?
前端工程師有哪些靠譜的求職途徑?
HTML5跟HTML的區別;我個人覺得HTML5不是增加了一些標籤,還有什麼功能?
前端遇到瓶頸了怎麼辦?
ui和前端對比前景怎樣?

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