最近國(guó)內(nèi)外都在流行一個(gè)詞叫Full Stack,中文翻譯過(guò)來(lái)叫全棧工程師,也叫全端工程師。微博上很多專業(yè)人士都在討論全端工程師,有贊有毀的。我對(duì)全端工程師的定義是:掌握多種技能,并 能利用多種技能獨(dú)立完成產(chǎn)品的人。打外比方,全棧工程師就是一個(gè)能獨(dú)立蓋一幢10層小洋樓的人,而普通工程師,則是可以和一群人蓋一幢摩天大樓的人。至于 要掌握哪些技能,我覺(jué)得這個(gè)要跟從事的行業(yè)與技術(shù)方向有關(guān),做互聯(lián)網(wǎng)的和做軟件的是不一樣的,即使是做互聯(lián)網(wǎng)的,后端也可以分為很多種技術(shù)流派。
8/2定律在哪都適用,全棧工程師就是掌握20%常用技能的人,但這20%的技能會(huì)有80%的幾率被用到,剩下那80%不常用的,讓我們Google吧。
有人說(shuō),全棧工程師在中國(guó)已經(jīng)很多年了,他們叫站長(zhǎng)。這個(gè)說(shuō)話有點(diǎn)靠譜但又不那么靠譜,我自己也做過(guò)站長(zhǎng),深知作為一名站長(zhǎng)需要掌握很多種技術(shù)。不靠譜的是,很多站長(zhǎng)其實(shí)并沒(méi)有真正寫(xiě)過(guò)多少代碼,而是熟練利用一些建站軟件來(lái)建站。
全棧工程師的價(jià)值
有人說(shuō)了,你再牛逼,你懂五種技術(shù),你能干五個(gè)人的活嗎?全棧工程師并不是說(shuō)一個(gè)人能干幾個(gè)人的活,而是要從多個(gè)方面來(lái)看這個(gè)問(wèn)題。
全局性思維
現(xiàn)代項(xiàng)目的開(kāi)發(fā),很少說(shuō)只用到一兩種技術(shù)的,特別是移動(dòng)互聯(lián)網(wǎng)大潮下。隨便一個(gè)互聯(lián)網(wǎng)項(xiàng)目中用到的技術(shù),就會(huì)需要用到后端開(kāi)發(fā)、前端開(kāi)發(fā)、界面設(shè) 計(jì)、產(chǎn)品設(shè)計(jì)、數(shù)據(jù)庫(kù)、各種移動(dòng)客戶端、三屏兼容、restFul API設(shè)計(jì)和OAuth等等,一些比較前衛(wèi)的項(xiàng)目,可能會(huì)用到Single Page Application、Web Socket、HTML5/CSS3這些技術(shù),還有像第三方開(kāi)發(fā)像微信公眾號(hào)微博應(yīng)用等等。
Web前端也遠(yuǎn)遠(yuǎn)不是從前的切個(gè)圖用個(gè)jQuery上個(gè)AJAX兼容各種瀏覽器那么簡(jiǎn)單了。現(xiàn)代的Web前端,你需要用到模塊化開(kāi)發(fā)、多屏兼容、MVC,各種復(fù)雜的交互與優(yōu)化,甚至你需要用到Node.js來(lái)協(xié)助前端的開(kāi)發(fā)。
所以說(shuō)一個(gè)現(xiàn)代化的項(xiàng)目,是一個(gè)非常復(fù)雜的構(gòu)成,我們需要一個(gè)人來(lái)掌控全局,他不需要是各種技術(shù)的資深專家,但他需要熟悉到各種技術(shù)。對(duì)于一個(gè)團(tuán)隊(duì)特別是互聯(lián)網(wǎng)企業(yè)來(lái)說(shuō),有一個(gè)全局性思維的人非常非常重要。
像如果是我經(jīng)手的項(xiàng)目,我肯定會(huì)注意到網(wǎng)頁(yè)優(yōu)化,也會(huì)考慮到API來(lái)兼容各種客戶端,更會(huì)考慮到三屏兼容的問(wèn)題。不會(huì)說(shuō)項(xiàng)目中完全使用AJAX而不顧SEO,也不會(huì)為了功能性而忽略訪問(wèn)速度,我會(huì)很好的把握這個(gè)平衡,因?yàn)槲抑浪鼈兊臋?quán)重與實(shí)現(xiàn)成本。
溝通成本
項(xiàng)目越大,溝通成本越高,做過(guò)項(xiàng)目管理的人都知道,項(xiàng)目中的人力是1+1<2的,人越多效率越低。因?yàn)闇贤ㄊ切枰杀镜?,不同技術(shù)的人各說(shuō)各話,前端和后端是一定會(huì)掐架的。每個(gè)人都會(huì)為自己的利益而戰(zhàn),毫不為已的人是不存在的。
而全棧工程師的成本幾乎為零,因?yàn)楦鞣N技術(shù)都懂,胸有成竹,一不小心自己就全做了。即使是在團(tuán)隊(duì)協(xié)作中,與不同技術(shù)人員的溝通也會(huì)容易得多,你讓一 個(gè)后端和一個(gè)前端去溝通,那完全是雞同鴨講,更不用說(shuō)設(shè)計(jì)師與后端了。但如果有一個(gè)人懂產(chǎn)品懂設(shè)計(jì)懂前端懂后端,那溝通的結(jié)果顯然不一樣,因?yàn)樗麄冎v的, 彼此都能聽(tīng)得懂。
創(chuàng)業(yè)公司
對(duì)于創(chuàng)業(yè)公司來(lái)說(shuō),全端工程師的價(jià)值是非常大的,創(chuàng)業(yè)公司不可能像大公司一樣,各方面的人才都有。所以我們需要一個(gè)多面手,各種活都能一肩挑,獨(dú)擋 多面的萬(wàn)金油。對(duì)于創(chuàng)業(yè)公司,不可能說(shuō)DBA前端后端客戶端各種人才全都備齊了,很多工作請(qǐng)人又不飽和,不請(qǐng)人又沒(méi)法做,外包又不放心質(zhì)量,所以全端工程 師是省錢(qián)的一妙招。雖然說(shuō)全端工程師工資會(huì)比一般的工程師會(huì)高很多,但綜合下來(lái),成本會(huì)低很多。
全棧工程師的困境
我講技術(shù)有兩個(gè)發(fā)展方向,一種是縱向一種是橫向的,橫向的是瑞士軍用刀,縱向的是削鐵如泥的干將莫邪。這兩個(gè)方向都沒(méi)有對(duì)與錯(cuò),發(fā)展到一定程序都會(huì)相互溶合,就好比中國(guó)佛家禪修的南頓北漸,其實(shí)到了最后,漸悟與頓悟是一樣的,頓由漸中來(lái)。
如果一個(gè)公司不太懂全棧工程師的價(jià)值,那么全棧工程師的地位將會(huì)很尷尬,說(shuō)得不好聽(tīng)一點(diǎn),全棧工程師就是什么都會(huì),都么都不會(huì)。曾經(jīng)有一次面試,對(duì) 方問(wèn)我很基礎(chǔ)的問(wèn)題,我答不上來(lái),我能做出產(chǎn)品,也知道什么是怎么一回事,我也不會(huì)犯那些錯(cuò)誤,但我就是答不上概念,要考倒我非常容易。所以在應(yīng)聘面試的時(shí)候,有些時(shí)候會(huì)吃虧,你可能會(huì)不如哪些在某一方面鉆得很深的人工資拿得高。
由于經(jīng)常在各種技術(shù)穿梭,我會(huì)經(jīng)常忘記代碼的語(yǔ)法和一些API,所以我經(jīng)常需要去查API甚至查語(yǔ)法,我覺(jué)得沒(méi)有Google我?guī)缀鯖](méi)法工作。這在某些人的眼里,是技術(shù)不夠的表現(xiàn)。我記的只是一個(gè)Key,一個(gè)如何找尋答案的索引,而不是全部,人腦不是電腦,我不可能要求我能記下所有的東西。
有一次面試官問(wèn)我一個(gè)問(wèn)題,我說(shuō)我不知道,但我猜大概是如此這般,對(duì)方問(wèn)我,你為什么這么猜,我說(shuō)憑直覺(jué),對(duì)方笑了笑沒(méi)說(shuō)話。面試完后我一查,果然和我猜的差不多。沒(méi)錯(cuò),我就是憑直覺(jué),但這種直覺(jué)和女人的直覺(jué)不一樣,這種直覺(jué)是技術(shù)上的直覺(jué),是你過(guò)去技術(shù)經(jīng)驗(yàn)累積的一個(gè)反射。
為什么我會(huì)成為全棧工程師
我相信很多全棧型工程師會(huì)和我一樣,是因?yàn)橐獎(jiǎng)?chuàng)業(yè)才成為全棧型工程師的。我有一顆創(chuàng)業(yè)和做產(chǎn)品的心,而且我又是一個(gè)不愿意麻煩別人的人,有些人擅長(zhǎng)整合資源,空手套白狼,但我顯然不是這種人,所以我只好自己做了。
在經(jīng)歷過(guò)兩次孤獨(dú)的創(chuàng)業(yè)之后,我發(fā)現(xiàn)我并不是一個(gè)適合獨(dú)立創(chuàng)業(yè)的人,所以,我成為了一個(gè)全端工程師。我最初是做ASP,后來(lái)自己創(chuàng)業(yè)寫(xiě)客戶端用 Delphi,然后寫(xiě)了三年的ASP.Net,2010年的時(shí)候因?yàn)楣拘枰_(kāi)始做iOS開(kāi)發(fā)。Web前端是一直自己在做,項(xiàng)目中的的 Javascript基本都是我自己在做。
我熱愛(ài)寫(xiě)代碼,熱愛(ài)重復(fù)發(fā)明輪子,熱愛(ài)新技術(shù),我想這也是我成為一個(gè)全棧工程師的重要原因。
于我自己來(lái)說(shuō),我覺(jué)得全端工程師的樂(lè)趣要比一般工程師來(lái)得多,因?yàn)槟阒酪粋€(gè)產(chǎn)品的形態(tài),你可以去設(shè)計(jì)一個(gè)產(chǎn)品,你是從全局的視野來(lái)做事情,你得到的成就感會(huì)更多一些。
【 微信掃一掃 】