我的前端成長之路

編者按:本文通過玉伯授權后發布

注:這是在阿里內部前端大學的一個分享,整理了一份對外的版本,希望分享內容能對你有所幫助。

我的前端成長之路

今天跟大家分享下個人成長和帶團隊的一些感悟。我可能更偏向于寫作型或閱讀型,很少在對外分享中講關于成長的話題。今天嘗試下,希望能對大家有所幫助。

我的前端成長之路

這是我的簡單經歷,2008 年入職淘寶 UED,師兄是佩玉,跟小馬、圓心都在同一個大團隊,很快樂的一段歲月。到 2011 年時,淘寶有一個賽馬機制,我一腔熱血就出去了,搞了幾個月慘敗,就又回到淘寶技術部,到 Java 團隊做前端工程和性能優化。當時一邊寫 Java 代碼一邊寫前端,最終還是更喜歡前端,于是 2012 年轉崗到了支付寶前端技術部。2013 年無線 ALL IN,大量前端面臨選擇,我選擇了夕陽紅的 PC 業務,留下來繼續做 PC 版支付寶。當時很多需求,剛準備歡欣鼓舞去做的時候,會經常被告知項目暫停,不用做了,很難過。好在 2014 年開始,大量中后臺業務需求開始瘋狂增加,特別是金融業務的啟動,中后臺的產品體驗也變得越來越重要。于是 2015 年開始組建 UED,體驗技術部有了第一個正式設計師,隨后逐步往下發展,業務和團隊都越來越好。

整個經歷分三段:一是求學生涯,然后是在淘寶的歲月,以及現在的螞蟻時光。我心里一直覺得自己是個淘寶人,去年在阿里滿 10 年,突然發現自己在螞蟻待的時間比淘寶還長,已經是個螞蟻人了,很神奇。

個人成長的關鍵詞

加入阿里的 11 年里,會不斷回顧自己,特別是在這次接到前端大學的分享邀請后。想這 11 年里,對自己的成長來說,最關鍵的是什么。我自己總結是三個關鍵詞: 全情投入 守正出奇 愿等花開

全情投入

我不斷提醒自己,做任何事情,一定要全情投入。

講個故事,2008 年剛加入淘寶 UED 時,在工位沒待多長時間就進入了閉關室,一進閉關室基本上就沒怎么出來。 從交易二期、三期、四期,一直做到五彩石項目。 回想起來,非常懷念。 入職后的幾年時間里,自己的狀態就是天天寫代碼,很瘋狂,而且很有成就感。 在做交易業務時,我心心念念的,一是想把前輩們寫的不太好的代碼改得更好,二是發現業務很有趣,可以通過代碼對整個淘寶交易流程很熟悉。 記得癲總有時還跑過來問我一些業務細節,真正的細節魔鬼都掌握在寫代碼的人手中。 現在的交易流程中,在退款等頁面,前幾年看還有部分代碼是我寫的。 當時對整個淘寶交易流程超級熟悉,很有驕傲感。 可能正是因為這種瘋狂,2009 年從 P6 跨級提名 P8,沒經過面試就通過了晉升。

還有一個印象深刻的項目是旺旺點燈。 旺旺點燈的代碼并不多,但邏輯有點復雜,比如說很多店鋪的客服小二都叫做沉魚落雁,需要考慮怎么把賬號正確的分發過去。 旺旺點燈也開啟了自己想寫 SeaJS 的欲望。 旺旺點燈第一個要解決的是加載問題,類似阿里媽媽的廣告投放腳本,要想辦法能優雅更新,能處理多版本兼容,能加載更多模塊等等。 旺旺點燈還有個邏輯是通過 URL 來拼接參數,這會帶來一個災難,IE 等瀏覽器對 URL 的最大長度有限制,印象中是不能超過 2083 個字符,超過時就要做拆分。 分批發送請求,發送是異步化的,但在結果返回后,要保證返回的結果能夠按順序正確執行,這東西其實就是 SeaJS 的核心。 在 SeaJS 里,都是批量異步并發請求模塊,然后要保證每一個請求結果返回之后,執行循序可控,要妥善處理好模塊的依賴關系。 很多技術上的想法,都來自業務本身遇到的問題,挺有意思。

KISSY 也是來自業務。 最開始交易線用的是 YUI 類庫 ,用 YUI 的過程中發現它的代碼寫得也一般,很多模塊官方更新比較慢。 當時為了追求極致性能,就很想把 YUI 基礎類庫里不太需要的代碼刪掉,這中間你會發現很多優化點,甚至有比 YUI 更好的代碼實現方式。 模塊組織粒度上,也有更適合交易線業務的最佳實踐,于是就一路把 KISSY 的基礎內核代碼寫了出來。 同時承玉的加入非常給力,讓 KISSY 快速往前發展。

在做淘寶交易線的業務和旺旺點燈的業務時,真的是把整個時間和情感都給投入了進去,天天心心念念的就是業務流程和代碼優化,想盡可能把代碼的可維護性和性能做到極致。 這過程中,SeaJS 和 KISSY 等很多有意思的想法就出現了。 那幾年還做了淘寶首頁、全局吊頂、淘足跡、社區等業務,每個項目都傾注了情感。 有個項目合作過的妹子,在我到支付寶后,還送了一個芝士蛋糕給支付寶的前端芝士分享會,逢人就夸我是合作過的前端里最好的。 當年經常她說一個想法,我第二天就把原型做了出來。 很沉浸很快樂的淘寶時光。

所以我給自己總結的第一個關鍵詞是 全情投入,享受當前業務,想辦法做到極致

在投入過程中 要保持自己的 真實不裝 很多前端都喜歡做類庫,如果真的是真心想做,就大膽去跟 Leader 說。 當時我跟小馬就討論過我想做 KISSY,以及為什么,對業務的好處是什么。 得到小馬等同事的認可后,就有機會開心去做了。 核心前提是要想清楚,做完之后對業務的價值是什么。 在 PC 互聯網時代,2008 到 2012 年都在追求性能優化,當時很大的一個背景是極致的性能優化對 2C 業務有很大價值,于是就有機會去做成。

前不久在團隊會議里,我半開玩笑說, 全情投入也包括全情開小差,全情走神 大家經常參加各種會議,不是很有必要的會議,我是能逃就逃,有些會議逃不掉的,我的做法是做到全情走神,身體在會議室,但人已飄出去,飄出去的腦袋全情投入到另外的重要事情里。

人唯一的財富就是自己的時間,要對自己的時間負責。 最好的時間管理,就是全情投入

守正出奇

大家可能都會讀成守正出奇(qi),但其實并不是,正確讀音是(ji),奇數的奇,02468 是偶數,13579 是奇數,奇數比偶數會多出一點,奇(ji)就是多一點的意思。多一些人力和時間去做更多事情,才能贏取勝利。

守正出奇的典型案例,是韓信的背水一戰。 韓信有三萬多人,要去攻打趙軍二十萬人。 能勝利的很大原因,并不是背水而戰沒有退路,而是韓信在背水之外還有奇(ji)兵,派遣了兩千人半夜去埋伏。 等趙軍以為韓信大部隊背水一戰快要滅亡而傾巢出動后,埋伏的兩千奇兵就從后面殺入趙軍的空營里,快速奪了軍營,讓趙軍大亂而勝。 致敵的關鍵是正合奇勝,不是傻乎乎地把所有士兵都放在水邊去背水一戰。 背水一戰的詳細故事,推薦收聽得到課程《華杉講透孫子兵法》,很精彩。

回到前端領域, 業務為正專業為奇 首先要把業務服務好,要保證客戶第一。

稍微岔開談下什么是客戶第一。 我個人理解,客戶第一就是客戶價值 + 客戶感受。 我們做了一個店鋪,給商家提供各種好用的服務,這是實打實的客戶價值。 但還需關注客戶感受。 所謂客戶感受,很多時候是讓客戶從情感上認可你支持你,并不是簡單把功能做好就行。

對前端來說,我們的客戶既有商家、用戶等最終客戶,也有產品、運營、技術等業務合作上的直接客戶。 對直接客戶,我們習慣稱之為業務方。 前端需要為最終客戶創造客戶價值,同時需要處理好業務方的客戶感受。

前端資源一直很緊缺,與業務方合作時,經常并不缺客戶價值,很容易處不好的是業務方的感受。 每個前端 TL 應該都經歷過業務方找我們要前端,很頭痛。 處理好業務方的感受有很多辦法,說下在螞蟻的一個案例。 螞蟻中后臺一直很缺前端,為了解決這個問題,推廣過全棧開發 直接讓 Java 開發做前端的活,很容易引起 Java 團隊的反感。 當時我們的做法是,不斷找 Java 一些 leader 布道,真實說明前端資源確實不夠的困境,同時坦言說明,我們需要共同解決的問題,并不是前端資源問題,而是如何共同努力把業務給做完做好,希望 Java TL 能進來一起解決。 然后提出全棧方案,我出講師,培養 Java 同學去具備前端開發能力,最最核心的就是大家一起齊心協力去讓業務線的項目研發有辦法做下去。

最終你會發現, 最重要的是如何把業務方一起拉下水,跟你一起去解決問題 只要一起下水了,Java 開發就會開始理解你,他會感受到前端技術原來要比想象中難很多,原來玉伯團隊是很不容易的。 一旦有了這種感覺,你跟他的情感溝通、一些鏈接就建立起來了,他對你的感受就不一樣了,后續有很多合作機會也就會出現。

做好業務項目,服務好業務方,這是以正合,很重要,但還遠遠不夠。 經常跟團隊說的一句話,是業務如果做不好,績效肯定 3.25,但只做好了業務,也很難 3.75 分。 要想拿到 3.75,還需要專業上的沉淀突破,業務為正,專業為奇,需要在服務好業務的同時,還能在專業上有所精進和突破。

專業之所以為“奇”,是因為專業上的投入,需要你和團隊在業務之外,能有人力和時間上的多余投入。 如果一直忙于業務,沒有任何多出來的精力去投入專業上的思考和創新,就會缺少“出奇”,最后很難往下良性發展。 這塊故事大家比較清楚,不多說。 Ant Design、AntV、EggJS 等技術探索和沉淀,是體驗技術部在 2014 年就開始布局的專業投入。 時間真的很難保證,曾半開玩笑說,Ant Design 的全職投入,只有 0.6 個人,因為 Ant Design 所在的基礎技術組,還有大量直接對口的業務,并不是大家想象中那樣有很多全職兵力投入。 可正是因為能擠出這 0.6 個人,慢慢才有更多人力投入,逐步形成了一股奇兵。 專業這塊,需要長時間長期投入,才有可能出奇致勝。

奇和正需要能建立直接關聯, 奇要能幫助到正,這很重要 從業務的視角來看前端價值,無非就兩塊,一是能幫助到業務的研發提效,讓業務能順利研發下去,二是能夠給業務的產品體驗帶來比較大的實打實提升,能帶來業務增值。 專業的奇也要往這兩個方向去做,爭取到自己主管以及業務方的認可和同意。 人心都是肉長的,你在溝通的過程中他會理解你的,他會實打實看到這里面的價值。 然后通過正和奇能相互促進的方向去做,你的團隊就不會只做成業務支持,而是會在守正的過程中,逐步把一些奇給做出來。

守正出奇,也可以用于學習成長領域。 工作為正,學習為奇 在繁忙工作之余,是否有留下一些時間用于學習精進。 我有一個早課習慣,就是每天早上八點到十點之間,留這段固定時間用于學習和思考。 看看閑書,寫寫文字,不給自己在學習量上有任何壓力,但固定這個時間段用于學習思考。 斷斷續續堅持下來,也無法做到每天都如此,但一周里有那么幾天做到,五六年堅持下來,收獲蠻大。 可以讓自己的心很靜,平靜中充盈力量,很享受早課時光。

同樣的,守正出奇也可以用于家庭生活的安排,還有健身。 健身最重要的是固定性習慣的養成,需要每周強迫自己能留出一些固定時間去做到。 我的健身就是俯臥撐,斷斷續續但一直堅持至今,效果還不錯。

愿等花開

這塊想講的, 是長期主義,很多事情都需要定力和耐心 。我歸納得比較文藝一些,叫做“愿等花開”。如果真的很篤定一個方向投入去做的話,一定要學會等待,不能急著去快速催熟。我們在小學時,學了很多很樸實的道理,但真正做到很難,比如說不要揠苗助長。工作中,很容易出現揠苗助長的事情。我會跟團隊一直強調,很多事情要快,但一定不能急。當心里很急的時候,第一快不起來,第二很容易把節奏打亂。

舉一個例子,比如 Ant Design,從 2014 年開始做,真正做到有一點點影響力,已經是 2017 年左右,投入兩三年才會看到一點產出。AntV、EggJS、SFF 等技術都是如此,需要多年的堅持和積累,才會逐步有深度,社區也才慢慢接受,愿意接納并幫助到這些產品的發展。

最近幾年,體驗技術部新做的事,都非常需要定力和耐心。Basement 是螞蟻前端研發平臺,到今年 10 月份是第三個年頭,才初步做成三年前想做的事。今年啟動了基于 Cloud IDE 的 Basement Code 項目,這是至少要做 3-5 年的一件事。愿意長期投入,是因為內心很相信云端研發一定是未來。雖然當下有很多懷疑和反對的聲音,這些聲音需要去聽見,同時更需要的,是從大趨勢上去判斷未來發展方向。如果專業上篤定,就大膽往前,同時小心填坑。

剛才驍勇分享中提到宜搭樂高等低代碼研發平臺,在螞蟻也有類似的平臺叫金蟬和云鳳蝶。云鳳蝶選擇了一條很艱辛的路,立項是 2017 年底,一直到今年 9 月底才把第一個可用版本做出來。中間經過了大量爭吵,一度迷茫,但同時攻克了不少技術難點,也越來越想清楚了云鳳蝶的價值所在和競爭優勢所在。這個團隊有很強的韌勁,經受得住折騰,才有可能等到花開絢爛的那天。

語雀的故事也類似,從 2016 年在內部孵化,2018 年團隊被拆分差點被逼上絕路,到 2019 年活下來并開始正式對外商業化,真的是山窮水盡疑無路、柳暗花明又一村。能不斷堅持往前走的關鍵,是團隊同學們內心深處對語雀未來的相信。語雀的故事還在路上,肯定還會有很多折騰,要保持快速發展,同時一定不能急,一定要愿等花開。

以上是我自己的一些感悟。全情投入需要保持真實不裝,需要全力做好當下,全情投入是對時間的最好善待。守正出奇是我做很多事情的方法策略,要服務好業務,也要有專業上的投入,以正合以奇勝,形成循環良性往前發展。愿等花開需要定力和耐心,需要不斷提醒自己很多事情急不得,要看到更長期的可能,能靜下來。

我的前端成長之路

以上是三個散點式思考,對自己很有幫助。 從 2016 年開始,也在嘗試思考支撐團隊持續往前發展的體系化模型是什么。 最近越想越清楚,嘗試總結為發展的支點杠桿模型。

發展的支點杠桿模型

我的前端成長之路

從 2016 年開始,無論是個人年度規劃還是團隊財年規劃,都會在腦海里浮現出一張圖,我把它總結為“發展的支點杠桿模型”。

尋找到支點

圖的中間是支點,非常重要。 支點是我們選擇做前端或選擇做某一行業的出發點, 是你覺得做什么事情是有成就感的、是有意義的 無論選擇做前端還是后端、做小程序還是中后臺,做任何一個方向我們首先要找到的是這件事情的意義。 擁有這份意義感后,你整個干活的心態是很不一樣的。 2014 年開始做 AntV 數據可視化的時候,我當時跟蕭慶兩個人就是被《The Grammar of Graphics》這本書感染了,是一本英文電子書。 看完之后我發現這個東西如果真的實現的話,會讓整個數據圖表發生很多改變,可以成為 AI 時代的數據圖形表達語法,能完全改變掉 ECharts 等傳統圖表類庫的使用方式。 當時很激動,覺得這件事情非常有價值,于是就立項去做了。 Ant Design 也類似,看清每件事情背后的意義和價值后,就會驅使自己花好幾年時間去做,一定要搞出點東西出來。

往大了說,意義感就是使命。 馬總 20 年前就找到了阿里巴巴的使命,然后堅持 102 年去做,這是超常的人。 回到我們每個個體來說,我們的使命可以小一點,可以縮小到某一段時間內我們工作的意義感。 一段時間內的意義感,就是工作的支點,去找到它,整個人就會處于點燃狀態。 你會眼睛里有光,會有自驅力,早上都不用定鬧鐘了,自己就會醒來。

最近聽梁寧分享,對使命有個非常好玩的解釋: 所謂使命,就是怎么使這條命 怎么使這條命,就是怎么花時間,去盡可能把時間花在有意義感的事情上去。

取舍與投入

找到一個有意義感的支點后,就需要認真去想,在這個支點上,我們的投入是什么,我們的取舍又是什么。 比如圖形語法方向的 AntV 立項后,我們的投入是加班時間,業務支撐已經很累,但還是會充滿激情地利用晚上等各種時間去做。 當時也有一個很大的取舍,把原來積累的 ACharts 類庫放棄了往前發展。

取舍與投入,對個人而言是一段時間內的工作策略,對團隊而言就是以年為單位的戰略。 戰略這個詞看起來很高大上, 實際上也很小,就是團隊的取舍是什么,團隊的投入又是什么

有了投入與取舍,經過一段時間,就能拿到一些業績,達到一些結果。 在這過程中,需要不斷去看杠桿怎么撬動,要階段性地去分析杠桿的選擇是否正確,究竟自己和團隊適不適合去做,在不斷反思中調試杠桿。 如果杠桿是成立的,想去的方向跟目標也是篤定的,那就加大投入去做。

當把這個模型想清楚后,會發現工作時的一些糾結迷茫,比如績效晉升等事情,就很簡單了。 關鍵因素是能不能找到支點,能否通過投入取舍撬動杠桿,去到想要的方向,拿到想要的結果。 績效和晉升,在杠桿的撬動過程中,是水到渠成的。 我后來到 P9 和 P10 的兩次晉升,心里偶爾也有擔心,但長期心態是沒怎么著急,比較清楚自己在做成什么事情后,就有機會晉升。 放下一些東西, 專注于事情,內心有相信,行動有堅持,成長往往是水到渠成的

心態與能力

再往下看,支撐整個支點的,是你的心態。 心很亂時,效率是很低的,心態不穩會浪費大把時間。 如何讓自己的心態平靜,如何保持學習狀態,我覺得非常關鍵。 團隊里新加入的 90 后,能明顯感覺到年輕人的好學和無所畏懼,盡情地在瘋狂寫代碼,這種狀態很好,仿若 2008 年剛加入淘寶 UED 時的自己。 我現在有一個心念,就是想去打造一個團隊,讓團隊里的同學, 能始終保持剛入職時的熱情,能始終保持良好的學習心態 ,能盡情享受寫代碼,隨著時間流逝,也不會因為其他東西而減少熱情。

有了好的心態,再通過項目實戰、學習培訓等方式就能快速提升能力。 光有好的心態,能力提升不上去是不行的,時間一長,就容易變成老白兔。 心態不好,能力很強,也走不長遠,這是野狗。 要想辦法讓自己在心態和能力上達到平衡,讓好的心態促進學習欲望和專業能力提升,同時能力得到不斷提升,也可以讓心態更好,形成循環良性發展。

心態的背后是價值觀。 你崇尚什么樣的價值觀,積極的儒家,還是比較佛系,這些為人處事的底色,會決定你在遇到很多事情時的心態。 這個話題比較大,有興趣可以線下聊。

有時會覺得,公司給予我們最大的財富,就是默默地讓我們長在了六脈神劍、阿里土話等文化土壤中。 價值觀就像土壤中的養分一樣,默默地讓一棵棵樹長大,讓大家能海闊天空式地枝繁葉茂。

寫在最后

支點杠桿模型,也很容易用在團隊的發展規劃上,今天特別想說說團隊發展三大策略里的“ 大舍大拿 ”。

2014 年做 Ant Design 時,我們考慮過不叫 Ant Design,考慮過取一個中性的名字,這樣后續就有機會在做大后覆蓋阿里集團,因為不帶 Ant 字樣的中性名字,可以減少一些推廣阻力,這是當時的想法。 但是后來我們選擇不,決定就叫 Ant Design,就要帶上螞蟻的特色,從誕生之初到現在,Ant Design 就是要服務好螞蟻的業務。 名字的取舍,看起來是舍掉了很大的市場,實際上我們到目前為止一點也不后悔。

實打實地去把你直接支撐的業務服務好,就已經是非常有價值了 聚焦業務去做技術,技術會更有生命力。 業務是技術的土壤,不同的業務會長出不同的技術。 曾經小程序 IDE 團隊在體驗技術部,但我們判斷小程序技術在支付寶事業部去做會更合適,于是就把小程序 IDE 團隊輸送給了支付寶團隊。 做事不要求多,不適合在自己團隊發展的技術,想清楚后,可以果斷輸送到更合適的團隊里去。

在做了“大舍”之后,往往對自己團隊也是一種解脫,可以更聚焦去做“大拿”的事情。 很多技術領域水很深,不是隨便投入幾個人做幾個月就能做好的。 特別有意思的是,因為大舍之后的聚焦,反而更有機會真正去做成世界一流的產品。 Ant Design 堅持服務好螞蟻的業務,不怎么理會集團的需求,反而讓 Ant Design 能心無旁騖地去做好技術細節,比集團同類產品做得更優秀。 漸漸很多 BU 都開始使用,并且隨著開源,在國內被大量公司使用。 重要的是產品的優秀度,而不是一開始的技術占坑。

語雀的故事也類似,集團各 BU 對語雀的個性化需求一直非常多。 語雀在功能上的取舍,經常會涉及大舍大拿的決策。 決定一個產品靈魂的,往往不是選擇做什么,而是選擇不做什么 選擇不做什么,需要抵擋住大量誘惑,但在抵擋過程中,因為人力和時間都有限,可以逼你去真正想清楚產品的差異化競爭優勢在哪,從而逐步形成產品的獨特之處,開始有產品的靈魂。

以上所有分享,核心是幾個問題。 如何找到支點,如何取舍平衡,如何做到全情投入,如何在事情上守正出奇,如何提升自己和團隊的能力,如何在心態上愿等花開,這些是我不斷問自己和問團隊的幾個問題。 努力去思考,嘗試去回答,通過實際項目去做到“ 事上練 ”,我相信個人成長和團隊發展就會自然而然水到渠成。

以上是我的所有分享,比較啰嗦,很抱歉。 希望能對你有所幫助,任何想法疑問,歡迎提問交流。

螞蟻金服

玉伯

原文 

https://mp.weixin.qq.com/s/3ORJ6AArKKCqvseV163Upg

本站部分文章源于互聯網,本著傳播知識、有益學習和研究的目的進行的轉載,為網友免費提供。如有著作權人或出版方提出異議,本站將立即刪除。如果您對文章轉載有任何疑問請告之我們,以便我們及時糾正。

PS:推薦一個微信公眾號: askHarries 或者qq群:474807195,里面會分享一些資深架構師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發、高性能、分布式、微服務架構的原理,JVM性能優化這些成為架構師必備的知識體系。還能領取免費的學習資源,目前受益良多

轉載請注明原文出處:Harries Blog? » 我的前端成長之路

贊 (0)
分享到:更多 ()

評論 1

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
  1. 頭條文章不錯支持一下吧回復
2013平特肖公式