一、為什么需要全棧工程師呢?我想先通過下面的介紹來回答:
1)企業(yè)希望員工具有全局性思維
現(xiàn)代項(xiàng)目的開發(fā),需要掌握多種技術(shù)。互聯(lián)網(wǎng)項(xiàng)目,需要用到后端開發(fā)、前端開發(fā)、界面設(shè)計(jì)、產(chǎn)品設(shè)計(jì)、數(shù)據(jù)庫、各種移動客戶端、三屏兼容、restFul API設(shè)計(jì)和OAuth等等,比較前衛(wèi)的項(xiàng)目,還會用到Single Page Application、Web Socket、html5/css3這些技術(shù)以及像第三方開發(fā)像微信公眾號微博應(yīng)用等等。
Web前端也遠(yuǎn)遠(yuǎn)不是從前的切個(gè)圖用個(gè)jQuery上個(gè)AJAX兼容各種瀏覽器那么簡單了。現(xiàn)代的Web前端,你需要用到模塊化開發(fā)、多屏兼容、MVC,各種復(fù)雜的交互與優(yōu)化,甚至你需要用到Node.js來協(xié)助前端的開發(fā)。
所以說一個(gè)現(xiàn)代化的項(xiàng)目,是一個(gè)非常復(fù)雜的構(gòu)成,我們需要一個(gè)人來掌控全局,他不需要是各種技術(shù)的資深專家,但他需要熟悉到各種技術(shù)。對于一個(gè)團(tuán)隊(duì)特別是互聯(lián)網(wǎng)企業(yè)來說,有一個(gè)全局性思維的人非常非常重要。
2)企業(yè)希望降低內(nèi)部溝通成本
項(xiàng)目越大,溝通成本越高,做過項(xiàng)目管理的都知道,項(xiàng)目中的人力是1+1<2的,人越多效率越低。因?yàn)闇贤ㄊ切枰杀镜模煌夹g(shù)的人各說各話,前端和后端是一定會掐架的。每個(gè)人都會為自己的利益而戰(zhàn),毫不為已的人是不存在的。
而全棧工程師的成本幾乎為零,因?yàn)楦鞣N技術(shù)都懂,胸有成竹,自己就全做了。即使是在團(tuán)隊(duì)協(xié)作中,與不同技術(shù)人員的溝通也會容易得多,讓一個(gè)后端和一個(gè)前端去溝通,那完全是雞同鴨講,更不用說設(shè)計(jì)師與后端了。但如果有一個(gè)人懂產(chǎn)品懂設(shè)計(jì)懂前端懂后端,那溝通的結(jié)果顯然不一樣,因?yàn)樗麄冎v的,彼此都能聽得懂。
3)創(chuàng)業(yè)公司希望“一個(gè)蘿卜幾個(gè)坑”
對于創(chuàng)業(yè)公司來說,全棧工程師的價(jià)值是非常大的,創(chuàng)業(yè)公司不可能像大公司一樣,各方面的人才都有。所以需要一個(gè)多面手,各種活都能一肩挑,獨(dú)擋多面的萬金油。對于創(chuàng)業(yè)公司,不可能說DBA前端后端客戶端各種人才全都備齊了,很多工作請人又不飽和,不請人又沒法做,外包又不放心質(zhì)量,所以全棧工程師是省錢的一妙招。雖然說全棧工程師工資會比一般的工程師會高很多,但綜合下來,成本會低很多。
所以,全棧工程師出現(xiàn)的背景就是——當(dāng)下互聯(lián)網(wǎng)興旺,企業(yè)希望能快速迭代出版本,那么阻礙團(tuán)隊(duì)的不就是員工的能力、溝通、視野嗎?同時(shí),大量的創(chuàng)業(yè)公司冒出來,創(chuàng)始人整天拉投資,當(dāng)然希望內(nèi)部員工能夠搞定一切。
二、那么全棧工程師面臨什么困境呢?
技術(shù)有兩個(gè)發(fā)展方向,一種是縱向一種是橫向的,橫向的是瑞士軍刀,縱向的是削鐵如泥的干將莫邪。這兩個(gè)方向都沒有對與錯,發(fā)展到一定程度都會相互溶合,就好比中國佛家禪修的南頓北漸,其實(shí)到了最后,漸悟與頓悟是一樣的,頓由漸中來。
如果一個(gè)公司不太懂全棧工程師的價(jià)值,那么全棧工程師的地位將會很尷尬,說得不好聽一點(diǎn),全棧工程師就是什么都會,什么都不會。曾經(jīng)有一次面試,對方問很基礎(chǔ)的問題,他答不上來,但他能做出產(chǎn)品,也知道什么是怎么一回事,他也不會犯那些錯誤,可他就是答不上概念,要考倒他非常容易。所以在應(yīng)聘面試的時(shí)候,有些時(shí)候會吃虧,他可能會不如哪些在某一方面鉆得很深的人工資拿得高。






