前端、後端和全棧到底都該學什麼?

在職業規劃的過程中經常會被問到這樣的問題:

我是該深入鑽研專精一門,走技術大牛路線,還是所有都要精通,做一個全棧工程師?

類似這樣的問題還有其他變種問題,是不是到了30歲最遲35歲就要轉管理了,是不是技術年齡大了就沒有優勢,精力跟不上了?

這些都是從業者普遍存在的問題,反應了技術發展的兩個方向,一種是縱向一種是橫向的,橫向的是瑞士軍刀,縱向的是削鐵如泥的干將莫邪。 到底選哪個呢?

前端、後端和全棧到底都該學什麼?

1.前端、後端、全棧分別是什麼?

很多人對前端、後端、全棧都是按能力排名的,排名方式如下:

前端>後端>全棧,然後人們都喜歡最牛掰的,就像沒人知道第二個登上月球的人一樣,然後全棧就火了。小編先把這三個工種該做什麼不該做什麼,大家就清楚怎麼做了。

前端:

所有你能看到的東西都是前端做的,比如界面、交互,當然還有數據從後臺讀取展示和向後臺發送數據。

(具體對比如圖,一圖抵萬言。)

前端、後端和全棧到底都該學什麼?

後端:

所有跟業務邏輯權限控制數據處理有關的都是後臺做的,比如權限控制、訂單管理、數據庫交互。

前端、後端和全棧到底都該學什麼?

全棧:

前端後端都有一定的瞭解和能力,能夠前後端獨立工作。

前端、後端和全棧到底都該學什麼?

通過以上三者的綜述,大家可以清晰的分出前端和後端的工作內容和所需技術,但是對全棧還不是很瞭解,至少他不是簡單的前端+後端技術的疊加。那麼全棧到底工作內容是什麼呢?他的價值又在哪呢?我們是否需要成為這樣的人呢?

2.全棧的工作內容是什麼?

首先全棧必須是掌握多種技能,並能利用多種技能獨立完成產品的人 。

他們掌握著獨立完成產品常用的20%技能,另外的80%需要的時候有能力獲得。而另外兩個工種是掌握著專業領域80%的技能,甚至是90%,另外的10%通過其他渠道獲得。

前端、後端和全棧到底都該學什麼?

3.全棧的價值是什麼?

全棧工程師的工作內容和價值是融在一起的。

全棧工程師就算是各方面都是80%(確實有這樣的人存在),但是精力有限,他一個人不能長期幹3-5個人的活兒。所以他們工作的大部分內容在全局性把握和溝通,特別優秀的全棧能做到關鍵性技術指導。

全局性把握

項目的開發,很少是隻用到一兩種技術的,特別是在移動互聯網大潮下。隨便一個互聯網項目中用到的技術,就會需要用到後端開發、前端開發、界面設計、產品設計、數據庫、各種移動客戶端、三屏兼容、restFulAPI設計和OAuth等等,一些比較前衛的項目,可能會用到SinglePage Application、Web Socket、HTML5/CSS3這些技術,還有像第三方開發像微信公眾號微博應用等等。

Web前端也遠遠不是從前的切個圖用個jQuery上個AJAX兼容各種瀏覽器那麼簡單了。現代的Web前端,你需要用到模塊化開發、多屏兼容、MVC,各種複雜的交互與優化,甚至你需要用到Node.js來協助前端的開發。

所以說一個現代化的項目,是一個非常複雜的構成,我們需要一個人來掌控全局,他不需要是各種技術的資深專家,但他需要熟悉到各種技術。對於一個團隊特別是互聯網企業來說,有一個全局性思維的人非常非常重要。

在恰當的時機用恰當的技術開發實現恰當的產品常常要遠比具體某個功能實現要複雜和重要的多,而這是全棧工程師需要考慮的。

前端、後端和全棧到底都該學什麼?

溝通成本

項目越大,溝通成本越高,做過項目管理的人都知道,項目中的人力是1+1<2的,人越多效率越低。因為溝通是需要成本的,不同技術的人各說各話,前端和後端是一定會掐架的。每個人都會為自己的利益而戰,毫不為已的人是不存在的。

而全棧工程師的成本幾乎為零,因為各種技術都懂,胸有成竹,一不小心自己就全做了。即使是在團隊協作中,與不同技術人員的溝通也會容易得多,你讓一個後端和一個前端去溝通,那完全是雞同鴨講,更不用說設計師與後端了。但如果有一個人懂產品懂設計懂前端懂後端,那溝通的結果顯然不一樣,因為他們講的,彼此都能聽得懂。

全棧工程師的機會

創業型公司和中小型公司的發展,尤其是在萬眾創業的風潮,會促進全棧工程師的發展,也會更加凸顯他們的價值,因為雖然單個全棧工程師的工資很高,但是遠比專業性分工團隊的成本要低得多,而且全棧工程師更能應對多變的創業公司需求,降低團隊溝通成本。

4.全棧面臨的困境是什麼?

但是,很多人為了成為全棧工程師或者已經是全棧工程師面對著巨大的困境。

1.一個工作兩年的切圖都比一個全棧工程師切圖好,一個8k的Java都比3W的全棧寫的代碼快,他們經歷著博而不精的煎熬。

2.成為全棧很多人需要花費大量的學習時間,到最後依然是無功而返。

最後造成了一個現象是,你確實什麼都會,問題是我要的是一個8k的切圖,而不是一個3萬什麼都會一點的全棧。

造成這兩個現象的原因有內因和外因兩個方面。

內因看個人定位不清晰,在該專精的時候選擇了全棧。

不管是前端還是後臺,全棧的意思是你能夠獨立工作,不是你前端會切個圖,後端你會寫個sql就行的,而一個領域沒有三年是達不到上述情況的,而很多人工作三年切圖或者js就想著全棧了。

全棧不是一不小心成為的,是你的工作經驗堆出來的,不是學出來的,全棧是經驗不是課本,而是一種思維

前端、後端和全棧到底都該學什麼?

為什麼說國外全棧很多呢。因為很多人都是10年以上工作經驗,一開始是後臺工作,工作了幾年跳槽了換了一家工作發現需要數據交互又做數據交互了,這個時候也會簡單的切圖了,然後工作又變動發現切圖和套JS太麻煩了。

用vue試試一不小心又會vue了,vue寫多了,發現後端是不是也可以用JS啊,有了node,那數據庫是不是可以呢,上MongoDB,最後發現這個語言不好用,我自己寫個吧。所以很多全棧都是大鬍子中年。

全棧應該是業務需求催出來的,而不是學出來的。可是現在很多提全棧的人都是什麼人呢?大部分是工作3-5年想轉管理的。

其實全棧和技術大牛是殊途同歸的,就像《人月神話》裡面技術專家和手術刀其實最後都融合了。你學吃飯的過程想過是隻學用筷子還是勺子嗎?

因為當專到一定程度的時候自然就融會貫通了,反過來當你博採眾長的時候,自然就知道哪裡自己薄弱需要加強了,全棧和專業並不衝突,他們的目的都是為了完成工作這件事。

所以所有前端從業者應該明白,技術是為解決問題服務的,找準自己的位置,通過時間去不小心成為全棧,而不是成為書本里的全棧,做一個務實的技術從業者,那麼他的明天一定是光明美好的。

最後一句,技術是為解決問題服務的。

分享 IT 技術和行業經驗,請關注- 。


分享到:


相關文章: