非典型前端的一年
去年年中通過(guò)了晉升之后,工作內(nèi)容上發(fā)生了一些變化,同時(shí)由于TL是服務(wù)端同學(xué),團(tuán)隊(duì)組成包含多種技術(shù)棧,F(xiàn)Y21對(duì)于業(yè)務(wù)思考有了較大提升,而在前端技術(shù)的探索上也會(huì)與其他技術(shù)域有更多交叉,所以我的FY21為非典型前端的一年。這篇總結(jié)分為兩部分:
- 業(yè)務(wù):FY21我是如何做閑魚(yú)內(nèi)容創(chuàng)作者這塊業(yè)務(wù)的
- 技術(shù):FY21我在前端技術(shù)上做了哪些建設(shè)與沉淀
一 業(yè)務(wù)
FY21年中閑魚(yú)開(kāi)始重新投入社區(qū)內(nèi)容這塊業(yè)務(wù),我擔(dān)任社區(qū)創(chuàng)作者線的技術(shù)PM,帶領(lǐng)小組的技術(shù)同學(xué)與業(yè)務(wù)同學(xué)一起為業(yè)務(wù)目標(biāo)努力。我在整個(gè)過(guò)程中做的事情可以概括為3個(gè)詞:建團(tuán)隊(duì)、定目標(biāo)、做判斷。
建團(tuán)隊(duì)
在這里,建團(tuán)隊(duì)的意思是將相關(guān)的技術(shù)同學(xué)與業(yè)務(wù)同學(xué)組成一個(gè)“團(tuán)隊(duì)”,統(tǒng)一大家之間的認(rèn)識(shí),相互之間建立信任,這是一件極其困難的事情。對(duì)于研發(fā)同學(xué),你要站在他的角度思考在過(guò)程中能夠給他提供什么樣的成長(zhǎng),成長(zhǎng)可能是業(yè)務(wù)理解,可能是技術(shù)沉淀等等。對(duì)于業(yè)務(wù)同學(xué),在吸收了他們的輸入之后,你要站在業(yè)務(wù)的角度去思考當(dāng)前問(wèn)題到底是啥,可以通過(guò)什么手段去解決,手段可以是技術(shù)的也可以是非技術(shù)的。建立信任是有路徑可循的,但是更多地是在平時(shí)的日常工作中逐步去建立的。
定目標(biāo)
目標(biāo)指引我們的工作不偏離想要拿到的業(yè)務(wù)結(jié)果以及創(chuàng)造的用戶(hù)價(jià)值。在業(yè)務(wù)發(fā)展過(guò)程中會(huì)存在各種階段性目標(biāo),但是階段性目標(biāo)都是為了最終目標(biāo)服務(wù)的,在這里需要和業(yè)務(wù)同學(xué)反復(fù)對(duì)焦。但是業(yè)務(wù)也經(jīng)常會(huì)有一些變化,甚至產(chǎn)品和運(yùn)營(yíng)的目標(biāo)也不會(huì)完全一致,所以我認(rèn)為更加重要還是自己深入思考目標(biāo)是什么。目標(biāo)是自上而下的,因此可以先思考怎么樣做閑魚(yú)內(nèi)容社區(qū)這個(gè)業(yè)務(wù),這里推薦用亞馬遜的增長(zhǎng)飛輪來(lái)思考。
從增長(zhǎng)飛輪來(lái)看創(chuàng)作(者)->內(nèi)容->消費(fèi)(者)->創(chuàng)作(者)是整個(gè)閉環(huán),而在當(dāng)前0-1階段,優(yōu)質(zhì)內(nèi)容數(shù)量才是驅(qū)動(dòng)增長(zhǎng)的關(guān)鍵。但是為什么我們會(huì)講要做創(chuàng)作者,而不是說(shuō)做優(yōu)質(zhì)內(nèi)容數(shù)量呢。因?yàn)闃I(yè)務(wù)是通過(guò)運(yùn)營(yíng)人(創(chuàng)作者)進(jìn)行內(nèi)容創(chuàng)作來(lái)提升優(yōu)質(zhì)內(nèi)容數(shù)量,并且創(chuàng)作者數(shù)量多更能反應(yīng)業(yè)務(wù)的健康度。因此對(duì)于創(chuàng)作者這條線的核心目標(biāo)就是創(chuàng)作者規(guī)模,本質(zhì)來(lái)講就是創(chuàng)作者的增長(zhǎng)問(wèn)題。
一開(kāi)始我按照App DAU的邏輯進(jìn)行拆分,日創(chuàng)作者數(shù) = 今日新增 + 昨日留存 + 歷史召回。跑了一段時(shí)間之后發(fā)現(xiàn)這樣拆分無(wú)法對(duì)應(yīng)到業(yè)務(wù)上的Action。思考下來(lái)有幾個(gè)因素:
- 內(nèi)容發(fā)布是一個(gè)用戶(hù)參與成本很高的行為。不像App的訪問(wèn)行為,參與成本非常低,每天都可以產(chǎn)生這樣的行為。此外內(nèi)容發(fā)布相對(duì)來(lái)講是非常低頻的行為,在一周內(nèi)用戶(hù)發(fā)布的天數(shù)有限,平臺(tái)提供的獨(dú)特價(jià)值在于用戶(hù)有內(nèi)容發(fā)布訴求的時(shí)候選擇來(lái)當(dāng)前平臺(tái)發(fā)布。
- 在當(dāng)前業(yè)務(wù)0-1階段,更偏向追求每日新增內(nèi)容發(fā)布總量(即讓更多人來(lái)發(fā)布),而精細(xì)化運(yùn)營(yíng)人群的留存情況關(guān)注相對(duì)較少。
因此后來(lái)我建立了每日(周)新增(優(yōu)質(zhì))內(nèi)容量(人)的看板,并且建立每個(gè)發(fā)布渠道的效率。這樣拆分?jǐn)?shù)據(jù)看到的問(wèn)題/現(xiàn)狀是可以和業(yè)務(wù)策略對(duì)應(yīng)的。例如日創(chuàng)作內(nèi)容數(shù)增加了,但是優(yōu)質(zhì)內(nèi)容數(shù)變化不大,說(shuō)明通過(guò)一些策略促進(jìn)了用戶(hù)來(lái)發(fā)布內(nèi)容,但是優(yōu)質(zhì)率卻是降低的,可能是引入的用戶(hù)不具備創(chuàng)作能力或者策略沒(méi)有很好地引導(dǎo)用戶(hù)發(fā)布優(yōu)質(zhì)內(nèi)容。
業(yè)務(wù)數(shù)據(jù)是技術(shù)同學(xué)了解業(yè)務(wù)最簡(jiǎn)單的方式,也是能和業(yè)務(wù)同學(xué)建立連接一個(gè)便捷的通道。業(yè)務(wù)同學(xué)看著你建的數(shù)據(jù)報(bào)表,可能過(guò)幾天就給你提一個(gè)需求,幫忙增加某一個(gè)指標(biāo),這樣你就能更加了解業(yè)務(wù)的打法。這里推薦各位做業(yè)務(wù)的同學(xué),有條件一定要親自實(shí)現(xiàn)下關(guān)鍵業(yè)務(wù)指標(biāo)和其拆分指標(biāo)的產(chǎn)出邏輯(SQL),這樣能讓你更加了解業(yè)務(wù)目標(biāo)的構(gòu)成與背后邏輯。
做判斷
做判斷是指基于業(yè)務(wù)理解以及目標(biāo)拆解對(duì)業(yè)務(wù)需求進(jìn)行判斷,集中兵力投入ROI高的事情上?;氐絻?nèi)容創(chuàng)作者這個(gè)業(yè)務(wù),在0-1的這個(gè)階段我們應(yīng)該重點(diǎn)做啥呢??梢韵葟膭?chuàng)作者的轉(zhuǎn)化路徑來(lái)看,用戶(hù)首次創(chuàng)作內(nèi)容變成創(chuàng)作者,具備發(fā)布優(yōu)質(zhì)內(nèi)容并且持續(xù)發(fā)布變成核心創(chuàng)作者。
在業(yè)務(wù)上打法是降低創(chuàng)作門(mén)檻,讓更多用戶(hù)能夠首次發(fā)布內(nèi)容。增加用戶(hù)激勵(lì),讓更多用戶(hù)有動(dòng)力持續(xù)在閑魚(yú)上發(fā)布內(nèi)容。此外創(chuàng)作者基礎(chǔ)產(chǎn)品基本為零,急需建設(shè)。因此在FY21主要圍繞著這三個(gè)方面建設(shè):
基礎(chǔ)產(chǎn)品建設(shè):
- 前臺(tái)產(chǎn)品:創(chuàng)作者中心(用戶(hù)教育/活動(dòng)引導(dǎo))+我的帖子(內(nèi)容管理/數(shù)據(jù)看板)。
- 管理后臺(tái):提供創(chuàng)作者入駐、管理、管控等能力。
降低門(mén)檻:
- 閑魚(yú)寶貝轉(zhuǎn)內(nèi)容:閑魚(yú)有大量只秀不賣(mài)的寶貝,不具備交易屬性,本質(zhì)上就是內(nèi)容。我們構(gòu)建了一個(gè)用戶(hù)快速將內(nèi)容型商品轉(zhuǎn)化成內(nèi)容的鏈路,減少用戶(hù)的創(chuàng)作成本,整個(gè)思路和閑魚(yú)一開(kāi)始做一鍵轉(zhuǎn)賣(mài)(將淘寶已買(mǎi)到商品轉(zhuǎn)成閑魚(yú)商品)非常類(lèi)似。
用戶(hù)激勵(lì):
- 創(chuàng)作者成長(zhǎng)體系:由于產(chǎn)品還在初期,內(nèi)在激勵(lì)(內(nèi)容供需)尚還不能有效激勵(lì)用戶(hù)創(chuàng)作。因此通過(guò)創(chuàng)作者成長(zhǎng)體系(積分/等級(jí)/權(quán)益)構(gòu)建外在激勵(lì),拉動(dòng)用戶(hù)創(chuàng)作內(nèi)容,增加大盤(pán)供給。
擔(dān)任業(yè)務(wù)線技術(shù)PM讓我有一種CTO的視角去看待內(nèi)容創(chuàng)作者這個(gè)業(yè)務(wù),在以往的工作中我并不會(huì)以這樣全面的方式去思考業(yè)務(wù),讓我有很大的成長(zhǎng)?;氐角岸嗽跇I(yè)務(wù)中的作用,當(dāng)前前端在創(chuàng)作者業(yè)務(wù)推進(jìn)過(guò)程中更多是業(yè)務(wù)支撐,并沒(méi)有產(chǎn)出和業(yè)務(wù)強(qiáng)相關(guān)的技術(shù)沉淀。這是前端同學(xué)的一個(gè)特點(diǎn),善于解通用性問(wèn)題,從定義問(wèn)題到解決問(wèn)題都具有普適性。這一塊希望在FY22有所突破,看得到業(yè)務(wù)中的問(wèn)題,并且能通過(guò)技術(shù)手段有效解決。
二 技術(shù)
FY21在前端相關(guān)技術(shù)上主要做了以下4個(gè)方向的事情,如前面所說(shuō),和其他技術(shù)域有一些交叉,但是本質(zhì)上都是通過(guò)技術(shù)手段解決業(yè)務(wù)問(wèn)題。將其他技術(shù)域的思想引入到前端中,可以拓寬思維,用不同的思路來(lái)解決問(wèn)題。
前端CEP
FY21在前端實(shí)現(xiàn)了一套對(duì)用戶(hù)復(fù)雜行為匹配的規(guī)則引擎,主要應(yīng)用于用戶(hù)增長(zhǎng)場(chǎng)景,在用戶(hù)產(chǎn)生特定行為之后對(duì)用戶(hù)進(jìn)行觸達(dá)干預(yù)。將業(yè)務(wù)流程拆解為三部分,分別是用戶(hù)實(shí)時(shí)行為采集、對(duì)實(shí)時(shí)行為按照規(guī)則復(fù)雜計(jì)算、以前端UI組件進(jìn)行用戶(hù)觸達(dá),對(duì)應(yīng)三個(gè)核心模塊:事件采集、復(fù)雜計(jì)算和用戶(hù)觸達(dá)。針對(duì)上述設(shè)計(jì)目標(biāo),為了實(shí)現(xiàn)觸達(dá)實(shí)時(shí),將對(duì)行為的復(fù)雜計(jì)算放到前端去執(zhí)行;為了實(shí)現(xiàn)策略動(dòng)態(tài),設(shè)計(jì)了一個(gè)服務(wù)端運(yùn)營(yíng)平臺(tái)管理所有策略,采集行為信息、復(fù)雜計(jì)算規(guī)則、觸達(dá)組件信息都從服務(wù)端獲取;為了實(shí)現(xiàn)多容器,將實(shí)時(shí)行為采集和UI組件觸達(dá)進(jìn)行標(biāo)準(zhǔn)設(shè)計(jì),分不同容器環(huán)境實(shí)現(xiàn)。此外由于策略會(huì)存在跨頁(yè)面的場(chǎng)景,底層會(huì)有數(shù)據(jù)同步模塊同步行為數(shù)據(jù)和計(jì)算狀態(tài)。整體架構(gòu)如下圖所示。
Flutter能力拓展
FY21閑魚(yú)社區(qū)前端開(kāi)始嘗試用Flutter進(jìn)行業(yè)務(wù)開(kāi)發(fā),由于Flutter UI編程模型和現(xiàn)代前端比較接近,前端同學(xué)要上手Flutter進(jìn)行UI編程成本沒(méi)有那么高,甚至我認(rèn)為前端同學(xué)對(duì)于UI的還原以及敏感度整體來(lái)講是要比客戶(hù)端同學(xué)更強(qiáng)的。除了Flutter UI編程之外,了解客戶(hù)端研發(fā)模式有一些學(xué)習(xí)成本,F(xiàn)lutter研發(fā)體系和前端研發(fā)體系有很大差別,屬于完全割裂。而從研發(fā)效率上來(lái)講,前端研發(fā)相比還是要快非常多的。目前來(lái)看,我們是多了一個(gè)Flutter這樣的錘子,可以解決一些相關(guān)的業(yè)務(wù)需求,但是未來(lái)如何將Flutter和當(dāng)前前端研發(fā)體系結(jié)合需要更多思考。
中后臺(tái)基礎(chǔ)建設(shè)
FY21閑魚(yú)開(kāi)始做重新內(nèi)容,需要配合建設(shè)大量的運(yùn)營(yíng)后臺(tái)(內(nèi)容審核、內(nèi)容管理、創(chuàng)作者管理、流量策略等),而閑魚(yú)以往因?yàn)橹饕荂2C交易,中后臺(tái)建設(shè)這一塊是比較缺失的,因此發(fā)起了社區(qū)中后臺(tái)前端基礎(chǔ)建設(shè)這個(gè)項(xiàng)目。除了基礎(chǔ)工程化建設(shè)以及一些集團(tuán)能力引入,F(xiàn)Y21我們嘗試構(gòu)建了一套數(shù)據(jù)模型+標(biāo)準(zhǔn)化協(xié)議+一體化搭建的快速生產(chǎn)通用型頁(yè)面的方案,大概流程:指定服務(wù)端數(shù)據(jù)模型 -> 指定頁(yè)面模版 -> 搭建修改UI -> 生成頁(yè)面。
端容器建設(shè)
閑魚(yú)經(jīng)過(guò)多年發(fā)展,技術(shù)體系百花齊放,前端同學(xué)開(kāi)發(fā)使用過(guò)Webview、Weex、小程序等多種容器。一方面前端同學(xué)不清楚各個(gè)容器能力與邊界,容器能力靠老司機(jī)相傳,在面對(duì)復(fù)雜業(yè)務(wù)需求時(shí)無(wú)法做出準(zhǔn)確判斷;另一方面多個(gè)端容器架構(gòu),客戶(hù)端同學(xué)研發(fā)與維護(hù)成本較高,并且存在多個(gè)團(tuán)隊(duì)維護(hù)與更改的情況,容器能力對(duì)于客戶(hù)端同學(xué)來(lái)說(shuō)也是黑盒。因此在FY21S2開(kāi)始推進(jìn)閑魚(yú)端容器能力梳理與體系建設(shè)。FY21在容器選型上達(dá)成了共識(shí),后續(xù)前端動(dòng)態(tài)化場(chǎng)景的業(yè)務(wù)開(kāi)發(fā)會(huì)逐漸收斂到Webview,以及對(duì)目前閑魚(yú)Webview能力以及現(xiàn)狀做了一輪梳理。FY22會(huì)更加聚焦提升Webview極致性能與體驗(yàn),希望能提升整體閑魚(yú)App的用戶(hù)體驗(yàn)。
三 未來(lái)
FY21個(gè)人對(duì)于業(yè)務(wù)思考提升了很多,也取得了不錯(cuò)的業(yè)務(wù)結(jié)果,但是業(yè)務(wù)到技術(shù)的推導(dǎo)還不夠。FY22希望能夠與團(tuán)隊(duì)一起躬身入局,提升業(yè)務(wù)Sense,從業(yè)務(wù)中發(fā)現(xiàn)問(wèn)題,用技術(shù)手段來(lái)解決。