為什麼前端不能一直做?難道要轉行??

為什麼前端不能一直做?


到目前為止,我感覺,一個人做研發能走多遠,取決於一種內在的特質。

有人一畢業就很牛逼,有人工作了5、6年還是個畢業生的水平,我也反覆觀察這兩類人,試圖找出他們的差異。說真的,每個人都有自己的天花板,可為什麼有的人天花板很高,有的人天花板卻很低。

就我目前的觀察來看,決定一個人技術天花板高度的特質就是【計算機領域的學科素養】和【精益求精的鑽研精神】

  • 所謂 學科素養,是在讀書的時候培養起來的一種思維方式,這種思維方式非常重要,決定了當你遇到問題的時候採用什麼策略解決問題。有的人埋頭寫了幾年的頁面都沒有什麼思考,有的人寫過幾次之後就開始思考如何解放研發的生產力。學科素養好的,特別容易理解整個web應用的原理和過程,遇到問題無論是分析、定位還是解決的速度都特別快。學科素養在整個技術發展中會起到非常非常重要的作用,有些非常牛的工程師可以把領域論文轉換成工程應用,這基本上是學科素養決定的能力。

  • 而精益求精的鑽研精神是一種態度了,其實學科素養中包括了這種品質,我想單獨拿出來說是因為確實遇到了一些牛人,可能天賦比較好吧,通過努力還是能達到一定的深度。

學科素養工作之後基本上沒辦法再提高了了,天花板也就是這麼來的。由於前端門檻低,所以每年有很多其他非技術領域的同學轉入前端,前端從業人員普遍計算機學科素養不高,技術深度就走不下去,形成題主的結論也不為奇。

前端絕對不是走不遠的領域,我相信有這樣結論的人,在其他領域也一樣走不遠。不是領域缺少空間,而是人缺少潛質。


我也嘗試回答一下吧,思維可能有點跳躍。

題主的問題,應該算是前端圈的月經帖了。簡單來說就是:前端有發展前途嗎,前端是鐵飯碗嗎?

從崗位需求來說,優秀的前端比後端更難招,前端職位一直是這幾年公司招聘的熱門,什麼樣的程序員最搶手 (2014.10)這個報告我們可以了解到的前端面試邀請和薪酬漲幅都是最高的,側面上看得出前端崗位的需求火熱。前端如果是一種商品,那麼這種商品還處於藍海階段。藍海比紅海競爭更少,一般潛質的人更容易出頭,有能力的人更不用說了。一是需求量大,二是競爭更少。你說有沒有前途?

可能題主困惑行業天花板的問題, @貘吃饃香 答案說得比較詳細,確實相對後端天花板會低很多,前兩年百度前端最高職稱是T7,其他技術可以達到T12,知道真相的我也是蠻震驚的,尼瑪差距不是一兩個數量級啊。即使這樣,我們也需要用動態發展的眼光來看待,前端從08年才開始高速發展(最早出現「前端工程師」這個title應該是在06年淘寶)。當時才多少個前端工程師?現在多少個了?當時的前端地位怎麼樣?能跟現在同日而語嗎?現在百度前端高工也早突破T7了,據說T8還是T9我忘記了,說明天花板也是不是死的。前端技術這兩年發展的如火如荼,日新月異,快速發展的行業不要只看眼前

其實,大部分行業天花板都不應該是選擇的關鍵,一般人的修為很難觸到行業的天花板,大部分遇到的還是個人提升的天花板,關於個人提升,我很同意@張雲龍的回答,這裡不多說。

另外,我覺得題主不應該把自己限制在「前端」上,前端工程師本質是工程師,這點來說跟後端工程師是一致,只是前端工程師負責了前端這塊,而不是跟後端工程師決裂的。前後端分離只是團隊合作的一種生產方式,而不是個人學習上的割裂。如果只關注自己的頁面領域,發展的空間當然會有所限制。

牛人一般不會問這種問題,我假定題主是一個小菜,那就是小菜怎麼混前端圈的問題了,這個問題展開有得說不詳談,我建議找一個細分領域深鑽一下,前端圈這麼浮躁,深鑽的人都是很吃香的。

前端圈子由於門檻低,從業人員各種背景都有,圈子浮躁很正常,裝逼的人確實很多,但也要看到有很多人在踏踏實實做事。別人在裝逼,你在實幹,這就是你優勢。要不畏浮雲遮望眼,呵呵。


寫了一陣子js之後有一陣子特別想去寫後端,寫了一些東西之後,發現自己並不合適。認識很多牛人,都是前端入門互聯網,後來轉去寫py或者ruby了。不是不行,看你的強迫症有多大了。

我離不開現在的崗位,去寫別的又沒有現在這樣的薪水。

活著挺不容易,能code就很幸福了。

555


崗位天花板太低是最大的問題,除了幾個特互聯網大公司,前端可能會提供有限數量(個人認為小於10)個總監級前端崗位外,絕大部分人的天花板就在工程師這一層。因此也就沒可能調用更多的資源,完成更」偉大「的事情。

一線互聯網公司會吸納一部分高工、資深、專家崗位,二三線互聯網公司中也僅能提供不多的高工、資深、專家崗位。

但是這些」高級「崗位絕大多數非精英來說,基本上也是無望。

在傳統IT企業,前端崗位更是可有可無。

因此對大部分普通人來說,在個人精力能力有限的情況下,更好的選擇是轉行不做前端,投入到PHP JAVA等有更多從業者更多和崗位天花板更高的行業中去。

這樣即使降級到傳統的大小型IT企業,哪怕是普通公司的 IT 部門,任然可以比較輕鬆的拿到總監級崗位。當然這樣薪資是不可能比上精英前端們的,不過從職業發展空間來看還有個上升的盼頭。相對於降級論了么。

這就是偶這種普通從業者認為必須轉行的原因。

現在 nodejs 什麼的後端 js 流行,它的確會擴大前端隊伍。但是個人認為,抬升崗位天花板的程度有限。畢竟它也僅僅流行在一些大型互聯網公司,更廣闊的傳統 IT 行業內並不常見。

當然,作為精英們就無視以上這些好了,在精英圈子裡,拼無限的精力去掙那幾個有限的坑也是蠻有意思的。我等小白明白怎麼回事,圍觀起鬨就好了么。

活活活,又說了一堆不好聽的話,坐等被摺疊。


大丈夫行事,行雲流水,任意所至,什麼武林規矩,門派教條,全是他媽的臭狗屁

—— 風清揚

何必糾結先爬東山還是西山,南山還是北山,爬到了一座山頂,便知其他的山哪怕更高,風景也都差不多,不喜歡此山,下來爬彼山便是,你只在這山谷里,又看得到些什麼。


作為一個一直工作於前端的人,我來說說我的經驗吧。(ps:我是今年剛畢業的非重點學校(全國五百倒一)的非計算機專業學生,目前在一家外企工作。)

大學時因為好友認識的人比較多,有比較好的人脈,在大二開始的時候,我們接一些學校外面的網站來當兼職以及練手。

那時候我負責的是前端,所以我算是以前端入門web的。由於不是計算機,當時學的東西,要是按照需要學的,如

- CSS Hacker

- 瀏覽器兼容性

- Javascript以及jQuery

等等這些已經是一些眾所周知的事,這裡就不多說了。說說之後的事吧,當時Nodejs剛火的時候,試著接觸了一下,還沒有今天這樣子,而且還沒有Backbone,Angularjs,ember這些東西。當時,我以為世界就只有這麼大,前端也就只有那麼點東西。

我猜你需要的是一個方向,因為你學到的前端的知識已經達到你所知道的極限,需要去了解一個更廣泛的空間

當我開始實習的時候(外包公司),我開始接觸到了更多的東西,我試著用不同的框架去做不同的東西。

我試著拿Nodejs下的CoAP協議去搭建一個物聯網框架

phodal/iot-coap · GitHub

試著開始用

- RESTify

- Node Mongodb

- Node SQLite

等框來完成這樣一個簡單的系統,以及用JS來寫測試,mock對象,stub對象,spy對象。

在某個時候,當我和你抱著同樣想法的時候,開始了又一次新的旅行

phodal/moqi.mobi · GitHub

拿backbone,mustache,requirejs去搭建一個移動CMS。

接著最近我開始做一個前後端分離的系統

phodal/freerice · GitHub

Node+RESTify提供後台JSON,與cms同樣邏輯的系統完成前台。

最後我得出的結論是: 能前端不能一直做的理由是,看不到前端的未來。看不到前後端分離的未來,我一直致力於發展前端。

前端在過去也是沒有前途的,當時JS沒有現在流行,NodeJS還沒有出來。但是今天呢?

最後打一個小廣告,我的博客,大部分是關於前端的: 狼和鳳凰 | Phodal Geek"s Life


為什麼這麼說呢?我認識很多人,已經做了近十年前端了,而且感覺會一直做下去。


1. 前端魚龍混雜,良莠不齊,遇錯了人,遇錯了團隊,前端是個吃力不討好,鬱悶的要死的崗位

2. 前端技術更新快,去年學的東西,可能很多今年已經被淘汰了,沒有足夠的興趣,真的會覺得真心疲憊

3. 前端處於產品的最後一個環節(除了測試外),很多時候因為前面的拖延,趕進度壓力很大。

4. 很多同事和老闆無法區分前端/美工/設計/交互,結果就是所有的錯都得你擔著…

5. 前端技術天花板相對較低,有些牛人轉的原因是尋找更多的技術挑戰

6. 前端職位天花板真的較低(就目前來說)… 即使是大公司,也是盡量往全棧發展。

但是………(這裡是轉折)

1. 前端發展的速度遠比任何語言和職位要快

2. 前端的定位遠不止網頁開發這麼簡單,未來移動端更多的js方案,全新影像式交互,瀏覽器ios中的app應用等等,想像空間還是很大的。

3. 前端很有趣,而且很有成就感,前端開發/移動端開發 是非常有趣體驗。

4. 前端天生具備開源的特性,這使得學習和進步變得更容易,那麼多優秀的代碼和文檔就在那裡…

所以,如果是大牛,轉行只是為了尋找更多的挑戰,擴展技能範疇是為了解決更多的現實問題或提升效率。

至少我沒覺得有幾個人在前端領域是因為達到了職業天花板所以轉去做別的…更多是通過全棧來爭取更多的地位和話語權。


記得2005年我剛工作的時候也聽說程序員最多做到30歲,現在看來虧了沒聽他們的。


個人覺得Web前端工程師這個稱呼會給很多人設置上限。

我覺得後端也好,前端也好,都只能說是程序員。強行分開前端真的只能玩玩頁面和組件了。

我覺得有些前端的編程能力真的很low。【後端也有不行的】

瀏覽器 http協議 tcp web伺服器。都應該了解

其中涉及到協議規範,解析 ( 可以發明一個協議,比如XX+tcp協議 )

到伺服器的 web伺服器設計(自己寫個web伺服器,解析http header頭)。

再到 語言的設計。再涉及到 linux的一些知識,到 C 和演算法。

從事互聯網,這些知識儲備是 最最基本的。

多看看Github,多揣摩揣摩別人的代碼。會學到很多,也會感嘆自己的無知。

不然學會個express+mongodb都能沾沾自喜寫博客。

國內是有不錯的項目產生,但是代碼差距還蠻大的。因為編程能力不在一個水平線上。

推薦幾個看看。

jashkenas/backbone · GitHub

bartaz/impress.js · GitHub

joyent/node · GitHub

antirez/redis · GitHub


前端後端只是人為分出來的職業,在IT行業只要感興趣對工作有幫助去學習就好了,缺什麼補什麼,別太去想是前端還是後端就好了……


不能說是前端不能一直做,而是不能一直做不進步的前端,或者是一個不進步的程序員。

做一個程序員有很多不一樣的發展方向,現在很多人說要深入去精通一門技術,但是實際上他們做的時候卻做錯了,變成去深入精通一門語言了。比如有人喜歡去做網站後端server開發,然後就去專研JavaEE,後來其實變為精通JavaEE了,然後現在很多webserver都開始用Python,NodeJS,Go等開發。其實前端也一樣,只是因為瀏覽器的限制所以給人的感覺就更像是前端==JS。我的想法是可以一直做前端,但是不能只知道JS,真正深入之後會發現不止是JS,不過當然你需要精通JS。不過或許某一天瀏覽器上的語言不再是JS,或者不再有瀏覽器,也許那個時候我們需要用Java去開放基於移動雲操作系統的web前端了。

不過存在的矛盾是:想要精通自己感興趣的領域的渴望和學習新技能的成本的矛盾。不過反過來想如果自己真的感興趣了,那麼學習新技能的很大的成本其實已經就沒有了。

真正可怕的是,對自己到底對什麼感興趣有些迷茫,不敢全力去付出。


只要我還有一口氣在,我就要和ie斗到底

-----------------------------------

2016/4/19更新

哈哈,我不調試IE低版本了,整個大環境都放棄了,別贊了。


如果你認為當前端研究的東西只局限在前端的話,當然走不遠。


前端不能只定義為web前端吧?所有UIUE/客戶端用戶操作相關代碼編寫應該都叫前端。

如果只是說純網頁js前端,我覺得雖然可以做到很高level,好的前端程序員也有極高的價值,但受限於js/html/css和瀏覽器,技術含量的確不如後端搞搜索/大數據/安全/複雜業務/db的高。

但是,寫js runtime引擎是不是前端?用webgl寫遊戲是不是前端?activex里用dx寫3D引擎是不是前端?或者,寫mobile 客戶端是不是前端?cs架構的client是不是前端?如果是,顯然前端也是可以做到極高的技術含量和工程複雜度的。

國內大IT公司如bat之類都是互聯網公司,後端更重要,但像美國寫Adobe photoshop圖像處理引擎/CFD流體模擬軟體/matlab軟體/unreal引擎這樣的前端工程師,也應該不比後端差吧


嗯。

前端不能一直做。

後端也同樣不能一直做。

DBA也不行。

PM可不可以一直做?也難說...

但你飯還得一直吃吧?你能做啥呢?


前端的進階是一個去浮躁去裝逼的過程,說這話的還沒完成走完這個階段。


我覺得主要原因之一可能是前端美女太多,容易分心,不是人人都有條件成為溫千萬那樣優秀的前端的,普通人雜念太多。


以前沒有前端,只有做網頁的。

為什麼會產生前端?

最近幾年,前端技術為什麼突然爆發?

第1個問題,為什麼會產生前端,網上很多分析。

第2個問題,為什麼突然爆發。2個因素,第1,業務需求與實現的驅動;第2,移動產品的技術實現(原生與H5)的競爭。第1,互聯網產品的需求不斷在變更,比如,企業報表數據很難看,要做活動拉一把,活動還不能重複,而且產品更新換代涉及的部門特別多,從產品到UI到設計到前端到後台到測試一直到運維到分析,迭代周期太長(極限編程去死、敏捷開發去死、CMM去死),所以促使了軟體模型、開發模型、設計模式、業務模型等相關理論與技術不斷發展,現在更是將業務及實現前移到前端,所以前端技術必須適應這個變化,從整個模型來看,這是總體趨勢。第2,移動產品的開發技術的競爭,說實話,這是看走眼了,因為H5的標準一直拿不出來,那幾年(有10年吧?)H5內部鬥爭太厲害了(這說明以後中國公司一定要參與H5標準的制訂,如果總是跟隨戰術,不是個事)。從這一點來看,前端技術的發展是有現實必然的。

從第2個問題,還可以進一步推進:中國公司一定要參與到前端技術標準化工作中,積極地第一線地研究業務變化對技術變革的作用,及其實現。


可以肯定的說,前端可以做的很深很廣。

還可以肯定的說,剛入行,和做了很多年,你會發現 新人和老司機,前端這兩個字理解都差異甚大。

一般入行看到的都是單一技術實現這個點。

搞久了你會發現,是一個很有空間感的體系,一棵樹,在支撐前端從研發但提供服務。涵蓋了從前端技術棧,到前端運行環境和方式的技術棧。比如cdn, 伺服器,再到前端研發能力構建能力。很多點都可以挖也值得深入挖。

當老司機在用配置前端的雲構建環境,或者為前端伺服器做集群管理,為研發做分支管理,新人很可能看上去就覺得語言和研發對象都變了,是老司機轉行了。。實際並不是,只是他工作是對前端研發技術服務體系的,需要在不同層面處理問題了。

從你認知的前端入手,只是起點。前不前端,轉不轉行的標籤,實際並沒有那麼重要。


推薦閱讀:

非計算機專業,轉行做前端,入職準備?
大學輟學去自考本科可行么?
為什麼感覺跟自己期望的web前端的模樣不一樣?
前端做項目如何積累經驗?
Web 前端適合女生做嗎?職業發展為女程序員,女ui設計師或女管理者,道路該如何選擇?

TAG:前端開發 | 程序員 | JavaScript | 計算機 | 前端工程師 |