全棧-前端不易
2016年01月28日
61
分類:開發(fā)資訊
產(chǎn)品,設(shè)計(jì),終端,前端,后臺(tái),運(yùn)維,測(cè)試……似乎攢齊了就能召喚神龍,但實(shí)際可能的情況卻是人員之間相互扯皮的時(shí)間遠(yuǎn)大于實(shí)際做事的時(shí)間。為什么不能全部技術(shù)都由一個(gè)人解決,人力得到最有效地利用,坑在哪人就填哪?
有意思的是,這樣“什么都懂點(diǎn)”的技術(shù)人員還真的有,就算可能這個(gè)人從來沒接觸過某個(gè)領(lǐng)域,但給他一點(diǎn)點(diǎn)時(shí)間上下手,似乎還真能拿出些“還算可以”的成果出來。然后,眾多l(xiāng)eader發(fā)現(xiàn),耶?這樣的人用起來真TM順手,而且讓人少操很多心,因?yàn)楹芏啾緛硇枰獎(jiǎng)e的技術(shù)棧介入才能解決的問題,他自己可以吭哧吭哧地先拿個(gè)可能比較粗糙的解決方案出來,整個(gè)項(xiàng)目就會(huì)感覺似乎加了雞血一樣很順利地得到推進(jìn)。Facebook大概就是學(xué)到了這個(gè)甜頭,于是全公司推行如是策略,發(fā)現(xiàn)似乎還真能玩得轉(zhuǎn)。
多而泛還是少而精,大多數(shù)技術(shù)人員都有自己的判斷,全棧的問題不討論先,但這樣的技術(shù)人員,就以我自己的感觸,我是不太喜歡被人稱為“全?!钡摹1绕鹑珬?,我覺得用“黑客”來去定位其實(shí)更為合適。
黑客精神是什么?
黑客究竟是什么樣的人,我也難給出清晰的定位,《黑客與畫家》中有足夠多的討論,但其實(shí)也沒給出明確的定位。但至少,黑客有著一些許多其它普通技術(shù)人員所做不到的能力,其中我認(rèn)為最核心的大概有兩個(gè):
高效解決問題:這個(gè)可能挺多團(tuán)隊(duì)都會(huì)推崇,但具體實(shí)施時(shí)卻尤其困難,還是得看具體執(zhí)行人員;
單槍匹馬作戰(zhàn):這個(gè)卻很有意思,很多團(tuán)隊(duì)其實(shí)是抵觸這樣的員工,認(rèn)為畢竟術(shù)業(yè)有專攻,而且你做了別人的事總是不好的,而且還很容易鉆牛角尖,讓項(xiàng)目在某個(gè)單點(diǎn)上陷入焦油坑。
所以,黑客大概挺多團(tuán)隊(duì)是不太喜歡的,因?yàn)樗麄兲亓ⅹ?dú)行難以駕馭;但很矛盾的是團(tuán)隊(duì)卻希望能有全棧,能作為整個(gè)團(tuán)隊(duì)的潤(rùn)滑劑,在人員不足(常態(tài))的情況下依然能讓項(xiàng)目得到持續(xù)推進(jìn)。
事實(shí)上一個(gè)團(tuán)隊(duì)需不需要全棧?不見得需要;因?yàn)槿绻袉栴}都能迎刃而解,誰(shuí)管你是不是全棧呢?我想,這個(gè)才是全棧述求的本質(zhì)。
前端的黑客
不知道其他人是否有同感,我總感覺“全?!边@個(gè)詞多少都會(huì)牽扯到前端。大概因?yàn)?,從產(chǎn)品層面來看,前端真的處在一個(gè)很中樞的地位;而近幾年來,服務(wù)器、性能、算法等越來越往底層走,在計(jì)算越來越便宜的情況下,性能和算法變得越來越不值錢,大可以堆計(jì)算解決很多問題,計(jì)算搞不定靠存儲(chǔ)和索引嘛,砸錢而已。
但產(chǎn)品及其體驗(yàn)卻不一樣,有了良好的設(shè)計(jì)、足夠多的功能與性能,也都未必能造就一個(gè)良好的產(chǎn)品體驗(yàn),更不用說產(chǎn)品誕生之間各種不斷出現(xiàn)的細(xì)節(jié)問題,一個(gè)好的設(shè)計(jì)卻實(shí)現(xiàn)不了的話,沒有任何意義。這里就體現(xiàn)出了前端的價(jià)值。
在對(duì)設(shè)計(jì)側(cè)時(shí),前端能否實(shí)現(xiàn)設(shè)計(jì)稿,并與設(shè)計(jì)師良好溝通對(duì)接?在對(duì)功能側(cè)時(shí),前端能否針對(duì)實(shí)際情況做出各類的支持,并優(yōu)化傳輸時(shí)的協(xié)議與方式?
這些問題其實(shí)本身是可能在設(shè)計(jì)側(cè)或后臺(tái)側(cè)他們來直接解決的,但現(xiàn)實(shí)情況卻是通常是由前端來進(jìn)行調(diào)整與妥協(xié)。畢竟,這種灰色地帶的事總得有人做,而似乎設(shè)計(jì)側(cè)不懂代碼,而許多后臺(tái)側(cè)則認(rèn)為前端來做更方便或是干脆覺得這些不關(guān)他們事(比如傳輸,CDN,模板,數(shù)據(jù)處理等等)……
就更別說,一個(gè)產(chǎn)品終于大致完成時(shí),提交測(cè)試時(shí),最多問題的大概一定是前端:兼容性與體驗(yàn)的各類細(xì)節(jié)無比繁復(fù),不像設(shè)計(jì)側(cè)只需要管效果圖,后臺(tái)只需要搞定服務(wù)器。
這時(shí)后臺(tái)或是設(shè)計(jì)側(cè)想過來嘗試做“全?!睍r(shí)就會(huì)發(fā)現(xiàn),我擦坑那么多,還是交給前端吧……而反過來,前端去嘗試設(shè)計(jì)側(cè)與后臺(tái)側(cè)時(shí),卻會(huì)發(fā)現(xiàn),咦?這個(gè)世界好單純,而且反正我不是專業(yè)的,弄個(gè)“夠用”的東西說到底還是不難的,何況業(yè)界有那么多的素材庫(kù)、后臺(tái)框架、工具庫(kù)等等,似乎還真能做到一夫當(dāng)關(guān)萬(wàn)夫莫開。
逐漸的,這個(gè)前端就成了所謂的全棧:
設(shè)計(jì)資源的問題,沒關(guān)系,我直接拿別人的色彩或是素材補(bǔ)一下,不好看?再找設(shè)計(jì)師咯;
遇到后臺(tái)問題,沒關(guān)系,我先弄點(diǎn)假數(shù)據(jù)撐一下,或者隨便弄臺(tái)機(jī)器 node+mongodb 直接做個(gè)可用 DEMO,至于吞吐量,交給后臺(tái)人員。
遇到運(yùn)維問題,哦,看下別人的示例改下 apache 配置,偶爾 vim 改下別的什么配置再 restart 一下,至于精細(xì)的東西就不關(guān)我事了
但只要能做到這種程度,這位前端就已經(jīng)成為一名黑客了:對(duì)與前端對(duì)接的其它領(lǐng)域的問題似乎他都能略懂并且能用自己的方式先扛著,單槍匹馬哦!
你真說像這樣的全棧是全棧?所以我沒這個(gè)底氣,也不太相信真有人能十字型發(fā)展,不僅前端牛逼而且后臺(tái)/設(shè)計(jì)/運(yùn)維等等都老在行,這讓專業(yè)人士情何以堪?
問題在于,如果這些別人領(lǐng)域的能力都是半桶水,又沒得到足夠的積累,會(huì)給旁人什么感覺?大概就是上面所說的,大家就會(huì)覺得這貨鉆牛角尖,自己的事都沒做好就老想著做別人的事;而他自己也委曲:你們?cè)O(shè)計(jì)或是接口沒準(zhǔn)備好,我這邊做前端也麻煩啊,這真是讓人左右不是人。然后結(jié)果當(dāng)然是整個(gè)項(xiàng)目依然陷入焦油坑,各自推諉別人沒做好,自己這邊需要時(shí)間,整個(gè)團(tuán)隊(duì)變成只有一個(gè)人的效率。
其實(shí),牛逼的人到哪都是牛逼的,黑客就像計(jì)算機(jī)/互聯(lián)網(wǎng)界的企業(yè)家,能上的時(shí)候要上,不能上的時(shí)候創(chuàng)造條件也要上,這大概就是黑客精神,而現(xiàn)在,似乎這個(gè)重任更多的壓在了前端童鞋們的身上。