前言
全棧工程師惊畏,一直以來都是軟件行業(yè)熱議的話題,只要提到全棧工程師大家就覺得很高大上蛹含,當(dāng)然也有人直接說萬金油而已,往好聽說是全棧工程師塞颁,綜合能力全浦箱,但是實際上就是什么都會哪都不精通吸耿。有人唾之以鼻,也有人稱贊不已酷窥。
對于許多創(chuàng)業(yè)公司來講咽安,全棧工程師也是不錯的選擇,花一個人錢做一個團(tuán)隊的事何樂而不為呢蓬推。所以全棧工程師也就成了僅次于架構(gòu)師的一個職位妆棒。
全棧工程師
那么什么是全棧工程師呢?大家都各有說辭沸伏,有的人說精通前后端募逞,有的人說初級架構(gòu)師,那么不妨看看百度詞條:其中百度詞條也說到全局思維這一點馋评,還有根據(jù)這些年我的工作經(jīng)歷,個人認(rèn)為全局思維才是全棧工程師最核心的一點刺啦。
最近不少人說到互聯(lián)網(wǎng)寒冬的說法留特,還有不少人說程序員是吃年輕飯的,最多不會超過35歲這業(yè)界黃昏點玛瘸,對此引起不少人的焦慮蜕青。其實在我看來這些人云亦云引起的焦慮,其實最主要的原因就是現(xiàn)在企業(yè)對程序員的要求越來越高糊渊,需要的不僅僅是只會單一技能右核,企業(yè)不再需要只會敲代碼的一個工程師。
職場從來都不是平靜的渺绒,他只會淘汰掉不需要那群人贺喝,選出優(yōu)秀的那一部分進(jìn)入管理層圈子。古人就說過“近朱者赤宗兼,近墨者黑”躏鱼,跟隨優(yōu)秀的人在一起,就會看到不一樣的天空殷绍。有些圈子你沒進(jìn)入你就看不到那個圈子里的世界染苛,你就理所當(dāng)然地認(rèn)為是寒冬來臨。
在IT程序開發(fā)這個大環(huán)境下主到,大家都是程序員茶行,如果你擁有全局思維,那么你就是下一個管理者人選登钥,所以你到35歲還是只會代碼畔师,或則工作了5年,你依舊只會單一技能牧牢,這能怪公司嗎茉唉?能說寒冬嗎固蛾?這問題本身在于自己,是你自己給自己畫出了寒冬這個怪圈度陆。
個人經(jīng)歷
接下來艾凯,我從個人經(jīng)歷的角度,說說全棧工程師懂傀。
第二年開始了web前端開發(fā),從H5虫几、CSS3锤灿、ES6,再到vue.js、react.js辆脸,還有當(dāng)前比較火的微信小程序但校,也為我打開了前端的視野歇式。
第三年開始了javaweb的學(xué)習(xí)步鉴,Servlet、Jsp旭蠕、struts2倘是,spring全家桶等浪箭,讓我對開發(fā)編程有了全新的認(rèn)知。由此我意識到所有開發(fā)都是以數(shù)據(jù)為導(dǎo)向辨绊,尤其對當(dāng)前人工智能的解釋奶栖,人工智能就是數(shù)據(jù)分析。
三年的開發(fā)經(jīng)歷门坷,讓我從單純的代碼搬運(yùn)工宣鄙,逐漸開始對項目思考,對整個項目系統(tǒng)架構(gòu)思考默蚌,08年這一年也開始管理小團(tuán)隊冻晤,學(xué)會了對項目分析,從需求上審視業(yè)務(wù)功能绸吸,逐步培養(yǎng)自己對于項目的全局思維能力鼻弧,以及開始考慮產(chǎn)品推廣设江,市場反饋等問題。
之前有群友討論說攘轩,后端開發(fā)才是最好晉升管理的首選叉存,目前所有項目經(jīng)理及管理層,多數(shù)都是由管理層轉(zhuǎn)的度帮,當(dāng)時我就在想歼捏,為什么這樣,當(dāng)時我心中答案就是——全局思維笨篷。是的瞳秽,這也就是全棧工程師的核心思維,這一點算是我這三年來的領(lǐng)悟吧率翅。
后臺人員相對于前端练俐,移動端,測試冕臭,還是有產(chǎn)品而言的腺晾,后端人員考慮項目就是項目數(shù)據(jù)本身,數(shù)據(jù)就是這個項目的主干浴韭。如今的社會是以數(shù)據(jù)為導(dǎo)向的世界,對于整個軟件系統(tǒng)脯宿,數(shù)據(jù)穿插在整個項目中念颈,無論是前端,還是移動端连霉,還是產(chǎn)品或則測試榴芳,所以無形中為后端人員培養(yǎng)了全局思維能力,這也是后端人員更容易轉(zhuǎn)管理層的原因跺撼。簡單講窟感,全棧工程師就是項目經(jīng)理進(jìn)入管理層的首選對象。
學(xué)習(xí)路線
那么怎么成為全棧工程呢歉井?這也是許多人非常迷茫的問題柿祈,大家總認(rèn)為全棧工程師很神秘,高深莫測的樣子哩至,其實并不是那樣的神秘躏嚎,這都是一個知識的積累過程,一步一步積累而來的菩貌,下面我們看看下面這張圖吧從上圖就可以清楚地看到卢佣,全棧工程師需要具備的能力大體分為三類,移動端開發(fā)箭阶,web前端開發(fā)虚茶,以及后端開發(fā)戈鲁。也許對于很多人來說,也許就會不由自主地感嘆:這些知識太多了吧嘹叫。我曾經(jīng)看到過這么一句話:“一名優(yōu)秀的程序員婆殿,一年至少需要學(xué)習(xí)一門新的程序語言,以應(yīng)對未來多變的軟件行業(yè)待笑∶恚”
移動端開發(fā)
移動端開發(fā)就目前而言,需要學(xué)習(xí)模塊主要為Android或者IOS暮蹂。其中在國內(nèi)寞缝,Android的應(yīng)用越來越為廣泛,智能穿戴仰泻,門禁系統(tǒng)荆陆,車載電視,家庭網(wǎng)路電視等集侯。以Android移動開發(fā)為例需要學(xué)習(xí)的大綱為:
web前端開發(fā)
一般前端開發(fā),多指web前端開發(fā)月幌,主要為網(wǎng)頁開發(fā)碍讯,現(xiàn)在同是包含微信小程序開發(fā),前端開發(fā)學(xué)習(xí)大綱分為pc端和移動端扯躺,大體學(xué)習(xí)大綱為:前端開發(fā)目前比較常用開發(fā)工具為Hbuilder,vs code,Web Storm等捉兴,并且還需要熟悉npm,yarn ,webpack等录语。
后端開發(fā)
后端開發(fā)目前常用為java,c++,c轴术,python,php等,我這里就列舉java后端學(xué)習(xí)大概方向:
后端開發(fā)而后也分為大數(shù)據(jù)方向钦无,分布式系統(tǒng)架構(gòu)方向等逗栽,服務(wù)器方面后端也要學(xué)會常用linux命令,熟悉常用的web應(yīng)用服務(wù)器失暂,如tomcat,Apache ,nginx等彼宠,比如C語言鳄虱,c++相關(guān)開發(fā)選擇vs,java開發(fā)選擇idea,es等凭峡,詳細(xì)請查看java團(tuán)長的博客http://www.cnblogs.com/java1024/p/8583274.html拙已,他的體系介紹比較完整。
而后還需要學(xué)習(xí)其他方面的輔助知識摧冀,git,svn等代碼版本管理工具倍踪。
總結(jié)
全棧工程師的核心能力就是全局思維,能夠獨自一人把控整個項目索昂,不像常規(guī)單一職責(zé)的工程師一樣不同的人有不同的看法持一孔之見建车。因為擁有全局統(tǒng)籌能力,所以全棧工程在未來會更加受到歡迎椒惨,同時全棧工程師之路所要學(xué)習(xí)的東西往往會比單一開發(fā)者要多得多缤至,不過付出總會有收獲的。如果決定成為一名全棧工程師康谆,就不要在意別人的說辭领斥,堅持走下去,走下去無論最后那份答卷會怎么樣沃暗,最終的結(jié)果都不會令你失望月洛。
最后奉上一句: