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