自我介紹
「開發者故事」阿相:入職螞蟻兩年成長感悟
我叫阿相,來自螞蟻集團-保險技術部,網名相學長。在知乎、掘金上偶爾會發發文章,可能有個人同學看過我的一些文章,比如這幾篇:
《寫React Hooks前必讀》
《Vue3響應式系統源碼解析-單測篇》
《你的Tree-Shaking並沒什麼卵用》
我15年從浙工大畢業,加入一家創業公司做全棧開發,後續又經歷丁香園,最終在18年3月來到螞蟻保險。在螞蟻經歷了2年的成長,取得了一定結果,並在今年(2020)獲得了晉升的機會且順利通過。
2年多下來,關於晉升與成長,也有一些感悟,在這裡與大家分享,大致為:三個建議、一個警告與兩個誤區。
三個建議
1、此時此刻、非我莫屬
這是阿里最新的核心價值觀之一,顧名思義很好理解。我自覺地過去2年,我在這點兒做的還可以,如果沒有「此時此刻,非我莫屬」的勇氣,很多事情要麼完成不了,要麼我乾脆就不會有這件事情。更不會有事情帶來的挑戰,以及級解決挑戰帶來的成長。
1.1、勿以事小而不為
很多時候,我們會遇到一些痛點,業務的也好,研發效能的也好。甚至都有了一些小想法,但卻一直沒行動。因為這些點可能比較小,或者說投入產出比不夠大。其實很多事情出發點確實比較小,但可能是一個大體系裡的一個小問題。想到了,立馬去做掉,取得一定結果,再逐漸從這個切入點去探索其他可以繼續建設的事,然後做成體系,可能就成了,我們稱之看大做小,由小及大。
比方說去年我做的保險運營中臺,其實是2.0版。這之前已經維護1年多了,當時產品體驗特別差,被罵了一年多,但一直沒有改?為什麼呢,沒有交互、沒有產品經理,都是後端同學自己用一個上古搭建服務做的。這個問題就一直沒人解,最後我是實在受不了了,自己出來畫交互、寫PRD,帶著幾個兄弟擼前端代碼,最後完成了體驗升級。
你說我們做了什麼大事嗎?其實也沒有,就是換了換膚,稍微提升了運營的體驗。純靠體驗升級,其實也沒太多技術難點,我肯定也無法晉升,這件事甚至在我的晉升PPT中也沒提及。但後續基於新的運營平臺,我們開始嘗試了更多能力的整合,融合了前端組件、營銷搭建等等,最終為運營建設了很多增量能力。
1.2、勇於尋找未知答案
主管可能會給你很多問題,這個問題他自己心裡也沒明確的答案,你問他也沒用。行業內要麼找不到,要麼就是技術背景、業務背景差異太大難以複製。這個時候很多答案需要自己去推導,有了答案也不知道正確不正確,跑到線上才知道。
這個時候很多人都會選擇退縮,即使嘴巴上先答應了,回頭也是啥也沒幹。因為人總是喜歡回到有現成答案的題,根據問題查到答案,然後假裝先自己做一下,做不來再看下參考答案,看下其他大神怎麼做。
但很多事情的答案沒那麼好找的,即使別的部門有看似類似的產品,但業務背景不一樣,技術體系不一樣,基礎設施不一樣,人家最多就是給個答案提示,真正的解還是要自己不斷去探索的。我老闆給我命題基本就沒怎麼給過我答案,兄弟部門的業務情況跟我們也不太一樣。我們去年做的事情基本都是我跟小組同學不斷調研,到處找輸入,最後全組同學不斷腦暴推導出來的。同時,這個過程也能培養我們多元多維的體系化思考能力。
1.3、不斷挖掘業務訴求
有問題再求解,其實還是容易的,程序員最擅長的就是求解,但最怕的就是問題都沒有。業務似乎只會提一些簡單頁面需求,除此之外也沒啥技術挑戰。其實很多時候,業務是有些很需要「技術挑戰」的訴求的,只是他們自己覺得投入產出比低了些,亦或者有時候他們自己也沒意識到,原來他們的需求可以用程序解決。
所以核心是:多與業務對話。關心業務現在痛點,關心業務目前的運營節奏。聊著聊著可能就有了很多新的想法。
當然,大部分時候可能是聊不出東西的。還有一個方式是:數據意識。去年我做了個營銷模板,半年不到上線了300多個頁面,後來我寫了腳本把每個頁面截圖出來看了下。發現其實存在大量相似的頁面,只是不同渠道換一些頭圖而已。因此我們又將閃蝶搭建,融合了保險運營平臺精細化運營能力,實現分渠道、分人群配置搭建的能力。
這樣的需求,業務就從來沒跟我講過,每次都麻煩地創建十幾個相似頁面。如果不多觀察具體的數據情況,那這個訴求就被掩藏了。
2、正向地影響團隊
過去兩年我的成長其實是離不開主管的輸入跟其他同事的幫助的。有些技術事項,命題是老闆給的,事兒是我協同一些人一起做的。為什麼主管跟其他同學信任我,我覺得最關鍵的,是我自己也一直在「正向地影響團隊」。
我們每個人都希望自己的團隊是一個好的團隊,那好的團隊有哪些要素?我覺得有如下幾方面:
上升空間大:每個人都能有向上成長的空間。
技術挑戰多:團隊存在一些技術專項,能讓我們在一些領域深入探索。
團隊氛圍好:大家相處融洽、互相幫助、樂於分享。
但一個團隊不是天生就是有這些好的東西的。如果沒有人持續的去做技術分享,建設技術專項,技術氛圍不會好;如果每個人都死氣沉沉,勾心鬥角,團隊氛圍也不好;如果沒有明顯的人才梯隊跟組織成長機制,上升空間也不大。
所以好的團隊依賴於有好的個體,我理解好的個人需要這幾個素質:
技術好:技術過硬,能獨立解決業務需求。
熱愛分享:愛學習,並經常將自己的經驗分享他人;也願意將自己的快樂分享給他人。
成就他人:樂於幫助他人、輔導團隊,不斤斤計較。
然而沒有一個環境是完美的,也不可能所有人都是完美的。保險我剛入職時,也就10個人出頭,幾乎沒什麼技術專項,清一色P6,沒有鮮明的領頭羊。不完美的環境,必定也會滋生出一些負能量,有的人深深的藏著負能量,有的安安靜靜離開,有的人走的時候突然爆發出來(內網發個大新聞)。
很多事情其實都是具有傳染性的,行為、情緒都具有傳染性,好的壞的都是。所以團隊肯定需要更多正能量、正面行為的人。
我自覺在這些方面做的還可以,經常寫文章、做分享、推React Hooks、組織集體CR、組織團建活動、招聘新人、拉技術專項等等,偶爾也會說說段子,活躍一下氣氛。相信自己一直是在正向地影響團隊的。
每個人性格略有不同,但我相信都有自己的優勢。有的人技術能力特別強,可以多做技術分享,多做提效工具;有的人特別外向開朗、組織力強,可以多組織團隊活動,組織一些學習小組。這些都能正向地影響團隊。
回到我們的個人成長上,「正向地影響團隊」最關鍵地是:幫助我們建設個人團隊影響力,同時獲得主管與集體的認可,在一些技術專項上,可以協同更多人,接受更大挑戰。
3、做好時間管理
阿里的業務前端很大一部分都逃不開一個「忙」字,總覺得時間不夠用。不用懷疑,時間是肯定不夠用的。我也有師弟表達過焦慮:我們要求30%的時間投入技術學習與沉澱,但現實情況是業務需求已經把自己打滿了。
我自己想了想,覺得還是有一些可以緩解的辦法的。
3.1、時間要拉長看
業務前端很容易遇到一整週都在做業務,一點兒沒學習的情況(甚至好幾周),然後就非常焦慮。我覺得也沒必要,時間是要拉長看的,一時的得失而已,回頭補回來就好。之前如果有加班,回頭可以有調休。調休時再花時間學習就好。
3.2、學會拒絕
不過很多人會說,才沒有時間調休呢。其實我覺得不是沒時間調休,是不習慣拒絕。提早1個星期請好假,我相信很少有老闆跟業務方會把你拽回來的。
有的人不願意拒絕,是習慣了需求來了,都能做掉。因為做不掉業務提的需求,總感覺就是自己能力不夠。其實並不是,業務需求排了那麼多,有多少人能全部做完呢?
不過哪些需求可以拒,哪些需求不能拒,自己要有一定的判斷能力,這需要對業務有充分理解,對業務的戰略與打法也要有一些清晰認識。對於業務特別重要,生死攸關的需求,我們還是應該努力支持的。
總之,該認慫的時候還是要認慫,千萬不要一邊不認慫,一邊抱怨。對自己沒任何成長,對團隊也是負面影響。
3.3、先做最重要的事
這點承接學會拒絕,但其實是最關鍵的,事情有了優先級,才知道應該先做什麼,應該拒絕什麼。時間的問題,本質上是優先級的問題,優先級決定了核心產出。業務提的各類需求、老闆提的一些事項、自己的學習計劃、家庭與生活,所有的事情自己內心應該要有優先級,要有價值判斷。經常性的問下自己來阿里是想要什麼。想要成長,那成長的事就是我們的第一優先級。
4、一個警告:別用戰術上的勤奮掩蓋戰略上的懶惰
這句話很多人都聽過,通俗的說就是「用簡單的事情給困難的事情當擋箭牌」。為什麼是警告呢?因為很多時候,我們自己對這個點是沒意識的,或者說「自己把自己騙了」。
怎麼判斷自己已經陷入了「騙自己」的狀態了呢?我覺得可以問自己三個問題。
是不是一直在低水平做事,基本不做深度思考?如果你的事項,基本不需要你做過多思考的,比如切切圖、寫下列表的添刪改查。那麼無論你有多勤勞,其實都是沒卵用的。
忙是不是已經成為了自己經常掛嘴邊的藉口?老闆每次問你一些技術專項進展怎麼樣的時候,如果你一直回最近比較忙。那麼基本你也進入了「騙自己」的狀態。在我剛虛線帶人的時候,我其實是沒怎麼管人的。為什麼呢?因為我一週如果投入半天在管理,大概率可能出不了什麼結果。而我如果一週做需求,肯定是有產出的。所以其實本質是我內心覺得需求簡單,因此去做了需求,藉此來逃避困難的事。
是不是對自己半年內的事情無規劃?仔細想想,自己半年內要做的事情都有哪些?如果很迷茫,還不清晰,說明其實自己是缺乏對自己成長的思考的,就依賴於需求推著自己走,這也是有問題的。(當然,有些人是剛入職的,還在接觸新環境,在landing的狀態,不用過分焦慮)。
人們做事情其實就像一個電路圖,電壓是你的智商,電流是你的時間。產出 = 智商 * 時間。在這個電路中,大部分人都是傾向走電阻小的分支,電阻越小,投入的時間越多,除非你適時地把那條分支的開關給關了。所以很多自制力差的人,乾脆卸載了抖音。
5、兩個誤區
5.1、好績效 !== 能晉升
可能會有同學覺得自己KPI很清晰,老闆也認可,今年幹完績效肯定不錯,到時候就可以提名晉升了。結果發現最後竟然沒提名晉升,然後自己一定要提名,最後的最後可能也是失敗。這裡有個誤區,3.75 並不等於 能晉升。
舉個例子,我是小A,一個P6,支持xxx業務,我的KPI設定分4塊:
業務貢獻:3.75目標是通過一定手段,給業務帶來20%增長;
技術貢獻:3.75目標是通過研發xxx工具,給大家帶來20%研發提效;
團隊貢獻:3.75目標是帶2個師弟,做5次團隊分享,內推2個高級人才;
技術風險:3.75目標是通過一定手段,降低了團隊故障次數。
最終經過一年的努力,我加班加點,一個人頂2個,支持了業務極速增長;抽象了一些sdk跟工具方法,給大家研發減少了15%的工作量;也帶了師弟,做了分享,內推了好多個人;技術風險雖然沒突出貢獻,但全年無故障。最終獲得評價375,對應到KPI也差不多是名副其實。但這樣就能升嗎?不一定的,最終如果沒看到體系化、沒看到領域深度、沒看到部門影響力的話,提名了大概率也是失敗的。
所以在KPI這塊,需要跟主管對齊好預期。千萬不要以為375就代表著可以晉升,它頂多讓你有一個可以自己提名晉升的機會,並不代表自己能有晉升的能力。像我的話,去年S1做了一個閃蝶模板,支撐了大量營銷業務的配置化上線,基本釋放了1-2開發人力。但是我的主管一直跟我說,這樣還不夠,這樣還不夠,沒有體系出來。於是S2又做了很多營銷與運營的中臺能力建設。
5.2、水到渠成 !== 不用規劃
我們一直說「晉升是水到渠成的事」,不過我發現會存在一些人存在誤解。認為「水到渠成」的水是時間。“論資排輩,今年應該到我了吧?”千萬不能有這樣的想法。「水到渠成」的水指的是能力,而不是時間。相反,有些能力可能還會隨時間而「揮發」,尤其是技術能力。5年前,如果精通三大框架、會webpack與打包優化,可能就算是領域專家了。放到現在,可能就屬於基礎技術要求了。有些技術可能會隨時間過時,有的會隨知識的普及而基礎化。
還有的人認為只要不斷地做好手上的事,自然而然就會晉升了」。晉升是一件突破的事,是突破了自我,才是水到渠成。阿里關於前端的JobModel上也可能看出,每一個層級的上升都是有突破的。P6 -> P7,從「獨當一面、輔助團隊」 -> 「領域專家、影響團隊」。這個不一定、且大多數時候不一定是「做好手頭事」就可以的。
那怎麼樣才能晉升?我的觀點是晉升是需要提前規劃的。如果晉升是我的目標,那我就要規劃好這一年半載的路徑,以去達到JobModel上已經拆解好的關鍵能力。然後把這些關鍵路徑與結果體現在自己的KPI中。(也可以不成為公司系統上的KPI,僅僅是自己要求自己的KPI)
比如P7要求體系化、系統性,它要求所做的事需要回答「WHY/HOW/WHAT」。那就需要尋找一個關鍵問題,可以是業務痛點,也可以是研發痛點。然後分析如何解決問題,用什麼樣的技術手段,要協同多少資源,投入產出比如何。別的團隊有沒有遇到相似的問題,策略又是怎麼樣的。最後確定自己該做成什麼樣,最終能取得怎麼樣的技術結果與業務結果。
這些事情是要不斷思考的,中間可能也會不斷地做一些調整,必定是要花去大量的時間。所以它不可能是隨緣而來的,也不是到了晉升季了,再強行把自己的事情往「WHY/HOW/WHAT」上套。
總的來說,還是要儘早明確自己的「晉升目標」,然後審視自己的差距,規劃要達到的路徑,並把這些事項列到自己的KPI中,經常性的review。
文章來源:語雀