前端、後端和全棧到底不應學什麼

一、前言
在職業規劃諮詢過程當中常常會被問到這樣的問題:
老師,我是該深刻鑽研專精一門,走技術大牛路線,仍是全部都要精通,作一個全棧工程師?
相似問題的變種還有,老師我是否是該30歲最遲35歲就要轉管理了,是否是技術年齡大了就沒有優點,精力跟不上了?
這是一個從業者廣泛存在的問題,反應了技術發展的兩個方向,一種是縱向一種是橫向的,橫向的是瑞士軍刀,縱向的是削鐵如泥的干將莫邪。 到底選哪一個呢?
要想弄明白這個問題咱們要說清楚,全棧是什麼?說道這個我想起我之前的職位還鬧了一個笑話。
有人問我:你什麼職位啊?
我說:先後端開發工程師。
而後他說:是前端開發工程師?
我說:不是。
他說是:後端開發工程師?
我說:不是。
他說:啥叫先後端開發工程師啊?
我說了那個我很不肯意說的詞兒,儘量讓他明白,全棧工程師。
他說:就是啥都會幹唄?
我說不是。
圖片描述
二、前端、後端、全棧是什麼?
而後我岔開了話題,是的,前端後端全棧不少人都有着誤解。
好比不少人按能力排名是這樣的:
前端>後端>全棧,而後人們都喜歡最牛掰的,就像沒人知道第二個登上月球的人同樣,而後全棧就火了。我先把這三個工種該作什麼不應作什麼,你們就清楚怎麼作了。
前端:
全部你能看到的東西都是前端作的,好比界面,好比交互,固然還有數據從後臺讀取展現和向後臺發送數據。
(具體對好比圖,一圖抵萬言。)前端

圖片描述
後端:
全部跟業務邏輯權限控制數據處理有關的都是後臺作的,好比權限控制,訂單管理,數據庫交互。
圖片描述vue

全棧:
前端後端都有必定的瞭解和能力,可以先後端獨立工做。java

圖片描述
經過三者的綜述,你們能夠清晰的分出前端和後端的工做內容和所需技術,可是對全棧仍是不是很瞭解,至少他不是簡單的前端+後端技術的疊加。那麼全棧到底工做內容是什麼呢?他的價值又在哪呢?咱們是否須要成爲這樣的人呢?node

三、全棧工做內容是什麼?
首先全棧是掌握多種技能,並能利用多種技能獨立完成產品的人 。
他們掌握着獨立完成產品經常使用的20%技能,另外的80%須要的時候有能力得到。而另外兩個工種是掌握着專業領域80%的技能,甚至是90%,另外的10%經過其餘渠道得到。sql

圖片描述

四、全棧價值是什麼?
全棧工程師的工做內容和價值融在一塊兒。
全棧工程師就算是各方面都是80%(確實有這樣的人存在),可是精力有限,他一我的不能長期幹3-5我的的活兒。因此他們工做的大部份內容在全局性把握和溝通,特別優秀的全棧能作到關鍵性技術指導。數據庫

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

Web前端也遠遠不是從前的切個圖用個jQuery上個AJAX兼容各類瀏覽器那麼簡單了。現代的Web前端,你須要用到模塊化開發、多屏兼容、MVC,各類複雜的交互與優化,甚至你須要用到Node.js來協助前端的開發。
因此說一個現代化的項目,是一個很是複雜的構成,咱們須要一我的來掌控全局,他不須要是各類技術的資深專家,但他須要熟悉到各類技術。對於一個團隊特別是互聯網企業來講,有一個全局性思惟的人很是很是重要。瀏覽器

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

圖片描述
溝通成本
項目越大,溝通成本越高,作過項目管理的人都知道,項目中的人力是1+1<2的,人越多效率越低。由於溝通是須要成本的,不一樣技術的人各說各話,前端和後端是必定會掐架的。每一個人都會爲本身的利益而戰,絕不爲已的人是不存在的。koa

而全棧工程師的成本幾乎爲零,由於各類技術都懂,成竹在胸,一不當心本身就全作了。即便是在團隊協做中,與不一樣技術人員的溝通也會容易得多,你讓一個後端和一個前端去溝通,那徹底是雞同鴨講,更不用說設計師與後端了。但若是有一我的懂產品懂設計懂前端懂後端,那溝通的結果顯然不同,由於他們講的,彼此都能聽得懂。

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

五、全棧面臨的困境是什麼?

可是,不少人爲了成爲全棧工程師或者已是全棧工程師面對着巨大的困境。
1.一個工做兩年的切圖都比一個全棧工程師切圖好,一個8k的java都比3W的全棧寫的代碼快,他們經歷着博而不精的煎熬。
2.成爲全棧不少人須要花費大量的學習時間,到最後依然是無功而返。
最後形成了一個現象是,你確實什麼都會,問題是我要的是一個8k的切圖,而不是一個3萬什麼都會一點的全棧。
形成這兩個現象的緣由有內因和外因兩個方面。
內因看我的定位不清晰,在該專精的時候選擇了全棧。
無論是前端仍是後臺,全棧的意思是你可以獨立工做,不是你前端會切個圖,後端你會寫個sql就行的,而一個領域沒有三年是達不到上述狀況的,而不少人工做三年切圖或者js就想着全棧了。
全棧不是一不當心成爲的,是你的工做經驗堆出來的,不是學出來的。舉個例子你們就明白了,你們都看過武俠小說,你們知道哪位頂尖的武林高手一出師門就勵志學會武林各門各派武功的?相反提起東邪,你們想到的是他吹笛子能吹死人,說到西毒立馬想到蛤蟆功,說到南帝一陽指,說到北丐打狗棒,那爲啥到你就得工做三四年就全棧,先後端啥都會呢?

武俠裏面有兩個全棧工程師,一個是鳩摩智,號稱會少林七十二絕技,結果呢,最後變成了「打殘哥」,虛竹來了把他打殘了,段譽來了把他打殘了,最後喬峯來了又把他打殘了,因此想經過學習變成全棧確定會死的比鳩摩智還慘。
那怎麼辦?武俠最強全棧是掃地僧,這傢伙是bug級存在,可是你們發現人家是靠年頭熬出來的。因此這個是正路,全棧是經驗不是課本,是一種思惟。
圖片描述
爲何說國外全棧不少呢。由於不少人都是10年以上工做經驗,一開始是後臺工做,工做了幾年跳槽了換了一家工做發現須要數據交互又作數據交互了,這個時候也會簡單的切圖了,而後工做又變更發現切圖和套js太麻煩了。
用vue試試一不當心又會vue了,vue寫多了,發現後端是否是也能夠用js啊,有了node和koa,那數據庫是否是能夠呢,上MongoDB,最後發現這個語言很差用,我本身寫個吧。因此不少全棧都是大鬍子中年。

全棧應該是業務需求催出來的,而不是學出來的。但是如今不少提全棧的人都是什麼人呢?大部分是工做3-5年想轉管理的。

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

由於當專到必定程度的時候天然就融會貫通了,反過來當你博採衆長的時候,天然就知道哪裏本身薄弱須要增強了,全棧和專業並不衝突,他們的目的都是爲了完成工做這件事。
從外因看,科技節奏的飛速發展,萬衆創業催生出了一系列小型公司,從成本催生了對全棧的熱捧,另外知識行業的販賣焦慮,培訓行業的推波助瀾,加重了前端行業對全棧的急功近利的追求。

因此全部前端從業者應該明白,技術是爲解決問題服務的,找準本身的位置,經過時間去不當心成爲全棧,而不是成爲書本里的全棧,作一個務實的技術從業者,那麼他的明天必定是光明美好的。
最後一句,技術是爲解決問題服務的。

·END·
相關文章
相關標籤/搜索