您好,小弟大三狗,軟體工程專業,今年學校組織實訓選擇方向,實訓5個月左右,無奈不知道實訓方向如何選擇? 個人興趣比較偏向web前端,但看了很多網友的討論之後變的很糾結,不知道學前端還是後端或者是什麼,web前端還有前景嗎? 問題可能過於愚昧,還請各位大哥多多諒解。誠謝。


「前景」這事,在不同人眼裡的含義不一樣。

對於轉行到這行來就為混口飯喫的朋友,恭喜你,Web前景還有,夠你混碗飯喫的,雖然你不一定能喝上這行的酒。

對於本來就是幹這一行的Web前端工程師,嗨,你要是還把自己定位成「Web前端工程師」就不對,工程師就是工程師,不要糾結於前端後端。要知道,你和上一段裏所說的轉行過來的不一樣,你對自己應該有更高的要求。而且,就算是前端,Web也不是唯一的前端,我們把前端定義成「人機交互界面」的話,那就包括移動端、隨身設備端、語音交互端(例如Alexa和Siri)還有其他機器人智能終端,你把眼界看得更寬更廣一些,前景就會更大一些

Web這種人機交互形態,還是挺有生命力的,但是,一切都是在變化,有可能若干年後一個技術變革,Web就喪失優勢變得門可羅雀了,所以呢,各位同仁,要有心理準備。

也不用說太遙遠的未來,就說現在吧,就說Web前端吧,對於科班出生的Web前端工程師,現在Web前端有沒有前景?

我覺得沒有

你是不是有點喫驚?《深入淺出React和Redux》的作者,在圈內也算有點影響力的老兵 @程墨Morgan,居然說出這種喪氣話,是不是……不大好。

我不敢說我一定對,但這是我的肺腑之言,且聽我慢慢道來。

前面我說過,轉行過來的,不用操心混不著飯喫,因為還有大把大把的網頁應用等著人去開發呢,接著幹,放心,活幹不完,996都幹不完,所以,混碗飯喫不成問題,but,咱們現在說的是「前景」啊,不是隻滿足於混一碗飯喫。

幹什麼事,要想當贏家,或者說要增大自己贏的概率,一定要看清形勢,順勢而為,你贏的概率就大,逆水行舟,你就費力不討好。

對於Web前端的大勢,我的觀點是,這領域的技術已經變得commoditized了,commoditized這個詞怎麼翻譯呢?可以翻譯成「商品化了」,還包含一點「同質化了」的意思,就好比你慶豐包子鋪做包子,我程記包子鋪也做包子,都是做包子,而且我們都沒有什麼特殊的工藝能讓自己的包子味道碾壓其他包子,對於消費者來說,喫什麼包子不是喫包子,從實用價值角度看,品牌沒啥用,哪怕是可口可樂牌的包子也不見得比我程記包子好喫,這就是commoditized。

現在我去國外的twitter或者medium上去看相關技術文章,基本上就是車軲轆話,各種人都在寫某某框架的教程,講來講去都是那些東西,已經很難看到新鮮東西了;我去看國內的技術文章……那就更不用多說了。

當然,並不是說做Web前端的都在做同質化的東西,像Dan Abromov和尤雨溪這樣的人依然還是在做最前沿的Web技術,他們做React或者Vue可以影響到整個行業,但是,這個世界需要多少製造React或者Vue的人呢?不需要很多,幾百個都算高估了。

當然,我也不是說你不做個React或者Vue就不算牛,你依然可以做有意義的工作,你影響不了這個行業,好歹可以影響一個小範圍,比如你們公司,但是,話說回來,一個有一百個前端工程師的公司,需要幾個這樣的人呢?更不要說很多公司並沒有一百個前端工程師,有的公司都沒有一百個工程師。

這是一個金字塔結構,只是這個金字塔有點扁

其實也不用嗟嘆,任何一種技術都會有一個生命週期,一開始很亂,需要先行者來開拓,風起雲湧,這時候可能會出現英雄,然後變得成熟,解決方案固化,從業的人多,發展速度就慢了,再往後……

我說這些你是不是不愛聽?

你不愛聽也沒關係,我只希望你明白,世界的運行規律,不是以我們單個人的喜好而決定的,與其義憤填膺來罵我,不如先深吸一口氣,聽我幾句話:

  1. 永遠不要把自己固化在一個崗位上,多給自己一些選擇;
  2. 做的人多,而且更多人湧入的工作,你不站在金字塔上層就是沒前景;
  3. 做的人少,但是將來很多人乾的工作,有前景,因為別人加入可以把你抬到金字塔上層;
  4. 無論什麼行業,你不做到很好,就是沒前景;
  5. 如果只是關心工資多少,就別費那勁操心「前景」了,談錢多輕鬆。


後端是數據的搬運工

前端是數據的粉刷匠

搬運工靠力氣,壓力大,累

粉刷匠靠本領,需求雜,煩

前景什麼的,都沒啥前景。


謝邀

前端自08年左右興盛已來,無數年輕人投入其中,但是這2年不知道身為前端的你,有沒有感覺到求一份靠譜的前端的工作變的很難,同樣企業求一名靠譜的前端也覺得很難,其實並不是因為求職者太過挑剔,也不是企業給不起工資,而是因為這兩年大前端的發展無論從技術深度和廣度都跟以前大不一樣,前端不再是頁面仔,而是指能夠使用JavaScript和相關H5技術開發iOS、Android、AR、VR、IoT、PC、Server、WebApp、3D甚至AI的綜合性技術人才。很多同學的計算機基礎相對薄弱,導致了知識直接斷層。才會出現咫尺天涯的這種怪象。

也正是由於這樣綜合性的前端一人難求,造成了前端的工資水漲船高。今天看到這篇文章的老鐵,不論你是計算機科班還是」野路子」前端,如果你在一線城市30歲前依舊月薪沒到30K,你真的要反思一下自己了。到底是技術、情商、智商、努力程度還是哪裡出現了問題讓你沒能斬獲一份這樣的薪水。鄙人不才,前端開發界一名小學生,身高170體重170,有人叫我老袁,也有人叫我圓老師,正經東北爺們。幾年前僥倖進入百度和騰訊,後來在天貓offer和創業之間選擇了創業,更僥倖在27歲那年拿到了月薪30K,說這些並不是為了裝或者鄙視誰,我何德何能,更何況程序員何必diss程序員,我只是想把我的一些想法寫出來與各位同仁共勉。您看著舒坦您就看,您看著厭惡就關了頁面,別當鍵盤俠,100多斤的人了還是得長點心的。

首先我想說三點。

第一點:非科班出身的同學,草草入了前端這行的同學,而且入門學習的知識和工作只是HTML、CSS、JavaScrpt(給按鈕綁綁事件、發發請求 ),沒有任何後端語言的背景,這將直接制約你的職業生涯。因為前端如火如荼的大勢之下,其實是把大部分後端思想在前移比如經典的DI、IOC、AOP、MVVM(起源於 SilverLight)等等,這些思想什麼三大框架中運用的淋淋盡致。

第二點:每天只是抱著vue-cli的同學,天天npm install npm start npm test,一頓操作猛如虎,一問工資兩千五,感覺自己很溜,但是讓你配個完整的vue-cli一臉茫然,這更是一個危險的信號。但是呢這真的是大部分老鐵的工作常態。

第三點:天天寫微信小程序、支付寶小程序、頭條小程序等XX小程序這一類的老鐵,我並不是說寫小程序你技術弱,而且寫著寫著你的技術會學跑偏。因為它是某種生態下的技術,並不通用,嚴格意義上來講其實並不算技術。而且很多文檔確實不健全,是典型的程序員坑程序員的大眾技術典範。

以上這幾點從我自己的感覺來看確實是前景堪憂的。

為什麼說這類童鞋前景堪憂呢?如果天天就幹上面說的這些活,真心是很難突破15k的,15k是很多同學職業生涯的第一道坎。老袁我來北京6年,所以對北京瞭解的多一些。目前來看在北京社招的同學月薪30k還是非常普遍的,因為很多剛畢業的本科學生(學校還可以的)校招在北京起薪就已經15k了,如果老鐵你天天寫些微信小程序之類的,或者長年堆在業務寫著你自己都厭惡的API的時候,真的得想法突破自己,走出自己的安逸區。

走出自己的安逸區,首先學歷是個門檻(以北京舉例哈),你應該看到過關於讀書無用類似的帖子,但是這個還真別信,在北京很多企業沒有學歷根本過不了HR這關,更別說你的簡歷能到面試官的手裡。如果你學歷不好技術頁不行說實話很難混老鐵,現在市場招聘,先不說頂級BAT、TMD,就是二線互聯網企業都必須要求全日制本科,不是不給你機會,而是你都沒有資格。2018年下半年這個現象更加突出,我承認學歷不是很好的同學能力不一定差,但是老鐵這塊敲門磚你沒有,根本就沒有機會把自己優秀的一面展示在企業面前。如果你是大專,就更得橫下心來去學習吧,先奔著25K努力。

你會問,既然企業都不給我機會了,我還努力啥。錯!這個大錯特錯,你要讓自己慢慢變得優秀,先讓你的技術在現有的公司可以獨擋一面,各方面全盤掌控,重要事情你都可以頂上。創業公司最重要的是積累人脈,你周圍的同事或者leader可能是從某某知名大廠出來的,如果你具備獨擋一面的能力,周圍的資源及外界的機遇都會助你進入更高平臺,那句話說的沒錯機會總是留給有準備的人。

所以看到這裡的專科老鐵,學歷不好使,就是讓技術過硬,加班是提升技術的最好手段,但不是加無意義的班,無意義是指重複的工作,你會的,這裡說的有意義的加班指比如你的團隊哪天要搭SPA、MPA、CI、BDD或者有圖形學的項目需要你等等,讓你參與核心開發部分。青春就那麼幾年,如果每天加無意義的班,就沒必要繼續在這家公司待下去了。那麼就有童鞋說,我去外包吧,對學歷和技術的要求低些。我告訴有這類想法的童鞋,外包公司是萬萬不能待的,只是浪費青春,四點現實原因:重複性工作 、各種髒亂差的活 、你的工資大部分根本到不了你的手 、你的工牌的顏色跟其他同事也不一樣!不一樣!

接下來,就是提高自己的技術了。當然,上面說了學歷還算不錯的話,咱就更得讓自個的技術獨擋一面了。那麼如何提高自己的前端技術呢?

首先要了解最新的前端趨勢比如Micro Frontends啥的。同時還要熟練掌握現在流行的前端技術如Webpack、React、Vue、ES9、Angular、KOA、TS。但如果你是普通公司,你每天實打實,腦子裡不要考慮做輪子哥(原因——輪子太多了Parcel、Moon、hyperapp.js、Fastify…)但是一定要理解內部機制是怎麼樣的,要理解後面的東西,不是天天一頓擺API。因為現在前端的面試基本都是原理!原理!原理!即便現在行情是面試造火箭,入職釘釘子。還有建議大家一定要把Node.Js要研究透徹,這纔是真材實料的硬貨。

接著,若要提高前端怎麼辦呢?

1、要學會C|C++(Webkit等等後面也會用到)。

2、最早討論的經典思想—OOP到AOP再到Functional,個人建議先學思想再學框架。還有NodeJs中三個特別有意思的框架 Nest(NodeJs版本的Spring)、Nuxt和Next(VueReact的SSR),有沒有也傻傻分不清楚。

3、至少會一門正統的語言,比如:JAVA、NET等(學習他們的語法和思想因為ES9就是跟他們長得一樣)

4、跟上時代 (前提——必須熱愛這個行業,不愛你真的腦子裡只有一句,求別更新,老子學不動了。。)

舉個小栗子:比如CSS中的變數、JavaScript的類,這些代碼應該在你的項目裏到處跑了。

5、項目,一定要做,沒有條件創建條件也要用。只有把技術用到項目中去,才能讓你醍醐灌頂,光學不幹等於耍流氓。

另外,我來說下根據羣體的劃分來注意前端道路上的注意事項。

上學羣體:計算機基礎必須好好學(校招必問)———數據結構和演算法、計算機組成原理、編譯原理、操作系統,這些課千萬別逃。

工作羣體:學歷可以且工作也可以的,要注重人脈的培養。原因呢我上面已經講過,就不多贅述了。

如果你是計算機科班生,一定要好好學專業課,這不是雞湯,是現實。校招面臨的壓力不比社招低,校招上來就問Webpack的原理是什麼,在工作中體驗過什麼是工程化嗎。大家會說,天天上學,我怎麼有項目,怎麼體驗工程化,但問題是就有人會,沒辦法。校招沒人問學校教不教,只問企業用的你會不會,會就招,不會就拜拜。有些大學老師的授課內容已經和社會嚴重脫節,什麼叫SPA,什麼叫MPA,MPA怎麼轉換成SPA,老師都不懂,這個就得靠你在學校裏多多去接觸外面的資源了。但是上面提到的這些大學的專業課你必須得聽,校招大部分都在考你數據結構與演算法,社招也一樣,如果你是純野路子(非科班)更得補,有人說前端用不到演算法,Dom Diff、投影演算法、Trie樹、KOA原理裏的recursion、JS執行堆棧瞭解一下?想學明白上面說的框架原理,編譯原理你躲不過(Webpack裏的complier、AST分分鐘體現出作者的專業性),數據結構與演算法沒學好,React和Vue的源碼壓根玩不溜,演算法已經成為了大部分公司的一面,如果這些功課的基本功到位了,框架原理就很easy了。這個社會優秀的人太多了,所以在職場拼的就是基礎瓷不瓷實,所以如果你還在上學,珍惜時光吧。如果你已經在職場,問問這些東西你懂不懂?

最後,我想說前端路漫漫,以上只是我的個人一些感觸,北漂5年,冷暖自知。月薪3萬不是終點,是起點。在北京3萬工資雖不高,但是你可以稍微更好的照顧你愛的人,可以更好地照顧父母,也可以在兄弟有難的時候更好的挺他們一下。寫這篇文章也是想給同路人一點點建議,不喜勿噴,還有很多細節總結的也不是很全,見諒。以下是我覺得不錯的一些書單


不知道從何說起

web前端在低端招聘市場默認等於前端

就我個人感覺 現在的企業需要的是一個懂客戶端開發的 也懂傳統pc網站開發的 更要懂http 優化 數據結構 也要懂一點演算法 懂node更好了

實際上原因有很多 1.前面很多人說的那樣 市場大環境確實不行了 2.之前13-16年培訓班培訓出來的那幾十萬前端+這幾年自學出來的前端+畢業生 只要不是太水到現在都是3-5年經驗 前端工程師的供應量太多了 加上這幾年的創業倒閉潮 市場上的有經驗的前端還是很多的 3.另外一點不得不說的是 企業在招前端的時候已經能正確認識前端的作用了 不會再招一個只會寫靜態頁面就能輕輕鬆鬆10k 前端承擔的業務更多了 比如很多以前在伺服器跑的業務現在放前端頁面跑 還有一些不那麼喫資源的演算法

現在的情況是 初級中級的前端和高級前端之間是有斷層的 而且缺口還不少 初級中級市場上不缺了 但是在15k以上的高級前端工程師 還是很缺的

現在新手入行的風險太大 首先就是超過30個以上的知識點 平均一週一個 也需要大半年 然後融會貫通一下 需要1年多的時間 這是直接的時間成本 其實就是在市場新手面對的競爭是一幫2-3年經驗只需要8k 甚至6k工資的老傢伙來和你直接競爭 這無關學歷 學習能力 學習態度

以上這些這都是缺點

優點就是前端的範疇在不斷擴大 比如原本伺服器不屬於前端 現在也能馬馬虎虎用node幹點活 原本app開發屬於客戶端開發 現在前端也能幹 在一些中小型的業務範圍內 差距並不明顯 還有就是 pc客戶端 現在也能馬馬虎虎幹點活

如果能熬過痛苦期 成為高級前端 那麼世界就會很大了 雖然到哪都得996 不過賬面工資還是能加不少的


相信大多數人來學習前端的主要目的是賺錢養家餬口而不是改變世界,這樣的話,前端還是有前景的,題主可以去招聘網站上看下招聘數據。

從招聘網站上的數據來看,只要把技術學好了,找到工作不成問題。

其實未來幾年會發生什麼,誰也不知道,畢竟我們不是先知,這樣的話,先別看前景,看現景,先進入到這個行業裡面,然後再尋找屬於適合自己有前景的工作。

推薦閱讀:

web前端開發要不要找個師傅帶?


推薦閱讀:
相關文章