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