前端已死?全棧當立?取法於中,僅得其下。

語言: CN / TW / HK

開篇明義,前端已死?根本就是扯淡。前端技術精微淵深,駁雜寬廣,除了基礎的 HTML、CSS 和 JavaScript 技術外,前端技術還涉及到許多其他相關技術和工具,比如前端框架、UI 庫、自動化構建工具、程式碼管理工具等等。這些技術並沒有死,反而生態圈愈發健壯,但為什麼前端已死的論調甚囂塵上?

前端市場萎靡

前端技術並未消亡,但前端工程師的坑位卻逐年減少,為什麼?是由於競爭加劇、市場飽和、經濟衰退等多種因素導致的。每年都有海量的應屆生進入市場,但是崗位就那麼多,三年經濟下行,不是短時間能夠緩過來的,所以前端崗的HeadCount比往年少也是合乎邏輯的,再者說,所謂出來混,遲早都要還,從2015年開始,前端崗市場就是一片藍海,大部分人都吃到了前端市場的紅利,但誰也不能保證一直在風口,所以藍海變紅海,也符合市場規律。

此外,從技術層面來看,前端市場萎靡有下面幾個原因:

技術迭代快:前端技術在不斷更新和迭代,新的技術和框架層出不窮。對於企業而言,要求前端工程師能夠跟上技術的發展,並且具備不斷學習和創新的能力,因此前端崗位的技術要求也會相應變高。
工具化、標準化:前端開發工具和標準化規範不斷更新和完善,如Node.js、Webpack、ESLint、TypeScript等,前端工程師需要具備使用和運用這些工具和規範的能力。這也使得企業在招聘前端工程師時,更加註重前端工程師的技術基礎和工具應用能力。
設計和互動要求提高:現在的前端開發要求不僅僅是實現靜態頁面和基本互動,更需要結合設計和互動,實現複雜的頁面和動態效果。這對前端工程師的設計和互動能力也提出了更高的要求。
全棧工程師的興起:全棧工程師是指具備前後端開發能力的工程師,他們不僅能夠開發前端,還能夠處理後端業務邏輯和資料庫等技術。在一些公司中,他們更傾向於招聘全棧工程師,而非僅僅只招前端工程師,說白了,前後端分離專案,只招一個全棧的成本明顯比招一個前端和一個後端的成本要低得多。
人工智慧等新技術的湧現:隨著人工智慧、大資料、雲端計算等新技術的湧現,企業對前端工程師的需求也會發生變化。前端工程師不僅需要具備前端技術方面的能力,還需要了解其他相關技術,如機器學習、資料視覺化等,ChatGPT的風靡也恰如其分的說明了這一點。

其他行業類比

一些崗位的衰退甚至消亡,都有其背後的深層次原因,類比的話,目前前端崗有點類似足球行業的古典前腰位置,古典前腰位置指的是足球比賽中的前腰球員,通常在球隊陣容中處於前場中央位置,負責組織進攻和創造得分機會。這個位置在過去的足球比賽中非常重要,但隨著現代足球的發展,它逐漸消失了。

其中的一個原因是足球比賽的戰術和風格發生了改變。在過去,球隊的陣容通常是4-4-2或者4-3-3這樣的傳統陣型,其中前腰球員有著非常重要的位置。然而,現代足球比賽中,球隊更多的採用了4-2-3-1或者4-1-4-1這樣的陣型,前腰球員的作用被更多地分攤到了其他球員身上。
另一個原因是現代足球比賽中球員的身體素質要求越來越高,運動員需要具備更好的體能、速度和耐力。隨著比賽節奏的加快,球員需要更快地反應並更加活躍地在場上奔跑。這也意味著更多的球員需要參與到防守和進攻中,而前腰球員的作用也逐漸減少。
此外,現代足球比賽中的技術和戰術變化也導致前腰球員的角色發生了改變。如今,球隊更多地依靠側翼球員和邊後衛來製造得分機會,而前腰球員的作用則變得更加多樣化,需要具備更全面的技術和戰術素養。
比如曾經的世界盃金球獎獲得者,哥倫比亞傳奇前腰哈梅斯·羅德里格斯,江湖人稱J羅,2014年巴西世界盃後,西甲豪門皇家馬德里斥八千萬歐元的巨資將其引進,一時風光無兩,但今時今日,正值當打之年的J羅卻混跡在歐洲末流的希臘球會,泯然眾人矣。

所以,足球比賽的發展和變化是導致古典前腰位置消亡的主要原因之一。雖然這個位置已經不再像過去那樣重要,但是球員的多樣化角色和更加全面的技能要求使得現代足球比賽更加具有挑戰性和趣味性,同樣地,如果想在前端崗位保持競爭力,就需要增加其他業務層面上的技能,或者展示出能夠在業務上獨挑大樑的多面手特性。

如何破局

雖然前端崗位減少,競爭加劇,但這並不是世界末日,除了前文提到的轉型全棧工程師,變身行業多面手,作為前端工程師,也可以選擇在前端這個技術棧上持續精進。

金庸先生的傳世名作《神鵰俠侶》中,有一段情節是楊過在深山中找到了一代劍魔獨孤求敗的“劍冢”,其中刻著這樣一段話:

劍魔獨孤求敗既無敵於天下,乃埋劍於斯。嗚呼!群雄束手,長劍空利,不亦悲夫!

獨孤求敗於此葬下了其一生所用的四把劍,其中第二柄為“衣冠冢”,只有描述而無實物。

事實上,劍冢所葬四柄劍,就代表了四個不同的前端技術階段。

第一把劍是一把青光閃閃的無名利劍:

凌厲剛猛,無堅不摧,弱冠前以之與河朔群雄爭鋒。

獨孤求敗弱冠之前所用的這把劍就和他的少年心性一般,年輕氣盛,銳不可當,好勇鬥狠,爭強好勝,但自身技術還欠打磨,也就是我們剛剛入門前端的階段,也許已經熟練掌握了某一個前端庫,比如JQuery,但JQ卻已經並不足以讓我們競聘上任何一個前端崗,所以,只能與河朔群雄爭鋒,而不是技蓋群雄。

第二把劍是久歷江湖之後,在惡臭的職場浸染了以後,能否還能保持初心,即進入到了“修心”的境界:

紫薇軟劍,三十歲前所用,誤傷義士不祥,乃棄之深谷。

是的,不忘初心,追求技術的純粹性,不會因為環境或者其他原因而輕易改變之前的那個少年。

第三把就是譽滿全球的玄鐵重劍:

重劍無鋒,大巧不工。四十歲前恃之橫行天下。

這是獨孤求敗四十歲之前所用的兵刃,天下已無抗手,無人能出其右。類比的話,作為前端工程師,我們已褪去了年輕時候的鋒芒畢露,不再爭論那個框架更好,而是將目光投入更底層的演算法和資料結構。

第四把劍卻是一把劍柄已經腐爛的木劍:

四十歲後,不滯於物,草木竹石均可為劍。自此精修,漸進於無劍勝有劍之境。

獨孤求敗從與人爭勝變為了與己爭勝,正在開闢一條沒有人走過的劍道。是的,正如前端界的獨孤求敗:尤雨溪(Evan You),早已超凡入聖,研發出大道至簡,重劍無鋒的Vue.js框架之後,同樣自此精修,漸進於無劍勝有劍之境,以前端技術傲睨一世,挾博縱辯,務欲勝人,所作亦頗博麗窈渺,聲名甚著。

試問,如果我們達到了“木劍”的境界,你還會在乎什麼所謂的“前端已死”嗎?前端死不死,Web亡不亡,都已經和你沒有任何關係了,因為江湖上全部都是你的傳說,你也將發出:“嗚呼!群雄束手,長劍空利,不亦悲夫!”的慨嘆。

結語

前端未死,前端技術仍在,市場凋敝,崗位要求變高。但那又如何呢,獨孤前輩的事蹟在激勵著我們,與其悲鳴,不如精修,臨淵羨魚,不如退而結網,所謂技術,心有拘囿,便不能純。

最後,用古人先賢的傳世名句和諸位前端同僚共勉:

前端猶如西山日,崗位終如草上霜,半世風流半世僧,看似無情勝有情。

「其他文章」