「全棧」這個詞這幾天不折不扣登上了風口浪尖,這個詞歷來沒像如今這樣「黑」過,程序員羣體人人自危,閉口不敢說起本身曾經引覺得傲的「全棧」屬性。因本文做者近期在知乎Live新開了一個全棧的話題,感受是時候站出來講點什麼了,省得沒人敢上車。前端
笑來老師向來擅長雞湯,這你們都習覺得常了,但歷來沒有想到過他會把雞湯這把火燒到一個如此小衆的領域,6W2個月,全棧速成班,真可謂是一石激起千層浪。程序員這個羣體看起來也不那麼「感恩」,教育本是一件大德,卻被大家這樣罵來罵去,多有傷風化,不過就像有的人說的同樣:我有6W,我還作毛程序員啊,聽起來也確有道理,其中奧妙,真是難以言說。程序員
我一直不敢稱本身爲全棧,雖然對多個領域都有涉及,可是全棧這個詞實在是過於含糊不清了,你究竟是怎麼個全棧,好難描述清楚哦~~不少人只是會兩門語言,就以爲是全棧了,有人說要會三門,哦,還有人會10門,那算不算全棧呢?而後,「會」這個詞究竟是如何衡量呢?在程序員的世界裏,這但是很重要的事情,必定要把這個事情搞清楚啊,要不,他都是全棧了,我算不算全棧呢,要麼「是」,要麼「不是」。若是你們都「是」了,我還「不是」,那就很掉價了。web
還有個很好玩的現象,諸如說 Node 界的知名網紅「老雷」吧,他說本身只會寫 Nodejs,但是老是有人覺得他是全棧!這特麼就奇怪了,這是爲何!這個世界腫麼了?我本身都不敢說我是全棧,別人非要給我安個全棧的標籤!老雷說:也許只是由於我太屌了,因此你們總覺得我是全棧吧,不過問個問題,會切圖的服務端算全棧麼?數據庫
好了,回到今天的標題。後端
爲何標題要寫《全棧》和《前端》呢?隱約中,感受「全棧」這個名詞就是一個前端發明的。如今說起全棧,腦子裏第一個浮現的形容詞是「一個會後端的前端」,別告訴我你不是這樣想的。前端近幾年在爭取本身勢力範圍這件事情上的確作了不少努力,諸如 Nodejs,React Native 這種技術層出不窮,每一個相似的技術的誕生都會引發業界的一陣狂歡(zihai),因而一些同窗,就感受 js 能夠統治一切了,雖然尚未改變世界,可是隱約間感受本身已經套上了「全棧」的頭銜。框架
wait!爲何聽起來隱約是在貶低我大前端!運維
開個玩笑啦。寫這篇文章其實主要是跟你們探討幾個問題:mvvm
我以爲給全棧一個嚴格的定義並不簡單,因此也沒有必要去解決這個問題了,另外也沒必要急着給本身冠「全棧」之名,一我的,到底真槍實料掌握了多少技能,不是一個頭銜可以決定的,而是看在真實生活中,你利用這些技能作出了什麼事情發揮了多少價值。因此,從這個角度來講,一個「真正」的全棧,應該真正紮實的掌握多門技能,而且可以將其應用至真實場景中解決問題。分佈式
全棧的目標,不該該是以掌握了多少語言爲基準,就拿先後端全棧來講,一個開發者,能夠用 jQuery 寫前端頁面,也能夠用 Express 寫後端的 Nodejs,那就能算全棧了嗎?也許算吧,可是你最好不要去跟別人強調這個事情。畢竟 jQuery 只是一堆方法集合,查查文檔就能寫的東西,而 Express 只是一個基礎的 web 服務低級框架,遠沒有達到服務端開發整個領域的重點。設計
我以爲一個標準的全棧,必定要對每一個方向有深刻的研究和實踐經驗,在前端方面,上可切圖,下可熟練掌握各類mvvm和周邊技術棧,作的了技術方案,玩得轉通用組件;在後端方面,前可寫的了Restful,後可設計健壯的數據庫方案,hold的了大型項目邏輯關係,搞的定大型分佈式服務。固然還遠不止這些,每一個領域須要探索的都還有不少,因此,千萬不要跟別人說你會幾門語言,那都是小兒科,每門語言你都不如別人精通,那也沒什麼值得自豪的。
我以爲全棧大致能夠分分類:
請自我對號入座,若是你剛好跟我同樣是最後一種,請保持低調,不要讓人知道你是一位大隱隱於世的高人。
若是你讀到這裏還沒離開,看來是一個可塑之才,上車吧少年:小芋頭君 的 Live -- 全棧工程師養成指南