web前端工程師的迷茫?

一枚混跡互聯網公司的前端,數年來一直一個人摸索中成長,技能從photoshop-&>html+css-&>開飯店-&>js+jquery-&>js,待遇從畢業的1.6k到目前的9K,一路走來,跌跌撞撞,也帶過徒弟一二。但總覺得哪裡不對勁,一直都是一個人。工作中也被勸過轉產品經理,自己回絕了。致力於前端這一塊的我開始迷茫了,一個項目又一個項目的輪迴,就這樣下去嗎?前端工程師就是這樣的嗎?
小弟首次在知乎提問,還望大神和前輩們為小弟指點一二,小弟自當感激不盡……


這是一個挺常見的問題,可能在快節奏的互聯網行業會更突出一些。我的回答裡面不涉及太多技術細節,可能更偏做事和思考的方法。

這個行業要求你得不斷地學習、成長,想想現在與五年前相比,都發生了多麼翻天覆地的變化。引用一句之前我看到的話「一時間出現這麼多新東西,讓我有些恐慌」,一面是成長的壓力,另一面是各種的選擇困難。還有一點也挺殘酷的,這個行業不是誰資歷越老就越牛逼的,說到根本還是比拼的內功,這又讓我想起了另一句話「很多人所謂的多年經驗,無非是一年學來的經驗在多年裡面不斷地重複著」,這真的挺可怕的。

自身的成長是個長期而且持續的過程,要有所取捨。前端的基礎知識、各種框架的設計理念等可以多去了解一下。關於新技術,學習並且最好能落地到應用場景中去,同時不要盲目追求新技術,那會使你限入一個無底的黑洞。特別是這些年,越發地覺得要回歸本質,我們現在用的大多數技是為了解決我們「謀生」的問題,而將來還是要更多地去關注一些偏向於底層的東西,就比如js的框架不管怎樣日新月異,從prototype一路走來到現在jQuery大行其道各種新的框架百花奇放,但js本身卻在穩定地慢慢完善中(相比很多年前,你能看到它已經好了不知道多少,但這一切卻不會讓人有一種不知所措的失控感)。前幾周在做項目的時候,看到一個開發哥們捧著一本計算機原理的書在溫習,我覺得挺好的,與其面對現在層出不窮的新語言新框架,不如退而溫習一下這些失落已久的東西。

另外,可以挖掘一下業務中還有哪些值得一做的,往往不直接產生價值,但具備共享特點並且需要長期投入的事情會少有人做(大家都喜歡做短平快的事情,能為年底晉陞加薪爭取亮點)。嘗試去主導這麼一兩件事,做你認為有價值的事,所以你會特別專註其中,你得去思考很多,去找尋一切可以幫助你的力量去推動這個事情的前進,這與平時別人交給你的任務不同,以前是別人都安排好了,你只不過是個「資源」,負責執行,而現在你是一個規劃者、決策者和執行者,你即面對痛苦,又收穫快樂,而以往的需求、項目,你可能做著做著就麻木了。技術人員在初入行業時候,是來什麼做什麼,而資深的技術人員在多年的折騰和磨練以後,具備了更為完善的思考能力(所以這個時候會有一些人轉而去從事產品經理的角色,這很正常),能夠不僅僅只是交給什麼做什麼,並且是能發掘更有價值的事情去做,想想這樣子的話,你帶著小D們去做事,才能讓他們看到未來和希望,用你的思維去影響他們,他們也才會有成長和收穫,不然他們同樣會問一個類似題主的問題,對不 :)

還有就是業餘時候,可以自己每年做一個小產品(比如app),你能體會到pd、技術、運營等不同崗位的樂趣,也會因此意識到自己還需要再學點什麼。其實現在的前端,要學的東西太多了,正如前面提到的,會讓人陷入選擇的恐慌中。個人的建議供你參考一下:

  1. 我會推薦周圍的朋友對Linux有適度的了解,它的上手很難,學習的過程很痛苦,但是如果你想自己建個站部署些應用,你必須得學會它。另外,用好Shell,基本上很多原先在Windows上的小工具都可以扔掉了(這個話題我覺得應該適時打住了,不然容易跑題成為《windows與linux哪個更適合開發者》)。
  2. 關於Node.js,我對它的關注度不太高,不過不可否認現在很火熱,社區也很活躍,如果有興趣,就深入地學習一下,凡事不要淺嘗轍止了。
  3. 關於iOS,三年前有個朋友建議我學習一下,那會兒我沒在意,這一年多以來我慢慢地在學習並實踐著,發現它給我帶來了很多新的思路,就單單一個UIKit的功能就已經可以滿足我寫app的大部分用途了,相比於寫web app,我個人覺得寫iOS會更有意思一些,你會享受到真正做好用戶體驗的樂趣(兄弟們不要噴我,小弟也是菜鳥,說的不妥的地方請輕批)。
  4. 要本著拿來主義的思路,盡量少的自己開發重型的後台、資料庫系統,做內容運營的app還是蠻多的,像比較"SMZDM"、"果庫"、"知乎日報"之類的,都是偏向優質輕量的內容輸出為主,這對於個人時間比較局限的人想做一些小產品,是個不錯的思路,而預期的用戶群體,如果能做到個5000~10000,那就很了不起了,成就感也會杠杠的~

以上都是我的一些胡思亂想,供你有取捨地參考:)


我覺得互聯網大概可以分成兩種,一種是做外包,一種是做自己的產品。
看到你說一個一個項目,感覺就是做外包一樣,不如試試做自己的產品。


web前端讓太多屌絲走上了人生巔峰,所以請不要猶豫,大膽的跳起來吧!


有關前端工程師的價值到底有多大,相信是很多前端工程師心裡的一道坎。在這裡小編推薦一篇阮一峰同學的:《母雞與前端工程師》的文章,這篇文章可以給選擇這個行業的同學一些信心,正文如下: 母雞與前端工程師-博客-雲棲社區-阿里雲

1.

新聞說,今年全國高校畢業生達到空前的756萬,又趕上很多傳統行業壓縮產能,就業壓力很大。

很多曾經的"明星專業",都已經就業困難。我考大學的時候,國際貿易是最熱門的專業之一,大家認定這個專業容易賺錢。但是現在這個專業的畢業生,想找一份好工作會很難,上海將它列入10大預警專業,即最難就業的十個專業之一。

但是,並非所有行業都不景氣。至少有一個行業的用工需求極其旺盛,到處都是招聘廣告,工作崗位是應聘者數量的好幾倍,通常你都有好幾家公司可以挑。每周都有朋友發來消息,能不能幫忙介紹幾個人過來,我們實在是缺人啊。

這個行業就叫做互聯網開發。

2.

互聯網行業的勞動力需求,可以用"用工荒"來形容。

只要你會做網頁,尤其是手機App的頁面,或者微信的活動頁面,就不愁找不到工作。哪怕你剛剛學會幾個月,或者剛從培訓班畢業,只要能拿出作品,就會有比其他行業高得多的起薪。等到有了一兩年工作經驗,工資就可以達到大學教授的水平。

這樣的就業行情,怎不令人趨之若騖。儘管每年都有好幾萬新人加入,互聯網公司還是在喊,工程師嚴重短缺。

我曾經不太理解,為什麼網頁開發工程師(或稱"前端工程師")這麼搶手。直到有一天,看到了一組雞蛋的統計數據,才想通了這個問題。

3.

中國是世界雞蛋第一大國。據統計,2013年全國產量5750億枚,一個中國人平均一年要吃掉400多枚雞蛋。

那麼中國需要多少只母雞,才能達到這樣的產量?

據說,普通母雞一年大概生200~250枚雞蛋。養雞場裡面最優秀的母雞,一年可以達到320枚。以250枚計算的話,中國至少需要有23億隻母雞,才能滿足全國人民吃蛋的需求。

4.

如果把雞蛋換成網頁,同樣的問題就是,中國一年需要生產多少張網頁,才能滿足人民消費的需要?

去年,我國手機用戶超過13億,智能手機用戶超過6億。就算其中只有一半人上網,那也是3億多人。這麼多人,每天都有幾十分鐘或者幾個小時,要使用手機上網。全體中國人一年消費的網頁和App的數量,是一個天文數字。

雞蛋是母雞生出來的,網頁從哪裡來?歸根結底,所有頁面都需要工程師做出來。那麼多互聯網公司,每家公司都需要前端工程師。而全國的前端工程師,目前可能總共有幾十萬人,對比那麼大的內容消費量,肯定是遠遠不夠的(想一想吧,全國的母雞有23億隻)。這樣一想,工程師搶手就不奇怪了。

還有一個很重要的原因,學校不教前端開發,可能會有一些相關課程,但不會系統地教,所有前端工程師都是靠自學的。這也導致了供給偏少。

5.

由於工作好找和工資較高,前端工程師現在成了一個熱門職業。很多不是搞計算機的人,也在考慮轉行加入。社會上的培訓班,每個周末的各種講座和大會,都已經人滿為患。

我經常收到電子郵件,諮詢是否應該改行。

"我是一名會計/教師/導遊,現在的工作沒有任何成就感,感到沒有發展空間。如果我拿出一年左右的時間去自學前端類的課程,將來能走上程序員這條路嗎?"

這可怎麼答覆?

6.

前端編程入門,確實不難,可以短期速成。只要你對計算機有基本的理解,哪怕編程零基礎,經過三四個月的培訓,也能做出網頁和App。

如果你確實想改行,我覺得,這基本上是一件好事,你應該選擇那些更有前景的職業。但問題是,並非每個人都適合編程。現在那麼多人一窩蜂學習互聯網開發,肯定有人將來會後悔。

你最好事先知道下面三件事,再考慮加入這個行業。

7.

首先,你應該熱愛編程。

職業程序員每天都必須長時間地坐在電腦前面,與機器對話的時間,遠超過與人對話。如果不是真心熱愛編程,這會很難忍受,簡直像是一種懲罰。讓一個人在他不喜歡的事情上面,筋疲力盡地幹上幾年甚至幾十年,那是多麼痛苦的人生。

其次,編程本身雖然是一種智力活動,但是中國的現實卻更像一種體力勞動。

由於運營活動太多,開發是做不完的,App必須不斷地推出新版本。工作量常常是超負荷的,任務排期一個接著一個,中間根本沒有喘息時間,同時做多個項目也是家常便飯。每個項目都有截止期,做不完只能加班。這樣說吧,製作網頁本身是有趣的,但是像流水線一樣的"製造"網頁是乏味的,好比養雞場的母雞不停得下蛋,每周必須完成5個蛋的指標。

最後,這個行業的新陳代謝很快。

快速的技術更新和極大的工作強度,使得年輕人具有天然的優勢。等到職業生涯後期,你的開發速度開始慢下來,就是你被更年輕的人取代的時候。一隻母雞一生中,大約總共可以生2000枚雞蛋,你的一生中可以製作的網頁(或者 App),大概也是一個常數。

8.

如果你不喜歡編程,體會不到代碼的樂趣和成就感,只是為了一份好的薪水,就跑來干,那就是很糟糕的選擇。想一想如果十年前,你聽說國際貿易很興旺,高考志願就填了國際貿易,今天會怎樣呢?

你應該選擇,那些讓你產生最大興趣和熱情的職業。因為未來所有行業,低端的、低技能的崗位都會被機器取代,只有技能最強、最有創造性的人不會被淘汰。興趣,也只有興趣,才會讓你產生不倦的熱情,鑽研下去,變得更優秀。

(完)

另外做決定最重要的是信息的掌握程度,雲棲社區中還有一篇有關中國程序員的調研總結內容,各位準備入行的同學推薦看一看:《2016軟體開發全行業調查白皮書》2016軟體開發全行業調查白皮書 告訴你最真實的程序猿世界


不知道是哪位大神說的,人類的工作分為兩種,一種是有創造類的每天都在創新,一種是不斷往複周而復始的重複,絕大多數人的工作屬於第二種,第一種類型的工作,要麼你絕頂聰明,要麼你付出常人之不及的努力,仔細想想像搞科研的那些人就是不斷的學習天天搞研究但還不一定能出成果的,他們屬於第一種,我這種泛泛之輩自然屬於第二種,但不代表在我這種人在這樣的環境里就不需要努力學習和創新了。所以,題主,你這種狀態是屬於在正常不過的狀態了。


一個又一個項目的輪迴中,你是否有意識地讓自己成長?問問自己:
有沒有嘗試新的更優秀的框架,更好的模塊化?更好的代碼組織架構?
有沒有追求極致的性能優化?
有沒有用戶數據的統計分析產出業務反饋?
有沒有沉澱下通用組件或是博文可以分享?
有沒有嘗試通過工具提升生產力?
有沒有完善的單元測試和文檔方便後來人接手?
有沒有關注過跨終端和響應式的支持?
……
如果你是一枚有追求的前端,你一定總能想出源源不斷的挑戰讓自己在重複的工作中獲得提升,你也會逐步擁有更大的視野,到那時你就沒有時間迷茫了。


首先定位自己的職業方向,然後反思自己是否熱愛編程,能否在編程中取得快樂(精神+物質)。

我曾經在編程技術領域裡轉來轉去,從web-&>網路遊戲-&>windows應用軟體-&>企業應用-&>web,使用的編程語言也幾乎覆蓋了90%的常見種類。有段時間也很迷茫,厭倦上班。但現在已經找到了編程的樂趣,知道努力的方向。

給個建議你:嘗試做一個web應用,產品用戶越多,你的成就(感)就越大,對未來的方向也就越明確。


很多東西做多了都會變成簡單重複勞動,就it行業來說無論前端後端還是app,都一樣。當你能把某一項工作變成簡單重複勞動的時候,證明你已經熟練掌握它了。到了這個階段很多人就開始迷茫了,覺得工作枯燥無味了,技術沒提高了,職位薪水不漲了。那麼就 web 前端來說該怎麼選擇呢?這裡只對依舊做技術這條路線進行展開。

既然是繼續走技術路線,那麼就有兩個發展方向,一是往深度發展,另一個就是往廣度發展。

1. 深度發展

從題主提到的技能樹來看,現在只解鎖到 jQuery,六七年前這差不多已經是頂級技能了,做久了就自然會變成了簡單重複勞動。但是最近這幾年 web 前端技術有了翻天覆地的變化,有非常多的新技能在等著大家去解鎖,簡單列舉一下,但並不限於此:

MV* 框架:angularjs, emberjs, backbone。還有很多其類似他框架可以自行搜索

build processor:gulp,grunt,brocoli

css 框架:bootstrap,foundation,material design

css 技術:sass,less,responsive design

js 技術和框架:single page application,json web token,browserify,ionic 等等等

除了這些,前端的性能,瀏覽器和設備兼容性都有很深的水

要多的列表看這裡:https://github.com/dypsilon/frontend-dev-bookmarks

尼瑪,這麼長,根本是學不完的好嗎?
尼瑪,光選擇哪個來學都要糾結很久。
尼瑪,怎麼覺得看完更迷茫了?

確實是學不完的,也不需要學玩,但是這裡面很多技術可以把你從簡單重複勞動中解救出來,可以讓你重新體會前端開發的重要性,可以讓你重拾前端開發的樂趣。

那麼怎麼選擇新技術來學習呢?
首先可以看哪個庫最多人關注,看看適不適合你,是不是要學習
https://github.com/search?l=JavaScripto=descq=language%3AJavaScriptref=advsearchs=starstype=Repositoriesutf8=%E2%9C%93


你還可以通過github上的排名來了解現在什麼最火,找到你感興趣的:https://github.com/trending?l=javascriptsince=monthly

2 廣度發展

這裡的廣度是指除了前端,去學習互聯網所需的其他技能,包括後端,伺服器,資料庫,手機 app 開發等等。從而往 full stack 的方向發展。有不少公司是青睞 full stack 工程師的。成為 full stack 也可以幫助你更好的理解互聯網產品和技術。

先簡單回答這些,想到再補充


我做前端剛2年,也迷茫了,說說幾點:

1.前端門檻低,基本三技能。html/css/js,必須掌握的,js的掌握程度(看這個鏈接)怎麼樣才算是精通 JavaScript? - 前端開發

2.前端技術層出不窮,上面,有人給出了,一個前端可能要學到的東西,是不是很多,畢竟精力有限。MVP / MVC / MVVM / UI框架 / JS框架 / web應用框架/ 還有其他行業中的一些分類框架/好多好多。

3. 緊接著2中的說,vuejs /react/avalon/angularjs/ 目前是不是很火,還有我沒說到的,記住,公司用什麼,你學什麼,這樣你不會受傷

4. 招聘網站上,前端薪資是不是很高,高的已經超後端了,實際中,每個人的前端薪資,要看公司、要看你個人運氣、和你的能力、等等因素。

5. 做前端,是因為門檻低,我想做技術,我想要高工資;工資,技術,才是我想要的。

6. 前端職位在公司的地位,在老闆心目中的地位,大部分都是低於後端地位,話語權差的到沒有,
好的到有了話語權,但是不會高過後端。

7.10個招聘信息中,9條都少不了,了解一門後端語言的要求,其實這一條是一個加分項,或許是一個決定性的作用

8.html5都可以做客戶端,ios和andorid程序員多少都會受到影響的。

9.前端在一線城市的工資還是可以的,但是到了二線城市,就下降了 一大截,嚴重的地位都沒有了。但是一個做後端的人,到一二線城市,工資不說,但是多少還是有點話語權的。

10.前端轉產品,前端轉後端,前端到帶團隊,默默的根據個人方向走了,但是或多或少又還在堅持的,說到底,我們都是為了工資,興趣暫時挪到第二吧,因為社會很現實

11.當你把前端技能圖掌握的你認為還不錯的地步,這時你的所有項目經驗,就耗費了你一段時間,這些或許會對你產生一定的價值影響。這個換算成錢,興趣、地位,到底有多少,我想肯定不會比現在低

12. 移動端的網頁算是一個前端的春天吧,因為它與前端的起步時間很融合,所以前端必須會pc+移動

13. 互聯網少不了數據,有人說這是一個數據時代,也是,前端UI再叼,沒有真實數據,不說了。

14. 現在做什麼,就學什麼,這句話好像很有道理,再來引一句,轉行窮三年,不轉行窮一輩子。

15. 對於一個技術人員來講,進入前端這些年了,技術沒有進步,只有經驗的沉澱,看到年輕人技術進步那麼快,自己的技術,貌似沒有明顯的變化。這對於一個技術人來說是致命的,

16.你要是能用css3寫出層出不窮的叼人效果,後端人員會對你膜拜,會佩服你,但是你要是停留在使用階段,能寫出而不叼的階段。那麼不說了。

17.前端的大神現在都能做什麼,寫框架,帶團隊,懂/會後端,js厲害的不行不行的,對事物一點就通,為行業做出了很多貢獻,幫助了好多人。也搬過磚。出過書,與國外大神交流,維護項目,項目經驗十走,對架構了如指掌。給老闆創造了好多價值,對團隊做出了巨大貢獻。這些都是我猜的,畢竟是猜的

18. 猜的那些 是不是這樣,得大神來說,但是我們想要什麼,我就是想要一個美好的未來,這就虛了。說到底,為名:在團隊的地位,在公司的地位,在行業的地位,身邊人的地位。再大就不說了。為利:高工資,錢誰還嫌多啊,最起碼也要處行業的中下層階段;為興趣:就是想做技術,想用hello world改變世界。

19.後端、資料庫。伺服器、這些,前端看到這些有沒有想染指的。

20.全棧工程師這個職位,聽名字好複雜,到了一定境界的大神會懂得。它到底是一個什麼樣的存在,前後端通吃,是不是呢,猜不頂用,標準規範有沒有,來看看百度百科:全棧工程師_百度百科

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

其實說了這麼多,我也不知道我要表達什麼, 或許只可意會吧,

前端三技能掌握差不多了,是再走後端,還是緊接前端行業呢???

畢竟一線城市呆久了,還是要回二線城市的,暫時3年內只想做技術


就算到習總的程度,也是一個文件批完批下一個文件,一個國家訪問完訪問下一個國家。王健林明天早上還是面對自己的萬達,反正不會變成恆大。
工作不就是這樣么?


你究竟想要什麼?不可能什麼都會有,只能說你最想的是什麼,然後就是開始放棄


上面回復的很好,你情況我也遇到了,但是我有目標,我知道該學什麼,我知道自己的興趣,建議做自己感興趣有用的web應用,app也可以做,現在工具平台太多了,web做原生性能app已經完全不是問題


因為現在社會生存的壓力,使得人們生活節奏快,學習的速度也要快,感覺每天不學習就會掉隊。在這樣的情景下,不斷的學習是必須的,也是每個人成長的必然。各個行業工作,又有哪個不是要奮鬥和努力才能獲取到成功的。回到前端開發,個人感覺,要在一個行業耕耘下去,看你是挖坑還是挖井,挖井會讓你更深入,才能在一個領域成為專家,才有和別人競爭的優勢。這是道的層面,另外在術的層面也就是方法的層面上,就要保持一顆好奇心,不斷的去學習新知識,跟隨時代的潮流,去做對未來有幫助的事情和技術。保持初心,保持好奇心。

個人微信訂閱號:


高興就好 高興就好


初出茅廬中······這些軟體都有接觸,但都興趣不高 哈哈


因為定位不明確,做的事情太雜了。去大公司聊一聊,在技術沙龍談談,去體驗,重新獲得快感的時候,能感受到時間飛逝的時候,就醬紫。


有項目輪迴是好事,證明你們公司還沒有黃。只要你自己會學習,項目越多你應該越開心才是。


轉一句別人的話:「優秀不夠,要無可替代」。勤勞、聰明、比你年輕、比你有激情的人,外面一大把。興趣愛好不能當飯吃;要生存,就要在興趣愛好的相關領域中,尋找難以替代的位置,並通過自身成長佔據它。


做前端半年,也是一直在糾結,能學習那些技術,每次都是看得眼花繚亂,希望大神能給予一些指導


一起在艱苦的創業路上奮鬥一把,會讓你從新認識自己。希望交個朋友。


堅持下去 然後邊做點自己喜歡的事情,生活除了工作還有別的色彩


題主沒有夢想么?


推薦閱讀:

一般用哪些工具做大數據分析?
你是如何學會正則表達式的?
如何評價螞蟻金服新一代數據可視化引擎 G2 ?
有什麼工具可以下載整個網站的內容嗎?
瀏覽器向同一域名同時發送兩個 HTTP (ajax)請求,究竟是共用了一個 TCP 連接還是兩個?

TAG:前端開發 | JavaScript | 前端工程師 |