為什麼很難聘到前端工程師?
最近參與投資的一個公司在找前端工程師,網站的CTO說候選人幾乎很少有以JavaScript為主要應用的,大多是順帶做。而且不是focus在功能實現的PHP,就是很偏美術設計的mockup和CSS,問我為什麼。我這個非技術同困惑、同好奇中。
這裡儼然變成前端工程師吐槽的地方了。
玩技術的都願意玩「深」的技術,玩設計的又不願弄髒自己的手。但是最終能把技術和設計完美結合在一起要靠前端工程師。但這種我認為的價值,不被廣泛認可。一個網站用戶體驗好會認為是設計師牛逼。 過度重視設計的公司只會成天改版。在這種處境下,不爽的都紛紛轉後端,本來有興趣的也望而卻步了。
成長環境差。大公司分工過細,職能限制在很小的環節上。小公司又要求面面俱到,粗曠型開發。個人得不到持續發展,干兩年認為到頭了,紛紛轉行。
現在有種不好局面,入行門檻低,優秀前端人員流失嚴重(指轉行)。這樣想招到有經驗高水平的要靠機緣。企業最好眼光長遠些,培育好的技術文化,能使有潛質的人迅速成長起來。好的團隊,靠譜的做事方式,自然能吸引好的人才。
還是在於環境的認知和認同問題。
他們也許不懂交互設計,但是沒人比他們懂交互設計的實現,和每一個細節。
他們也許不懂視覺設計,但是沒人比他們懂視覺設計如何變為現實。
他們也許不懂後台資料庫,但是他們其實才是數據的第一消費者。
他們也許不是產品經理,但是產品的質量幾乎都是由他們來決定。
他們除了對HTML+CSS+JS精通一點外,什麼都不很精通。很多做桌面軟體出身的高管會以為他們什麼都不懂,所以從來沒有重視過。因為他們認為HTML+CSS+JS都是很簡單的事情,大街上找個程序員都會寫,自己手裡的程序員,也能順手寫一點。
可以說web上的跨界經驗,沒人比他們多。那些以為學什麼語言都一樣的人,
那批以為前端工程師什麼都不懂,什麼都不精通的人深深地影響了其餘的人。所以,很少有初學者報有信心來深入的學習。因為有人告訴他們做前端買不起房,買不起車,娶不了妹紙。
所以根本就沒什麼培訓渠道。那些還在學習這些的,全都是為興趣而來的。有所成績的同學,必定都有一個深愛他的老闆。
那些懂一點交互,懂一點視覺,後端熟知,前端精通的人,如果還有一點野心。他們應該現在奮鬥在創業的前線。剩下來的孩子,才是真正的前端工程師,是傷不起的天使,如果你遇到了,請珍惜吧。感謝繼新的邀請,我覺得有以下幾點:
1、前端是一個比較新的行業,不像C、Java之類的在學校就可以學到(當然能學到多少是另一回事),目前我還沒聽說哪個學校會專門為CSS、Javascript開一個課程。相比後端或者設計人才,在學校的時候就希望往前端方向發展的人要少的多。這個圈子的人專業都不對口。
2、前端真正高速發展不過幾年,相較C、Java,歷史積累的技術經驗少,很多前端牛人的技術都是自己在項目中鍛鍊出來的,但他們可能又沒有時間和精力去總結升華自己的經驗。新入門的同學品嘗不到「前輩」的積澱,又沒有合適的項目練手,成長緩慢。
3、HTML是一個「一看就懂」的語言,「不需要學習」;會寫color:red就號稱會CSS(我一直說那是English,不是CSS);會寫標籤頁切換就敢稱會Javascript。後端同學用div+span或table就可以把頁面拼出來,再加上jquery,效果還不錯;設計同學可以方便的把ps轉到dw里,代碼都不用手寫,就可以交給後端繼續開發了。都覺得前端「不過如此」,圈子浮躁,願意持續關注和往深度研究的人少,「精通」更是奢望。
4、對於後端同學,不願或沒時間對Javascript深入研究;設計同學一看到函數、變數就頭大;而直接入前端行業,沒有其他後端語言基礎的同學,又難以更深入的理解Javascript。Javascript是一門「夾縫語言」,能夠安心把Javascript學好用好的人更少。
5、本著多快好省的原則,一部分Javascript需求被Flash包攬,另一部分被開發人員告知「無法實現」後夭折。重Javascript、並持續開發的項目少,參與的人自然也少。
6、技術靠譜的人,無論前後端,都是有性格有想法的,不會因為隻言片語就被人挖走。在他們看來,人靠譜、事靠譜、錢靠譜的項目也很難找。
感謝繼新的邀請。回答這個問題之前,建議大家先看一下 Cat Chen 老濕昨天的博文《前端工程師的職業發展路線在哪裡?》http://chinese.catchen.me/2011/12/blog-post_14.html
從 Cat 的老濕的文章中,可以看出,僅僅是「切圖,做個 HTML 頁面」這樣的工作根本就不能算是嚴格意義上的 Front-end Engineer——何況從實際的招聘情況來看,很多人對 web page 的理解也很局限。
所以說,難招的應該是真真正正意義上的前端工程師。一個合格的前端工程師知識領域應該包含但不局限於以下幾個方面:
1. HTML CSS
2. JavaScript
3. 頁面、JavaScript 性能優化
4. 瀏覽器兼容性
5. UE
確切地講應該是專職的前端不好找,目前做前端這塊的大致有三種人:
1. 本來是做後端的,順帶著做一些前端,以 jQuery 為主,能實現大部分簡單前端效果。
2. 以切圖和靜態 html 製作為主,加上部分 javascript.
3. js 和 html 都做且對 js 有較深入的了解,知道後端工作機制並能很好地進行協作。
一個喜歡前端開發將來還得做一段前端開發的人進來吐糟一下,雖然不是高級前端,對這份工作挺糾結的。
1:前端學校不教社會上也沒有培訓,都是在開發工作中發現自己更適合前端方向而分離出去的。職業上敢這麼走的人不多,後端語言更省力一些,選擇前端,你就得把大部分人生浪費在多的瀏覽器的兼容的坑爹問題上,你得整天面臨一大堆頁面的一個字小改動,一個某個冷門瀏覽器的不兼容,js的bug,多個js庫的某個坑爹的衝突(說不定是原庫的不靠譜)。一般的公司都沒有前端的細分,你事情要做專業一點,還得前端調試前端測試。。。還有在整個開發中,你是最不被重視的,比如公司正好沒重構師切頁面,你得連續切個把月的頁面,要是後端開發忙,他們寫好action和model,你得順便View層的頁面也做了。。。這就是中低端前端的生活。
2:互聯網的趨勢是富客戶端,現在市場上缺的不是低級前端,而是能夠開發像webqq那一類的高級前端,招人就說精通前端語言。敢說自己精通前端語言的人不多,精通至少要深刻理解前端的面向對象,一些數據交互模式還有ajax,前端性能等問題,程序語言都是相通的,你精通了前端的面向對象,你就難道不精通程序語言的面向對象,你到那個技術境界,就不分什麼前端後端了,所以從中低端到高級前端的gap太大了,每天切切頁面做做某個標籤切換效果是永遠達不到那個層次的。個人認為,想達到那個境界得一腳前端一腳後端向上爬,但是你的代價太大了,還不如抓著一門後端語言向上爬。
3:你做前端,你老了寫不動了怎麼辦?做java開發,做到一定程度發生質變,你就不是碼農而是程序設計師這個時候只需寫些規範介面畫下UML,再向上就是系統架構師。前端向上走怎麼走?也許是前端架構師前端主管,但是國內又有幾個公司有這樣的技術組織架構?一個產品線兩三個前端,你手下就兩三個人。只有多條產品線抽離出一個UED部門,但這種架構也是有問題的。
因為看到朴靈大神出現在這個帖子所以來寫這個答案,首先感謝朴靈大神您寫的關於nodejs的書和推薦過的javascript的書,圖靈社區的奉獻讓我受益匪淺。讓我這個曾經的菜鳥對js有了重新認識,路漫漫其修遠兮,吾將上下而求索。
先說下自己早年的經歷吧,最早的時候跟很多現在看到的各種廉價前端程序員一樣(如果那算程序員的話),就是寫寫HTML,CSS,用ps切切圖,jquery的API都會調用,會把網上各種插件搬來用。因為我ps用的還可以,又熟悉各類的第三方庫。一些小公司PM眼裡這就是已經很靠譜了。曾經自己還一度膨脹過。因為那是無論是所謂的各類培訓、自己的圈子、還是網上的慕課。對於所謂的前端職業的描述大致就是這麼多。
直到我遇到了大神,他給我開出了書單,《javascript權威指南》,《NodeJS實戰》,《angular權威指南》,《ES6標準入門》,《數據結構》,《演算法導論》,讓我原原本本地看,能看多少是多少。從基本的閉包原理、HTTP通信到MVC框架手把手虐,不,是教。那時才發現曾經的自己跟個傻逼一樣。一路走來現在自己也可以寫交互動畫的插件了,nodeJS算不上精通,寫些邏輯不太複雜的全棧問題也不大了。
如今自己也開始在公司里裝模作樣的面試別人,經常會遇到跟自己曾經一樣狂妄的候選人。心中無限感慨,微信師傅,您當年怎麼就願意帶我的啊。
答:「我看你PS用的蠻吊的,扔一堆書唬住你,這樣你就可以長期給我畫圖,你個愣頭青居然真買來看了」
我永遠都得師傅當年的教誨:首先你得是一個合格的程序員,然後才是前端工程師。什麼是真正的前端,產品經理給你說個故事,你就能給他一個交互,架構師給你一堆JSON數據你就能渲染成他想要的界面。而你無論做的多炫酷的交互設計,給到伺服器API介面那邊的永遠是靠譜的數據。前端拼到最後就是用演算法做畫筆用JSON做顏料的藝術家。
回到好的前端程序員為什麼這麼難找的問題上,一次面試幾個刷三觀的候選人之後,同事對我說:你看,我們把代碼當做事業,他們只是拿這個當做一個混碗飯吃的工具。每個崗位都有這種現象,只是前端門檻低,這種現象更多而已。儘管每家企業都喊著缺前端,缺交互工程師,於此同時這個世界每天都有大批速成三個月的自稱前端工程師在到處找工作,他們會告訴你互聯網泡沫完了,前端飽和了。
而另一方面這個世界又存在著一類遠古程序員,他們是十年以上的工作經歷,但是他們很多早已遠離一線編程對世界的變化完全沒有感知,對於前端還停留在JSP時代,js?不就是個小腳本語言么?他們如今混跡在很多在老牌公司里要麼混吃等死,要麼想著怎麼往上爬。你要跟他說,哎,缺前端!他就會甩一句:找個切圖的小姑娘有那麼難嗎?
所以,連IT職業圈子裡對前端的認知尚且如此,何況那些我只差一個程序員的創業公司,沒有統一的標準,沒有嚴格意義上的職業水平劃分。招聘的人要經歷無數的奇葩才能招到合適的人才,而有些大神又會被不識貨的土鱉輕視甚至無視。浮躁的所謂前端易學論又誑了多少不適合這個行業的人入了坑,也讓多少年輕人剛剛入門就停止了前進的腳步。
前端,是時候清理門戶了。在我離開我的老東家之前也面試了三個月的前端工程師,最後到我走都沒有招到合適的。老東家那邊的要求是"熟悉javascript、actionscript、 css、html、各瀏覽器兼容性"。
其實並非我要求的太高,基本的正則表達式、甚至cloneNode之類的DOM方法都不知道、更別提actionscript神馬了。各種不靠譜。
招不到人,給錢不夠多我想是其中一個原因吧,畢竟重賞之下必有勇夫。
你可以考慮直接招一個靠譜的前端架構師。
三個諸葛亮頂個臭皮匠在技術領域不怎麼適合。
一個靠譜的前端可以頂得了一個團隊。。。
其實最近我也在考慮轉型的問題。
想轉型其實考慮的下面幾點,我想其中有一些可能能回答這個問題吧:
1、開發環境惡劣,各瀏覽器兼容性能頭疼,需要不斷地跟著瀏覽器走,兼容性涉及的不僅僅是CSS、還有各種DOM、BOM模型以及研究各種詭 異。。。
2、沒有錢途。工作是為了愛好和生活。靠譜前端工資確實也比較高,但是擅長javascript、html、css(這些是基本功),還捎帶至少懂一門後台語 言(php/C#/java/c++),還天天追著各種瀏覽器的兼容性,這個才給開到多少錢?一個擅長j2ee、熟悉linux和ssh的工程師是什麼價格。我們都需 要麵包。
3、被動。這是一個很頭疼的問題。很多時候,工期不夠的時候總是壓縮前端這邊的,我不知道為什麼。我工作過的相對好一點的公司也僅僅是 一個上市集團下屬的垂直門戶,而在哪裡也都是如此。但是,大家都是人。
4、學習難。相對其他幾種語言,都有社區和相對全的資料。前端的參考只有W3C和ECMA那一堆鳥文。就算你看懂了,還有各種瀏覽器兼容性 ,你又要Mozilla、MSDN各種搜,各種新添加的屬性是你買書看不到的。
5、被鄙視。各種鄙視前端。。你們懂得。。。
我可能運氣比較好,前兩天剛剛招了一個,還沒有開始工作,不過我感覺相當不錯。
樓上說的有道理,培訓渠道不足,供求變化,肯定導致這個背景的好工程師不好招。但困難都是相對的,我簡單說說我這個是怎麼招來的。
1. 積累:持續善待周圍的人,這個最難,最花時間,但是實在沒有捷徑。這次招聘這個最重要,因為這個工程師是我以前團隊里的一個小姑娘推薦來的。我簡單問問她這哥們的性格,工作情況,覺得挺靠譜,再一看他的個人博客,全是技術分享,馬上覺得肯定沒問題,下面就是怎麼說服他來的問題了。
2. 換位思考:想想對方的需求,無非是靠譜的項目,給力的團隊,個人的成長,適當的待遇。一項一項談,要講大實話。以我們現在的情況,談這幾點遊刃有餘,所以就搞定了。想想我前幾個骨幹員工,那時候的情況要糟糕的多,我現在都想不起來是怎麼說服他們來的了。還好,至少到現在為止他們都還覺得來對了地方,呵呵。很明顯,你的招聘要求有問題。既然是要求JS和PHP為主的前端工程師,還要求精通PS就是有問題了。另外對於工具(Dreamweaver)的要求也不合理。許多前端工程師不用DW的。
按照你的要求描述,此人既通前端(JS、CSS等)又會美工(PS),不僅點陣圖還會矢量(SVG),還會後端(PHP),再加上英文能力和其他能力(如SEO),這樣全面的人才就算不自己創業,接接外包項目都賺得很。我看你出到20k+再加點運氣才能招到接近這個要求的人。如果擅長移動設備上網頁,再加5k。如果會第二門外語,直接翻番……這是一個需要太多完美主義(自律)和太多理想主義(標準)的職位。成為一個好的前端工程師和提供一個適合前端工程師的職位都受到這兩個條件的制約,所以難上加難。
好的程序員也少,就是做對的,不湊合的程序員。所以好的前端按照比例也少。
現在Web服務的一個趨勢是拼質量而不是數量,所以關鍵的地方就需要好的前端和後端。但是人才流動的基本情況是真正NB的程序員大都經濟自由了,你覺得他們需要為了錢去湊合一份工作么?那麼想找真正的天才的時候要問問我們真的需要那樣的人么?
這就是為什麼真正NB的Startup或者團隊不缺好的前端程序員,但是弱的團隊永遠招不到好的前端程序員。以前沒這崗位,所以供應就少唄,現在需求量大了,供給不足唄。
招聘要求太高了吧,想撿現成的又不願掏這個錢而已,低薪的是難找,自己順帶做就得了。沒啥難的,誠心要,找個實習生半年就帶出來了........
我認為目前前端這個職業的價值,還沒有被業界認同。別說各個公司都在大力招聘前端,但是根據我所在的公司來看,招聘是招聘,因為確實缺人,反應在老大那裡可能就是「頁面做不完」。但是公司內部,在技術部,非前端,總也理解不了前端的價值,他們認為你做的事情就是簡單的,他們很多人還停留在前端只是切切頁面這種認識上。這個對於前端來說是不公平的,但是環境需要我們自己來改變,我相信真正熱愛前端的前端,肯定會一起努力來改變這個情況。
但是在現在的情況下,不那麼「熱愛」前端的,就可能會去轉行做其他的了。
當然這只是我的理解,可能不同公司不一樣吧,反正我們自己招前端也很難。前端工程師需要兼具程序員與設計師的SENSE,擁有友善易於溝通的性格,這幾點都彌足珍貴,因此一將難求。
願意花錢請純粹的前端的公司少了,你想要請的時候自然就請不到了。
好多公司請個前端來,面試的時候稱呼你為美工,情何以堪啊。
------------------------------
敢不要你請的「前端」做設計圖嗎?敢不要你請的「前端」寫後台代碼嗎?
前面說的好啊,前端做出來的東西,誰都可以做個湊合的出來,所以就沒人願意請真正的前端了,當然你要找的時候肯定也就沒有了,在中國就是這麼回事。
1.前端技術入門簡單深入難,要了解的很全面,每個公司都需要一個適合自己的前端,畢竟前端是項目組離用戶最近的,找個前端,難
2.前端在學習過程中無一條龍培訓,基本靠自己興趣和漸進增強,如此環境,找到靠譜的,難
3.工作固然重要,但是理想也要照進現實,前端魚龍混雜,規範欠缺,是金子總要發光,薪資也要有點光,國內對前端職位認識不夠,薪資加點?難
so,前端要蓬勃壯大,更多的是需要的是被承認,技術傳承和創新積累,目前前端業者雖然多,但是更多的都姑且算是「製作」還是先要定位自己團隊想要招到怎樣的人?如果只是對著設計稿做做頁面,太容易找了;但如果需要面面俱到,還能扛事情,那確實很難。
很多企業想像中的靠譜前端多數是傳說中的 T 字形人才,是個多面手,在業務理解,審美能力,程序開發都有所作為;而且最好在某方面要比較突出,比如:對 JavaScript 框架有研究、SEO 牛逼或者能言會道。這樣的人不多,價碼高、難招也是正常的事情。
現在不比以往,前端已經成為一個上得了檯面的工種,很多學生在學校就有接觸,而且畢業後也願意從事前端。我面試過一些畢業生,技術也不差的,但往往在面試中表現出別的能力薄弱。而一些有前端技術基礎的同學喜歡漫天要價,讓招聘方卻步。以上的回答有很多都已經很好的解釋了這個問題了。
我再提一個很小的側面。
從很多所謂前端工程師的招聘要求來看,有很大一部分公司甚至都不了解前端工程師到底是個什麼定位。而且由於各自對這個職位定位的理解各不相同,造成了一定的混亂。
總體來說,雖然比兩三年前已經好很多了,但其實目前這個行業還太新,還沒有形成自己的系統。
【招人的現象】前端工程師有這麼難招么?!我自己以前就是,現在做運營去了
【要求與現狀有差距】兼容、javascript、框架甚至ajax無可厚非,外加用戶體驗就難了。例如彈出窗口的彈出方式,效果,時間,位置都讓前端全包,並要最優是有難度的。
【我的妄想】您要的是一個心系PM的前端工程師。
【工作感受】前端重視程度的增加來至於對用戶體驗的不斷關注(根本當然是市場供過於求)。後端的功能,邏輯總是需要有個前端面向客戶,而常規的互聯網產品的生產流程註定了前端工作的糾結。公司制度、工作環境、領導、生產方式、績效考核決定了產品在生產中前端工作內容與側重的不同,而這正是最糾結的地方。
—— 我該有想法么?我該有創意么?我該像個PM么?
- 頁面輸出了么?恩。
- 兼容測試過了么?沒問題。
- 效果實現了么?效果,哪裡,怎麼顯示,怎麼消失,怎麼關閉,停留多久……沒原型稿,沒交互稿,沒,沒法弄啊
——所有的公司都重視ROI,都重視轉化率,那有多少重視按鈕的位置、按鈕的顏色、按鈕的大小、彈窗的顯示時機、彈窗的停留時間、輪播廣告的輪播間隔;又有誰在監控、跟蹤這些
——大公司會,前端成為碼農;小公司不會,前端成為全能?
【我的做法】有點想法,對文字與排版比較喜歡,就趕緊走出來,從前端走出來,站在前端的工作上思考用戶,思考項目,思考運營
——合格的PM我想是需要前端知識的,需要Ajax的基礎,然後幫助前後端開發出最優秀的產品。努力中……
要做到「好」,前端和底層的難度是一樣的;
而要塗鴉一個能讓人看到的玩意出來,從零開始學,前端只要兩小時,底層可能要兩年。
所以前端人員的平均素養遠遠低於底層人員。
所以經常會有謀士給領導獻計曰,某某做底層不行,讓他轉去做前端吧^^
所以前端就業市場是典型的劣幣逐良幣的市場,而你,卻想在其中找出良幣,難度不亞於海里撈針。推薦閱讀: