前端好還是後端好,看看7年前端和後端怎麼說
本篇文章是 B 站影片《前端好還是後端好,看看過來人怎麼說》的文字版,歡迎大家直接去 B 站觀看影片,體驗更佳。 B 站搜尋「前端技術磚家」,關注不迷路。
有朋友在上一期影片評論區問 “選前端好,還是選後端好”。這個問題我自己也挺好奇,如果我當初選了後端,現在是什麼樣子?
回答這個問題最好的方式,就是找兩個有比較長工作經驗的前端和後端,讓他們來講講各自的從業感受,對比下發展現狀。當然,前提是儘量減少他們的其它差異。
嘿,正好,我有一個非常好的朋友青果,我倆除了他做後端,我做前端之外,其它變數都高度一致。一致到什麼程度呢?
我倆都是山西人,11 年考入杭州的大學,我倆一個專業,一個班級,一個寢室,頭對頭睡了 4 年。
14 年我倆一起去面試了同一家小公司,一起去實習,一起入職,每天一起上下班,一起在這個公司工作了 4 年,我倆在這個公司的薪資也一模一樣。
我倆唯一的區別就是,他實習就做 JAVA,然後一直堅持在做,他一開始就認準了方向,即使公司讓他做 PHP、做前端,他也是拒絕的。
相比之下,我就沒主見了,先做 JAVA,然後公司需要 PHP,就去做了一年多 PHP,然後公司需要前端了,就去做了一年多前端,最終誤打誤撞進入了前端行業。
18 年前後,他離職去了杭州某中大廠,繼續做了四年後端開發。
幾個月之後,我也離職去了另外一個大廠,繼續做了四年前端開發。
到目前為止,我們工作了 7 年多,站在這個節點上,正好對比一下,看看各自的從業感受,我也挺好奇結果的。
接下來,我會準備一些問題,我倆分別來回答一下。
1. 你後悔選 前端/後端 了嗎?
磚家回答:
不後悔,我還挺慶幸當初轉成前端的,在我的前端生涯發展中,雖然有磕絆,但整體上還是挺順利的,前端帶給了我很多東西,並且整體上來看,前端社群會更活潑一點。
如果現在讓我回去 7 年前,我還會無腦選前端的。
青果回答:
談不上後悔不後悔吧,選擇總是基於當下的認知以及結合自身情況。因為當時自學過一段時間安卓開發,且後端體系比較龐大,個人覺得後續的發展空間可能更大,就一直堅持了後端工作。
現在後悔的是,大學期間心智開的太晚,在休閒娛樂上浪費了不少時間。
2. 你覺得 前端/後端 的技術發展快嗎?需要一直學新東西嗎?
磚家回答:
前端這些年發展太快了,天天出新東西,三個月不學習就落後了,一年不學習就已經不會寫了,真正的是活到老學到老。
剛畢業的時候我還快樂的使用 jQuery,然後發展成 Angular,然後發展成 React、Vue 的天下,最近 Vercel 等新勢力又冒出來了。框架層還算慢的,各種小的解決方案,那真的是層出不窮。
構建工具從 gulp 到 webpack,再到 esbuild、vite,真的是跟不上了。css 解決方案也是一大堆:css modules、styled-components、tailwind css 等等。
總之,前端最近幾年的發展是坐火箭一樣的,想不學習吃老本是不行的。另外發展快也有好處,就是機會多,可以造各種輪子。
青果回答:
技術總是推陳出新的,作為開發人員感知到的快與慢,跟能否及時在實際工作中使用新技術、新特性有關。
公司擁抱新技術,會從穩定性、收益成本等多角度考慮,規模越大的公司顧慮越多,也就越難使用新技術。比如各大廠還在大規模使用 2014 年發行的 java 8,而 java 現在已經進化到第 17 個版本了;後端框架仍然還是 SSM(Spring、Spring MVC、Mybatis)為主流。所以站在這個角度,即便技術更迭再快,後端業務開發能接觸到的新技術也是很有限的。
在這套”陳舊“的技術上,一般 1、2 年就能駕輕就熟的實現各種業務。如果不持續學習底層原理、核心設計,很容易只停留在知道、會用的境地,當遇到技術難題時,就會不知從何下手。
3. 你推薦自己的好朋友學前端還是後端?
磚家回答:
如果他喜歡和資料打交道,那我可能推薦他去學後端。
大部分情況下,我還是會推薦他學前端,因為前端入門簡單,並且上限也不低。 另外就是前端總是和使用者互動介面打交道,會比較活潑一點~
青果回答:
如果是純 IT 小白,可以先從前端找找感覺,入門相對簡單,也能及時帶來成就感。如果是科班出身的朋友,可以從其他幾個問題上綜合考量。
4. 你覺得現在市場上 前端/後端 飽和了嗎?前端/後端 好找工作嗎?
磚家回答:
我自己感覺,前端市場遠遠沒有飽和,還是比較好找工作的,尤其是優質前端更缺。
大家可以想想,以前前端只是做網頁的,但現在 IOS 開發、Android 開發、桌面端應用都逐漸使用前端技術棧開發了,前端已經吃掉了部分客戶端開發同學的機會。
並且隨著瀏覽器效能提升,前端能做的事情更多了,各種 3D、遊戲都可以用前端技術做了。
所以我覺得前端還是有非常大的市場的。
青果回答:
實話實說,今年市場行情是工作以來最差的一年,很多戰友都被動離開了,再加上後端從業人數大,想在這麼多人中脫穎而出,找到一份稱心的工作,確實比以往更難。
但我認為數字化浪潮還沒有褪去,未來還有很多機會,個人努力培養核心競爭力,仍然能夠如魚得水。
5. 你覺得前端和後端的薪資差別大嗎?
磚家回答:
因為工資一般在公司屬於機密,所以大家都不會交流的,但是我感覺前端和後端工資都差不多的。
青果回答:
前期的話,總體來說薪資是差不多的,可以從各大招聘網站上了解各個職級的薪資水平。後期就要看自己的造化了,個人認為主要是決策力、不可替代性、能力影響範圍等會提升你的薪水。
6. 你覺得 前端/後端 的發展上限高嗎?你碰到瓶頸了嗎?
磚家回答:
大部分前端都是業務開發,發展路線大概是這樣的:
- 先跟著別人做業務
- 自己能獨立承擔業務開發
- 能虛線帶一兩個同學承擔多個業務開發
- 帶團隊
- 帶更大的團隊
當然也有專門做技術,不靠帶團隊晉升到很高級別的,但真的比較少。
以我目前的階段看,我目前的階段還屬於比較初級的,前面的人有非常非常非常多,所以並沒有達到瓶頸。
然後我覺得前端的上限對我們普通人來說,是足夠高的,兩輩子可能都走不到頭。
青果回答:
後端的上限肯定是高的,重點是如何不斷突破自己的上限。
現代企業都需要複合型人才,也就是”T”型人才。作為後端開發,縱向需要培養解決疑難問題、設計複雜系統的能力,把技術向下做深、做透;橫向需需要培養產品思維、業務分析、領導力等。如果個人遇到了瓶頸,可以參考《工程師職級勝任力框架》,去看看下個職級需要重點培養什麼能力。
7. 你覺得 前端/後端 容易學嗎?
磚家回答:
我覺得前端算是比較好學的,上手非常簡單,可能學個幾天就會寫頁面了。
然後說實話,前端的技術沒有太多高深的東西,只要肯下功夫,是一定能掌握的,這是一個確定的事情。
青果回答:
我認為學習最難的,就是認知半徑限制了應該去學啥,即不知道“應該學啥”。沒有目標,不會檢索,就很難學。
java 作為發展了接近 30 年的語言,世面上的學習資料可太多了,所以從“應該學啥”的角度,java 還是容易的。
8. 你覺得前端需要會一點後端嗎?你覺得後端要會一點前端嗎?
磚家回答:
我覺得是的,前端需要掌握一定的後端知識。
因為工作內外,我們可能都有獨立開發一個小工具的訴求,後端知識必不可少的,雖然前端學學 Node.js 還是挺簡單的,但是對 nginx、資料庫、負載均衡 等後端知識也是要有一定涉獵的。
青果回答:
技術人員瞭解軟體工程的全流程是大有裨益的,不光是要會一點前端,還要從業務分析和建模、編碼和測試、上線和運營等多維度拓寬知識的邊界,不僅利於與各職能之間的溝通協作,也給自己帶來更高的看問題視角。這也是思特沃克中國區 CTO——徐昊比較推崇的,我們要努力成為全流工程師,感興趣的可以去看看。
9. 你覺得你能做一輩子前端/後端嗎?
磚家回答:
目前來看,是的,前端是可以做一輩子的,現在轉行也沒任何必要。並且我也不討厭前端,挺好玩的還!這碗飯我吃定了~
青果回答:
首先不會限定自己只做後端,現在的物聯網等行業也不存在所謂的前後端之分。
IT 這個行業是要做一輩子的,主要是個人的性格確實適合這個行業。如果你還在猶豫是否要從事這個行業,可以去做做 MBTI 測試。
10. 你有什麼想對新人程式設計師,或者即將從業程式設計師的同學囑咐的嗎?
磚家回答:
工作前幾年,不要太著急限定自己的發展方向,可以都嘗試嘗試,工作兩年之後再做選擇。
這個在小公司比較好實施,在大公司一進來工種基本就限定了。
另外就是,迷茫是正常的,是大家都會經歷的,可以多找前輩聊一聊,可能會豁然開朗。
青果回答:
保持好奇心。
不要過早的給自己設限。
儘早搭建個人知識體系,可以通過思維導圖構建技能樹,補齊短板。
11. 你有什麼想對對方講的嗎?
磚家回答:
緣分妙不可言,期待未來還有機會共事。這頓飯我請定了,但是下一頓得你請我。😄
青果回答:
沒有,下一個問題。 開個玩笑,手動狗頭,希望有機會向你學習前端技術。
總結
做這期內容,付出了一頓飯的代價,希望能給大家帶來幫助,尤其是新人程式設計師。
也許不能帶來實質性的幫助,但讓大家看到了真實的工作了 7 年的前端和後端同學的想法。同時在看這篇內容的朋友也藏龍臥虎,大家也可以各抒己見,說說自己對當前工種的看法,給新同學一點幫助。
最後歡迎大家關注我,大家有任何問題,都可以在評論區留言,簡單的我就直接回復了,複雜的我會記在小本本上,後面會專門做內容來回復!