我猜想國(guó)內(nèi)很多前端工程師都想過(guò)這個(gè)問(wèn)題吧。前端工程師往往屬于產(chǎn)品研發(fā)團(tuán)隊(duì),但卻很容易被邊緣化——后端工程師覺(jué)得自己才是主力,沒(méi)有后端工程師產(chǎn)品就不存在了,但沒(méi)有前端工程師產(chǎn)品還能有,只是界面非常糟糕而已。這時(shí)候前端工程師就開(kāi)始感覺(jué)自己像是個(gè)外包似的,只是來(lái)幫別人完成一些任務(wù)而已,對(duì)產(chǎn)品沒(méi)有歸宿感。這時(shí)候前端工程師的職業(yè)發(fā)展路線在哪?成為一個(gè)更好的外包嗎?
要做關(guān)鍵任務(wù)
我覺(jué)得,要?jiǎng)e人重視你的工作,不僅僅是你做得好就行了,還要求你的工作對(duì)別人來(lái)說(shuō)足夠重要。這跟產(chǎn)品定位有關(guān)——例如說(shuō)對(duì)搜索引擎來(lái)說(shuō),前端對(duì)產(chǎn)品的影響不會(huì)非常大,用戶只要能搜索到自己想要的結(jié)果就行了。搜索引擎最復(fù)雜的交互可能就是搜索框的自動(dòng)完成了,但有自動(dòng)完成和無(wú)自動(dòng)完成的區(qū)別到底有多大呢?跟準(zhǔn)確率和召回率相比,有沒(méi)有自動(dòng)完成實(shí)在沒(méi)有多重要。況且,自動(dòng)完成的結(jié)果本身也依賴于準(zhǔn)確率和召回率,所以后端工程師比前端工程師重要得多。
因此,前端工程師在選擇工作時(shí)首先要選擇前端足夠重要的工作。重要用什么來(lái)衡量?務(wù)實(shí)的話,是錢(qián);務(wù)虛的話,是產(chǎn)品。如果一個(gè)功能只能在前端實(shí)現(xiàn),并且這個(gè)實(shí)現(xiàn)能夠提高多少的轉(zhuǎn)化率,使得多少原本不產(chǎn)生利潤(rùn)的點(diǎn)擊產(chǎn)生利潤(rùn),那么前端對(duì)這個(gè)產(chǎn)品來(lái)說(shuō)一定十分重要。可惜往往跟錢(qián)相關(guān)的事情不由前端工程師來(lái)研究和決定,所以這部分工作還是安心交給產(chǎn)品設(shè)計(jì)師來(lái)做吧,讓他們來(lái)決定怎么樣的產(chǎn)品能賺錢(qián),然后由你來(lái)完成這個(gè)產(chǎn)品的實(shí)現(xiàn),這時(shí)候你的目標(biāo)就是把產(chǎn)品做好。
回到剛才的問(wèn)題,有些產(chǎn)品更依賴于后端,例如搜索引擎,當(dāng)然也有些產(chǎn)品更依賴于前端。什么樣的產(chǎn)品更依賴于前端?就是后端難以建立起技術(shù)壁壘的產(chǎn)品。這類(lèi)產(chǎn)品要抄襲一個(gè)功能差不多的并不難,因此只有細(xì)節(jié)做得最好的能夠獲得足夠多的用戶。這類(lèi)產(chǎn)品在 iOS App Store 上很常見(jiàn)——有很多 app 擁有相似的功能,而其中只有一個(gè)交互設(shè)計(jì)得最好的能夠獲得絕大多數(shù)的用戶。盡管 app 不存在 HTML + CSS + JS 這個(gè)前端,不過(guò)道理是一樣的。當(dāng)年 Tweetie 能夠取代老牌的 Twitterrific 成為主流 Twitter 客戶端,靠的就是交互上的創(chuàng)新,外加不差的性能和穩(wěn)定性。如果交互對(duì)于一個(gè) web app 來(lái)說(shuō)十分重要,這個(gè) web app 自然也就需要十分優(yōu)秀的前端工程師。
總結(jié)一下,由于前端工程師的價(jià)值在于實(shí)現(xiàn)復(fù)雜的前端細(xì)節(jié),因此如果可以選擇的話盡量選擇一個(gè)細(xì)節(jié)決定成敗的產(chǎn)品。如果產(chǎn)品的成敗已經(jīng)由后端工程師決定了,例如某某數(shù)據(jù)規(guī)模要么能做要么不能做,那么這個(gè)產(chǎn)品就沒(méi)你什么事了。
要懂核心業(yè)務(wù)
每一個(gè)公司,每一個(gè)項(xiàng)目,都有它的官方語(yǔ)言。不是指普通話,也不是指 C++,我指的是大家圍繞什么問(wèn)題來(lái)展開(kāi)項(xiàng)目,什么問(wèn)題的討論能讓大家為之興奮。舉個(gè)例子來(lái)說(shuō),百度的官方語(yǔ)言就是搜索,跟搜索沒(méi)有關(guān)系的產(chǎn)品也會(huì)使用「準(zhǔn)確率」、「召回率」這樣的術(shù)語(yǔ)用來(lái)做比喻。前端工程師有多少知道什么是「準(zhǔn)確率」、「召回率」的?估計(jì)不多,因?yàn)榍岸烁緵](méi)有這樣的概念。這時(shí)候前端工程師要跟后端工程師溝通也就不容易了。久而久之,你對(duì)人家很興奮在討論的什么 O(1) 還是 O(n) 不感興趣,人家也不理解你的 {} != {}是什么意思,你就被邊緣化了。
如果不想被邊緣化,就算前端不是公司的核心業(yè)務(wù),你也必須懂公司的核心業(yè)務(wù),然后說(shuō)著官方語(yǔ)言,而不是前端的方言。這就意味著,如果你在一家后端技術(shù)很強(qiáng)大的公司,你最好也懂后端技術(shù)。我知道國(guó)內(nèi)有很多前端工程師并不是計(jì)算機(jī)系畢業(yè)的,就算是國(guó)內(nèi)的教育也不怎么樣,這時(shí)候你只能惡補(bǔ)相關(guān)的基礎(chǔ)知識(shí)了。如果你不懂這些,就算你能把整本《JavaScript 權(quán)威指南》背下來(lái),你說(shuō)的還是方言,說(shuō)官話的人還是會(huì)鄙視你。如果公司主要服務(wù)于某個(gè)垂直領(lǐng)域的話,你必須對(duì)這個(gè)垂直領(lǐng)域十分了解,隨時(shí)能用這個(gè)領(lǐng)域的行話來(lái)溝通。
總結(jié)一下,由于每個(gè)人已經(jīng)熟悉的領(lǐng)域都不一樣,所以沒(méi)辦法說(shuō)哪個(gè)領(lǐng)域更適合前端工程師。如果你原本已經(jīng)有某個(gè)領(lǐng)域的從業(yè)經(jīng)驗(yàn),進(jìn)入服務(wù)于該領(lǐng)域的技術(shù)公司總是有顯著優(yōu)勢(shì)的。如果你進(jìn)入了一個(gè)自己不熟悉的領(lǐng)域,那就一定要補(bǔ)充相關(guān)基礎(chǔ)知識(shí),否則你對(duì)這個(gè)領(lǐng)域不感興趣,這個(gè)領(lǐng)域也不會(huì)對(duì)你的前端工作感興趣。
實(shí)際例子
為什么我選擇加入豌豆莢?主要考慮的還是上面兩點(diǎn)。
我在百度的時(shí)候一直就在想,既然前端對(duì)搜索引擎來(lái)說(shuō)不重要,那對(duì)什么類(lèi)型的應(yīng)用來(lái)說(shuō)比較重要呢?當(dāng)時(shí)看到 Facebook 做得不錯(cuò),所以覺(jué)得社區(qū)會(huì)需要復(fù)雜的交互,而如果復(fù)雜交互做不好則會(huì)影響用戶使用,因此前端對(duì)社區(qū)來(lái)說(shuō)應(yīng)該十分重要。現(xiàn)在看來(lái),也不完全是這樣子。前端對(duì)社區(qū)來(lái)說(shuō)確實(shí)重要,但 Facebook 并不是一個(gè)典型的例子,它是一個(gè)前端做得尤其優(yōu)秀的例子。
在我了解到豌豆莢 Windows 客戶端的實(shí)現(xiàn)方式時(shí),我立即意識(shí)到它可以通過(guò)我的第一個(gè)判別標(biāo)準(zhǔn)——前端對(duì)它來(lái)說(shuō)是關(guān)鍵任務(wù)。它使用 Webkit 做了一個(gè)容器,然后把所有的交互都通過(guò) web app 的形式做在里面,然后通過(guò)一組接口跟 native 進(jìn)行交互。如果一個(gè)應(yīng)用決定要這樣做了,那么前端就能影響到它的成敗,因?yàn)檫@時(shí)候前端后端的分隔線已經(jīng)很明確了。如果一項(xiàng)功能應(yīng)該由前端來(lái)做那就必須由前端來(lái)做,后端基本不可能成為實(shí)現(xiàn)此項(xiàng)功能的備選方案,這時(shí)候前端就具備了無(wú)可替代的位置。
至于第二個(gè)判別標(biāo)準(zhǔn)——豌豆莢的核心業(yè)務(wù)是什么?我覺(jué)得豌豆莢做的很多事情都是以產(chǎn)品設(shè)計(jì)為起點(diǎn)的,而這至少是我感興趣并且也有點(diǎn)感覺(jué)的東西。從細(xì)節(jié)上來(lái)說(shuō),就是大家喜歡談?wù)摰氖虑槭且恢碌模绠a(chǎn)品如何做一些很智能的設(shè)計(jì),最新的技術(shù)方案如何能夠巧妙地幫助這些設(shè)計(jì)得以實(shí)現(xiàn)。Junyu 說(shuō)「設(shè)計(jì)就是創(chuàng)造性地解決問(wèn)題」,這是我喜歡的解決問(wèn)題方式。這個(gè)世界上能夠把邏輯轉(zhuǎn)化為代碼的人非常多,同時(shí)有一定數(shù)學(xué)和計(jì)算機(jī)專(zhuān)業(yè)基礎(chǔ)的人也不少,因此要拼誰(shuí)的解決方案更好的話那還要加上創(chuàng)造力。
我知道國(guó)內(nèi)有很多產(chǎn)品設(shè)計(jì)師,在考慮產(chǎn)品時(shí)首先想到的是百萬(wàn)千萬(wàn)級(jí)用戶量,這樣無(wú)論從單個(gè)用戶身上賺到的錢(qián)多么的少,最終產(chǎn)品還是能賺大錢(qián)。百度曾經(jīng)就屬于這種思維方式,但這不是我喜歡的風(fēng)格,因?yàn)闆](méi)有明確的目標(biāo)用戶定位。我知道國(guó)內(nèi)由很多工程師,在編寫(xiě)代碼時(shí)用盡各種技巧以展示自己過(guò)人的才智,但是這樣的代碼還有可復(fù)用性嗎?除了作者本人沒(méi)有人能夠維護(hù)啊。不同的人有不同的品味,能夠跟品味一致的人一起工作是一件幸福的事情。
-
工程師
+關(guān)注
關(guān)注
59文章
1587瀏覽量
69200 -
前端
+關(guān)注
關(guān)注
1文章
214瀏覽量
18137
發(fā)布評(píng)論請(qǐng)先 登錄

(仰天長(zhǎng)嘯)為什么受傷的總是硬件工程師...#MDD#MDD辰達(dá)半導(dǎo)體 #電子工程師

如何成為一名嵌入式軟件工程師?



硬件工程師的終極幻想:焊板子焊上人生巔峰!#半導(dǎo)體器件 #硬件工程師 #MDD辰達(dá)半導(dǎo)體

不同時(shí)期的硬件工程師,最怕發(fā)生的事 #電子工程師 #硬件工程師 #內(nèi)容過(guò)于真實(shí) #YXC晶振 #揚(yáng)興科技


笑死,掌握一眼識(shí)別資深硬件工程師的訣竅了!# #電路知識(shí) #電工 #硬核拆解

當(dāng)硬件工程師穿越到霸總劇: 以他性格肯定忍不到第二集? #硬件工程師 #電路設(shè)計(jì) #晶振 #揚(yáng)興科技

當(dāng)你的工程師朋友失聯(lián)時(shí),別氣,ta真的是在忙工作 #搞笑 #電子愛(ài)好者 #硬件工程師 #晶振 #揚(yáng)興科技

硬件工程師VS軟件工程師|硬件工程師看到這都淚目了!#硬件設(shè)計(jì) #硬件工程師 #電子工程師 #軟件工程師
FPGA算法工程師、邏輯工程師、原型驗(yàn)證工程師有什么區(qū)別?


評(píng)論