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



FPGA算法工程師、邏輯工程師、原型驗證工程師有什么區(qū)別?



嵌入式軟件工程師和硬件工程師的區(qū)別?





評論