技術(shù)人的靈魂3問,阿里工程師如何解答?
在業(yè)務(wù)團(tuán)隊(duì)做事的工程師摸爬滾打了一段時(shí)間后,一定會有所疑問。團(tuán)隊(duì)同學(xué)在最初的一段時(shí)間都提出這樣的疑惑:如何在業(yè)務(wù)中發(fā)現(xiàn)有技術(shù)價(jià)值的問題?發(fā)現(xiàn)問題后如何思考和發(fā)起再到解決?最后的技術(shù)結(jié)果跟業(yè)務(wù)結(jié)果如何銜接?很多時(shí)候我們聽別人說“思考是不夠的/要多思考”,其實(shí)都是在說這幾點(diǎn)。接下來,阿里高級前端技術(shù)專家氐宿談一談遇到這三個問題時(shí),他是如何解決的?
如何在業(yè)務(wù)中發(fā)現(xiàn)有技術(shù)價(jià)值的問題?
一位科學(xué)家一生可用于研究的時(shí)間極其有限,然而,世界上的研究主題卻多得數(shù)不清。如果只因?yàn)樯晕⒂X得有趣就選為研究主題,將在還沒來得及做真正重要的事時(shí),一生就結(jié)束了。——利根川進(jìn)
其實(shí)要解答這個問題之前,我們要理解一個概念,什么是有價(jià)值的問題?議題度高和解答質(zhì)高的問題我理解就是有價(jià)值的問題,比較通俗的理解就是這個問題是否存在,當(dāng)前要解決這個問題的必要性夠不夠,問題對應(yīng)的解決方案可行性高不高。如果要在業(yè)務(wù)里發(fā)現(xiàn)這種問題,首先要理解業(yè)務(wù)戰(zhàn)略、打法和定位。那如何才能把這個前置信息做好,對工程師來說是一個比較大的挑戰(zhàn)。
首先工程師其實(shí)大多數(shù)都是從事一線開發(fā),對業(yè)務(wù)理解可能僅限于自己在做的事情。很多信息都是別人過濾了五六手之后的信息,得到的可能就是一個任務(wù)和為什么做這個任務(wù)。相對比之下肯定不如制定戰(zhàn)略的人懂得戰(zhàn)略背后的意義,信息也是不對等的。所以首先我們要收集信息,然后整理歸納,最后分析問題。
先來說說收集信息
其實(shí)有點(diǎn)像信息科學(xué)里的情報(bào)學(xué)。收集信息最好的方式就是參加所處業(yè)務(wù)老大的KO會,各種KO會會把戰(zhàn)略上的拆解和背后的思考整體梳理之后宣講傳達(dá)給BU或部門的同學(xué),雖然我們沒有親身參與到腦暴過程,但是也會對背后的思考有一定的理解,切記,一定要記得劃重點(diǎn)記筆記。
獲取第一手信息之后,我們要經(jīng)過簡單梳理開始收集外部信息,整理整體的知識脈絡(luò),這里我經(jīng)常用的就是阿里學(xué)習(xí)(業(yè)務(wù)寶庫阿里學(xué)習(xí),技術(shù)寶庫ATA,注:阿里內(nèi)部兩個學(xué)習(xí)平臺),可以獲取不少業(yè)務(wù)相關(guān)的分享,當(dāng)然很多外部渠道也同樣可以收集到。比如這段資料[1]就是外部收集到的,可以得出幾個關(guān)鍵詞,數(shù)字技術(shù)賦能旅行行業(yè)、我們不是OTA,這些都要整理到自己收集的信息池里。當(dāng)然以上我提到的都是信息獲取源的一種。具體收集信息的釋義可以查一下百科[2],可以按照百科上的方法論學(xué)習(xí)一遍,以便找到適合自己的方法??傊@里我們要像產(chǎn)品經(jīng)理一樣去收集這些信息[3]。這里也鼓勵跟不同領(lǐng)域不同BU的同學(xué)多交流,不限于線下扯淡式的交流和線上問問題的方式(這里建議先看下知乎里這個回答關(guān)于學(xué)會問問題[4] 以及 如何進(jìn)行有效社交[5])。
分析問題
我們通過不同信息源獲取到的信息是散落的,如何經(jīng)過加工融入自己的思考體系呢?首先信息不能是簡單的堆疊,我們要通過不同的入口理出頭緒??梢允褂肕ECE法則進(jìn)行思考拆解,通過無遺漏無重復(fù)地分類來把握整體,列出腦圖和邏輯樹,最后將邏輯樹的信息匹配需求場景,可以嘗試通過C端和B端不同入口去還原需求場景。這中間可以結(jié)合一定的方法論(演繹推理和歸納推理),去把問題和挑戰(zhàn)細(xì)化出來,幫助我們理解BU的戰(zhàn)略,同時(shí)我們也能從自身出發(fā)把戰(zhàn)略拆解到對應(yīng)的項(xiàng)目。舉例來說去年我個人分析飛豬在整個C端面臨的主要問題之一還是流量格局過于單一,B端供應(yīng)鏈的成熟度不夠?qū)е聼o法給到商家更實(shí)質(zhì)的體驗(yàn)服務(wù),飛豬的類目交叉不夠背后是各垂直業(yè)務(wù)存在業(yè)務(wù)隔離。
發(fā)現(xiàn)問題到執(zhí)行該如何銜接
拿到這三個問題我們不能馬上就開干,我們還要提煉這個問題帶來的核心價(jià)值。否則很容易就會出現(xiàn)投入了巨大工作之后,最后的技術(shù)產(chǎn)出和業(yè)務(wù)結(jié)果銜接不上,所以說思考不要用蠻力,工作不只靠體力。要去看里面跟自己角色相關(guān)的工作在什么地方?以端側(cè)來說,有優(yōu)勢的一點(diǎn)是靠近產(chǎn)品側(cè)靠近用戶側(cè),所以基本展現(xiàn)模式都可以通過產(chǎn)品原型進(jìn)行抽象,形成體系化。以流量體系建設(shè)舉例我們要對用戶進(jìn)行分層,比較合理的方式可以用到幾個經(jīng)典模型RFM、AIPL、AARRR及其變種,以便沉淀出承接的技術(shù)平臺或產(chǎn)品。如流量體系建設(shè)我們在思考分層過后,把用戶按心智劃分之后,又從所屬域分為散落在阿里域外的用戶和阿里域內(nèi)的內(nèi)部用戶,從而針對性的設(shè)計(jì)出兩個平臺產(chǎn)品。
見龍?jiān)谔?,利見大?/strong>
作為項(xiàng)目發(fā)起者,我們要關(guān)注每一個環(huán)節(jié)。所以首先我們要找到對應(yīng)的業(yè)務(wù)方去“售賣”我們的思考。要找到目標(biāo)一致的人一起做事,這里首先需要知道的是你要清楚你的業(yè)務(wù)方都是誰?他們都負(fù)責(zé)什么?我的方法比較簡單,直接看運(yùn)營在職能上的劃分,要清楚自己對的人負(fù)責(zé)的方向以及他所負(fù)責(zé)的KPI。另外切記,一定要和對口PD一起去找,通常來說最直接的合作方是能幫你處理業(yè)務(wù)和技術(shù)銜接的那個人。
上下游的人都找到后,要開始準(zhǔn)備KO,理出需求排出優(yōu)先級。因?yàn)樵谫Y源有限的情況下,我們究竟該先做哪些?不重要的要放在后面去做,優(yōu)先考慮你產(chǎn)品最核心的功能。通常平臺產(chǎn)品最優(yōu)先的是運(yùn)營使用的功能,所以要跟合作方確認(rèn)哪些功能他們認(rèn)為最重要。
站在巨人的肩膀上做創(chuàng)新
阿里巴巴已經(jīng)非常大了,我們相信每一個想法都會有人想過,所以盡量不要走重復(fù)的路踩同一個坑,同理小公司利用開源技術(shù)亦是如此。那么在項(xiàng)目開始做的時(shí)候,如果是平臺,我們需要先拆出核心功能,這個核心功能要去看集團(tuán)是否已經(jīng)有人在做了或是有成熟方案,避免重復(fù)造輪子,同時(shí)也能最快最直接的解決你最緊急核心的問題。這其中最簡單直接方法就是搜索ATA(阿里內(nèi)部技術(shù)論壇)和語雀(內(nèi)部同學(xué)通常有知識記錄的習(xí)慣),拆關(guān)鍵詞找到做事情的關(guān)鍵人。你要相信你絕不是第一個想到該問題的人,一些通用問題一定在集團(tuán)內(nèi)已經(jīng)有通用的服務(wù)提供出來,即使沒有也會有比較成熟的方案。
如果集團(tuán)內(nèi)部就是沒有成型方案,這個方向也屬于工業(yè)界比較前沿的領(lǐng)域。遇到類似這種問題,可以先看看是否有繞開的可能性,如果確實(shí)繞不開可以試試找到適合解決該問題的基礎(chǔ)團(tuán)隊(duì)一起合作和共建。外部是否有付費(fèi)方案可以購買和借鑒,總之要保障業(yè)務(wù)先贏。因?yàn)闃I(yè)務(wù)工程師要思考的是你給業(yè)務(wù)能帶來怎樣的價(jià)值,你的核心價(jià)值不是處理非常復(fù)雜的技術(shù)問題,而是用你的技術(shù)能給業(yè)務(wù)帶來怎樣的價(jià)值增量。同樣的利用某種技術(shù)或模型模式解決了非常復(fù)雜的業(yè)務(wù)問題,并且是具有普適價(jià)值的技術(shù),這也是業(yè)務(wù)端工程師帶給業(yè)務(wù)帶來的價(jià)值。
立足當(dāng)下,放眼未來
知幾,其神乎!
要看當(dāng)下更要看未來,不光技術(shù)要看未來,行業(yè)也要看未來。站在當(dāng)下思考能解決業(yè)務(wù)目前遇到的最大的問題,思考未來能為業(yè)務(wù)帶來彎道超車的機(jī)會。比如飛豬如果在行業(yè)里要追趕同行業(yè)的競品,在資源投入方面沒辦法跟對方的體量比較的情況下,我們做到最后,最好的結(jié)果可能也只是追平對手。所以我們亟須找到未來行業(yè)爭勝的關(guān)鍵按鈕,把時(shí)間和精力聚焦在關(guān)鍵節(jié)點(diǎn),用全球Fun戰(zhàn)略突圍。所以飛豬也要為國際化做好準(zhǔn)備,這個領(lǐng)域里同樣有前人探尋的技術(shù)經(jīng)驗(yàn)供我們借鑒。所以為了讓我們能更聚焦業(yè)務(wù),可以說去年的平臺化是為業(yè)務(wù)做了非常好的鋪墊。
最后的技術(shù)結(jié)果跟業(yè)務(wù)結(jié)果如何銜接
其實(shí)這個小標(biāo)題有點(diǎn)偽命題的意思,如果一開始我們就把業(yè)務(wù)理解的很清楚,執(zhí)行沒有偏離航道比較專注目標(biāo)的話,不大可能會出現(xiàn)拿不到業(yè)務(wù)結(jié)果的情況,最后只剩下一個問題:拿到業(yè)務(wù)結(jié)果的同時(shí)技術(shù)價(jià)值如何體現(xiàn)?
從我自身出發(fā),也常常有同學(xué)問我,在業(yè)務(wù)做開發(fā),重復(fù)造輪子會被人挑戰(zhàn),但事情都有人干了我們的價(jià)值在哪?我之前一直都會回答,“搞基礎(chǔ)技術(shù)的團(tuán)隊(duì)一直在基礎(chǔ)工程/技術(shù)領(lǐng)域深耕,他們也需要關(guān)注從技術(shù)價(jià)值到業(yè)務(wù)價(jià)值的轉(zhuǎn)變和銜接,本質(zhì)上缺少業(yè)務(wù)場景,如果我們與他們合作就形成了互補(bǔ),既拿到了業(yè)務(wù)結(jié)果同時(shí)也能從自身技術(shù)成長上得到一定歷練”。
但之后我回想這段對話,是有很多問題在里面的。從業(yè)務(wù)工程師角度出發(fā),我們要關(guān)注的核心就是保障業(yè)務(wù)先贏,如果沒有達(dá)到這個目標(biāo)就容易變成工程師自嗨。所以我們在業(yè)務(wù)端需要的是有技術(shù)視野能看到集團(tuán)其他團(tuán)隊(duì)或者外部團(tuán)隊(duì)在做的事,能主動交流讓這件事變成共贏,如果沒有其他人在搞,我們?nèi)ジ阋腥苏境鰜砜催@個投入產(chǎn)出比是否合理?也就是我們在開篇說的議題度和解答質(zhì)都高的有價(jià)值的問題。這個問題在集團(tuán)其他團(tuán)隊(duì)是否存在共性,我們解決了能否為他們帶來價(jià)值?當(dāng)然結(jié)合我們在前面講到的在業(yè)務(wù)中發(fā)現(xiàn)有技術(shù)價(jià)值的問題,其實(shí)這里就有一個比較明確的答案,重中之重就是做之前把Why思考的清楚清晰,做最正確的事。只有做到這點(diǎn),解決這個問題帶來的業(yè)務(wù)價(jià)值就自然而然非常清晰的定位出來。所以說最好的工程師必須要懂產(chǎn)品。
也寫給未來
小聊一下題外話,組里有同學(xué)會問我業(yè)務(wù)前端未來是否會被淘汰?因?yàn)槲覀冊谧龅膌owcode/nocode是在革自己的命。其實(shí)產(chǎn)生這種想法首先就是沒有站在集團(tuán)未來發(fā)展的角度去思考也就是常說的屁股太小,其次是沒有站在整個前端領(lǐng)域去回顧前端發(fā)展歷程導(dǎo)致的悲觀和擔(dān)憂。
從目前在做的方向上來說,還是要思考如何解決低質(zhì)量代碼建設(shè)和低效的重復(fù)工作占用工程師大部分精力,將工程師的能量解放出來提升集團(tuán)整體的研發(fā)效能。另一層面從前端以往在系統(tǒng)分層里的位置一直都屬于應(yīng)用層,就是最上層的表象/展現(xiàn)/渲染,應(yīng)用層在過去幾十年間經(jīng)過了不斷的變化和演進(jìn),職業(yè)也從最早的GUI工程師演進(jìn)到之后的web前端/客戶端研發(fā)工程師,這中間也經(jīng)歷過flash工程師的時(shí)代,在此期間應(yīng)用層/展現(xiàn)層一直都在變化,所以前端同學(xué)總覺得狀態(tài)是一直在學(xué)習(xí)新知識。但這個發(fā)展歷程其實(shí)是有規(guī)律可循的,所謂萬變不離其宗,應(yīng)用層雖然在不斷變化但無非都是朝著兩個大方向在發(fā)展,一個是工程效率提升(工程角度出發(fā)),一個是圖形圖像研究(用戶角度出發(fā))。這兩個大方向上目前也有非常復(fù)雜龐大的樹狀知識體系,并且還在不斷延伸。同時(shí)隨著機(jī)器學(xué)習(xí)領(lǐng)域的興起和硬件性能、網(wǎng)絡(luò)帶寬的提升以及人們在視覺呈現(xiàn)設(shè)備上的升級,帶來的可能又是新一輪的技術(shù)洗牌,然后在兩個方向上再來一次。所以從這個視角出發(fā)未來前端是不會消亡的可能只是會換一種形式存在,但是不學(xué)習(xí)的工程師是會消亡的。
最后
最后我想說的是來到一個新業(yè)務(wù)不要著急的去拿這兩個結(jié)果(業(yè)務(wù)和技術(shù)),所謂“潛龍勿用”。要先去看業(yè)務(wù)在集團(tuán)所處的位置,怎么和其他業(yè)務(wù)產(chǎn)生關(guān)聯(lián)的,要去收集信息和問題,帶著問題深入去做事情,通過跟其他人的信息交流補(bǔ)全業(yè)務(wù)痛點(diǎn)。先收集問題,邊做邊思考,先沉下心做業(yè)務(wù)項(xiàng)目。要有導(dǎo)彈型思維,就是不管三七二十一,先干起來再說。在行動中實(shí)現(xiàn)智能導(dǎo)航,鎖定并跟蹤目標(biāo),根據(jù)實(shí)際情況修正自身路徑,直至擊中目標(biāo)。
其實(shí)寫了比較多,也是對我做事情的方法論做了一遍梳理和總結(jié),也是說最好不要讓業(yè)務(wù)推著你走,而是最終要做到你帶著業(yè)務(wù)走。這個“帶”可能最初是理解業(yè)務(wù)打法之后的一種業(yè)務(wù)朝著你理解的方向去走的體感,但經(jīng)過長期訓(xùn)練,這部分其實(shí)可以做實(shí),最后真的是你通過技術(shù)創(chuàng)新引領(lǐng)行業(yè)變革最后驅(qū)動業(yè)務(wù)向前推進(jìn)。當(dāng)然這些是我來阿里三年的體會,雖然在來之前也已經(jīng)工作了七八年,但在阿里成長的速度遠(yuǎn)遠(yuǎn)超過之前的成長,并且也才剛剛?cè)赀€是個“新人”,所以在這里也給自己個寄語,希望五年、十年之后我的思考又會升華到一個層次。同時(shí)也歡迎大家拍磚/評論, 原來我都是戰(zhàn)戰(zhàn)兢兢發(fā)文跟大家說輕拍,需要鼓勵,但之后也是發(fā)現(xiàn)鼓勵是最不容易發(fā)現(xiàn)問題,這會導(dǎo)致發(fā)現(xiàn)不了自身思考上的盲點(diǎn)和盲區(qū),缺少成長路上的經(jīng)驗(yàn)值,所以這里鼓勵大家一起多交流。
最后的最后也給大家推薦相關(guān)的幾本書,可能會對大家在上面幾處沒有展開來講的去更詳細(xì)的學(xué)習(xí),希望有所幫助:《金字塔原理》、《麥肯錫教我的思考武器》、《思考,快與慢》、《影響力》、《自控力》、《敏捷性開發(fā)》。
PS:飛豬用戶技術(shù)部招P7-P8前端、客戶端、Java無線服務(wù)端,base杭州,歡迎來撩。部門漂亮的單身妹子眾多,優(yōu)秀前端請聯(lián)系 kuilin.qkl@alibaba-inc.com
參考資料:
[1]《飛豬“新旅行聯(lián)盟”賦能商家能講出什么新故事?》
http://www.sohu.com/a/260195063_100188883
[2]https://baike.baidu.com/item/信息收集/4012739
[3]《如何高效地獲取、收集和整理信息》http://www.woshipm.com/pmd/70847.html
[4]《成為聰明人的第一步,是學(xué)會「問對問題」》https://zhuanlan.zhihu.com/p/32635275
[5]《如何區(qū)分有效社交與無效社交?》https://www.zhihu.com/question/26941188/answer/520152258