假如你是一個Web開發(fā)者,如果你既能做前端(需要熟悉HTML、CSS、JavaScript、H5以及Bootstrap、EasyUI等各種前端框架),又能做后端(需要熟悉Java或ASP.net或php或Node.js或Go,選項太多就不一一列舉了),可以獨(dú)自一個人完成一個類似電子商務(wù)網(wǎng)站的產(chǎn)品的開發(fā),那你就算是全棧工程師了。
假如你是一個App開發(fā)者,既能開發(fā)Android應(yīng)用(需要熟悉Java和Android框架),又能開發(fā)iOS應(yīng)用(需要熟悉Objective-C或Swift以及Cocoa for iOS),又可以開發(fā)應(yīng)用需要的后臺(需要熟悉Node.js或Java或Go或……),總之你可以獨(dú)自一個人開發(fā)出一個覆蓋Android和iOS的且有業(yè)務(wù)后臺的App,那你也就算是全棧工程師了。
嗯,現(xiàn)在估計我們真的明白[全棧工程師]是什么鬼了。那讓我們來看看,假如你想成為全棧工程師,都該了解些什么……比如怎么成為全棧工程師,比如全棧的好與壞,比如選擇哪條技術(shù)棧來貫通……
全棧ABC
關(guān)于全棧工程師,有一些周邊是你必須了解的。
對自己產(chǎn)品的渴望
注意,我放在第一位的,不是對技術(shù)的渴望,而是,[對自己產(chǎn)品的渴望]。就像一個男人,渴望要一個自己的孩子,99%會選擇走“談對象、結(jié)婚、***、生娃、養(yǎng)娃”這樣一條路。作為一個工程師,如果你對產(chǎn)品的渴望就像那些思子若狂見了人家孩子就想抱走的男人或女人,那你就可能會愿意成為全棧工程師。
一個真正的全棧工程師,會從生活中發(fā)現(xiàn)問題,洞察需求,設(shè)計解決方案并迫不及待的實(shí)現(xiàn)產(chǎn)品。而為了實(shí)現(xiàn)產(chǎn)品,他愿意去學(xué)習(xí)任何領(lǐng)域的知識和技能。注意,他們學(xué)習(xí)某個領(lǐng)域的知識和技能,并不是為了成為那個領(lǐng)域的專家,而是為了完成自己的目標(biāo)。他們視野開闊心存高遠(yuǎn),不會拘泥于技術(shù),假如揮一揮手,就有產(chǎn)品、設(shè)計、開發(fā)蜂擁而至為他們開發(fā)想要的產(chǎn)品,那他們絲毫也不介意扔掉所有的技術(shù)。換句話說,只有在一個人既對產(chǎn)品有迫切的渴望又沒人幫他實(shí)現(xiàn)時,他才會走上全棧之路。所以,全棧,只是實(shí)現(xiàn)目標(biāo)過程中的副產(chǎn)品,目標(biāo),才是首要的。
時勢造全棧
前面我們說了,當(dāng)一個人渴望自己的產(chǎn)品又沒人幫他實(shí)現(xiàn)時,他如果不能放下灼心的渴望,就可能走上全棧之路。這其實(shí)是形勢逼迫。那類似的還有另外一種情況,也可以逼著一個人成為全棧工程師。那就是:[加入一個缺人的創(chuàng)業(yè)型公司]。
大公司人員充沛,一個蘿卜一個坑,個個都是螺絲釘,讓你一個人搞定所有事情的概率很小。而小公司、創(chuàng)業(yè)型公司則不同,他們往往是人員極度匱乏,一個人得頂幾個人用。你搞前端的,后端沒人你也得頂上。你搞Android開發(fā)的,iOS沒人你也得頂上,后臺沒人說不得也得頂上。就這么著,你很快就全棧了。所以,有一種全棧工程師,是被別人養(yǎng)成的。
思維方式和學(xué)習(xí)能力
有的人,拿刀逼著也成不了全棧工程師。有的人,把他扔到?jīng)]電沒網(wǎng)絡(luò)的荒漠,他也可以走上全棧之路。有的人……
這其間的差別,就是思維方式和學(xué)習(xí)能力。
從思維上講,要想全棧,你就不能給自己設(shè)限。把自己定位在前端工程師或iOS工程師上,任爾東西南北風(fēng),咬定青山不放松。這樣是不行的。應(yīng)該心隨好貓意縱天高或者鶴舞白沙我心飛翔,總之因時而變、因勢而變,需要用什么就學(xué)什么,服務(wù)器沒人搞那我來搞,Android App沒人寫那我來寫……這樣打破了自我設(shè)限,就具備了成為全棧工程師的基礎(chǔ)。
除了這種自我設(shè)限的思維模式需要破除,還有一種定勢要破,那就是精通每一項技術(shù)。對于熱愛技術(shù)的人來講,搞精每一項技術(shù)是很強(qiáng)的誘惑啊,簡直比門口走過的妙齡女郎的吸引力還大。這種思想要破除,因?yàn)榘验T門技術(shù)都精通必然會耗時很長,影響你實(shí)現(xiàn)自己的產(chǎn)品,所以,只要你學(xué)到的那部分能夠順利幫你實(shí)現(xiàn)目標(biāo),那就可以揮一揮衣袖,繼續(xù)前行了。
一旦思維上破除了定勢,具備了成為全棧工程師的基礎(chǔ),如果你有很強(qiáng)的自我學(xué)習(xí)能力,那就真的可以順利走上全棧之路了。而假如你學(xué)習(xí)能力稍差,面對新技術(shù)總是尋尋覓覓尋不到入門的路,那恐怕也把自己逼不成全棧,或者得逼到白頭。
全棧的好與壞
全棧工程師的好處就是涉獵技術(shù)很廣,能夠很快運(yùn)用他所了解的技術(shù)開發(fā)出產(chǎn)品原型。所以,很多全棧工程師后來走上了創(chuàng)業(yè)之路,成了創(chuàng)業(yè)者;或者進(jìn)了創(chuàng)業(yè)公司,成了技術(shù)合伙人。他們視野開闊,思維活躍,對技術(shù)和產(chǎn)品都很敏感,是創(chuàng)業(yè)期不可或缺的核心。
然而,正因?yàn)槿珬9こ處煹募夹g(shù)是橫向發(fā)展的,廣博有余而精深不足,所以你提到什么,他都能侃上半天,但你要問一些基礎(chǔ)的知識點(diǎn),他可能答不上來。假如全棧工程師不去創(chuàng)業(yè)或不加入創(chuàng)業(yè)型公司,而是應(yīng)聘某一個技術(shù)方向的崗位,那在面試時就會比較吃虧,因?yàn)樗玫降拇蟛糠旨夹g(shù),細(xì)問起來,別人可能都會覺得有了解但不深入。所以,這可能會影響他的求職。不過,如果先一專再多能,然后有意識的選擇目標(biāo)職業(yè),就可以避免這種情況。
選擇哪條技術(shù)棧
額,其實(shí),對于全棧工程師來講,往往是沒得選擇的。比如你做App,你要全棧,你基本上就很少選擇余地,Java、Objective-C都是必須的。所以,很多時候是產(chǎn)品和形勢選擇你成為全棧,是做著做著成了全棧。而不是為了全棧而全棧,假如是為了全棧而全棧,那你是可以選的哦。比如選擇MEAN(MongoDB+Express+AngularJS+Node.js),比如J2SE + SSH + Android + Objective-C + Cocoa……
假如你的目標(biāo)就是成為全棧工程師,你會發(fā)現(xiàn),哇哦,好多東西要學(xué)噯,嚇?biāo)廊死病D羌偃缒阋鲆粋€產(chǎn)品,比如因?yàn)槟憧釔鄢垂?,你要做一個簡單的股票App:跟蹤自選股行情,支持自定義提醒,界面要清爽干凈,平臺呢要支持Android、iOS和Web。那你在做這樣產(chǎn)品的過程中,就會被逼成全棧而不自覺。因?yàn)椋瞿阆矚g的事兒,是不會覺得累的。
-
工程師
+關(guān)注
關(guān)注
59文章
1571瀏覽量
68574
發(fā)布評論請先 登錄
相關(guān)推薦
評論