一、全棧工程師的定義
全棧(Full Stack)工程師,也可以叫全端工程師,無論是前端知識,還是后端架構你都要了解。甚至有些調皮的程序員這樣理解全棧工程師:全棧工程師=屌絲戰斗機=系統+網絡+研發+dba+架構+安全=沒女朋友、拿一份工資做三份事情的典型、每個站長都是一個全棧工程師,每個站群的站長都是超級全棧工程師。
也有人是這樣說的:掌握多種技能,并能利用多種技能獨立完成產品的人。
舉例:假如你是一個Web開發者,如果你既能做前端(需要熟悉HTML、CSS、JavaScript、H5以及Bootstrap、EasyUI等各種前端框架),又能做后端(需要熟悉Java或ASP.net或php或Node.js或Go,選項太多就不一一列舉了),可以獨自一個人完成一個類似電子商務網站的產品的開發,那你就算是全棧工程師了。
有木有明白?木有的話我在給你來個解釋 :
假如你是一個App開發者,既能開發Android應用(需要熟悉Java和Android框架),又能開發iOS應用(需要熟悉Objective-C或Swift以及Cocoa for iOS),又可以開發應用需要的后臺(需要熟悉Node.js或Java或Go或。..),總之你可以獨自一個人開發出一個覆蓋Android和iOS的且有業務后臺的App,那你也就算是全棧工程師了。
百度百科的說法是這樣的:
全棧工程師是指掌握多種技能,并能利用多種技能獨立完成產品的人。也叫全端工程師(同時具備前端和后臺能力),英文Full Stack engineer。
那到底什么是全棧工程師?
我對全棧工程師的定義是:掌握多種技能,并能利用多種技能獨立完成產品的人。打外比方,全棧工程師就是一個能獨立蓋一幢10層小洋樓的人,而普通工程師,則是可以和一群人蓋一幢摩天大樓的人。
那說到技能,跟行業還是有關系的,比如金融行業的全棧與視頻行業的全棧,需要掌握的技能就是有不同的。所以,需要掌握哪些技能,咱不展開討論。
而對于技能的掌握程度如何定義呢?人畢竟精力是有限的。是的,8/2定律在哪都適用,全棧工程師就是掌握20%常用技能的人,但這20%的技能會有80%的幾率被用到,剩下那80%不常用的,需要知道是什么,可以不用太懂。
二、全棧工程師的價值
當然有人會說了,一個人在牛,也不可能掌握所有的技能,即使能掌握很多技能,也不能一個人完成一個較大的項目,首先客戶也不會同意。
這個問題很好,其實是在說全棧工程師的價值。
在實際項目中,會涉及到很多技術,隨便一個互聯網項目中用到的技術,就會需要用到后端開發、前端開發、界面設計、產品設計、數據庫、各種移動客戶端、三屏兼容、restFul API設計和OAuth等等,一些比較前衛的項目,可能會用到Single Page Application、Web Socket、HTML5/CSS3這些技術,還有像第三方開發像微信公眾號微博應用等等。
所以說一個現代化的項目,是一個非常復雜的構成,我們需要一個人來掌控全局,他不需要是各種技術的資深專家,但他需要熟悉到各種技術。對于一個團隊特別是互聯網企業來說,有一個全局性思維的人非常非常重要。
在項目溝通中,全棧工程師因為各種技術都懂,與不同技術人員的溝通也會容易得多,你讓一個后端和一個前端去溝通,那完全是雞同鴨講,更不用說設計師與后端了。但如果有一個人懂產品懂設計懂前端懂后端,那溝通的結果顯然不一樣,因為他們講的,彼此都能聽得懂。
全端工程師的樂趣要比一般工程師來得多,因為你知道一個產品的形態,你可以去設計一個產品,你是從全局的視野來做事情,你得到的成就感會更多一些。
-
工程師
+關注
關注
59文章
1569瀏覽量
68509
發布評論請先 登錄
相關推薦
評論