這里是Z哥的個人公眾號
每周五11:45 按時送達(dá)
當(dāng)然了,也會時不時加個餐~
我的第「190」篇原創(chuàng)敬上
大家好,我是Z哥。是不是還沒從5天的小長假里緩過來?沒事,今天我們聊點(diǎn)輕松的,不費(fèi)腦。之前很少分享我自己的成長經(jīng)歷,今天恰好心血來潮來分享一下,也正好能讓最近剛關(guān)注我的新朋友更快地了解我。很多人誤以為我在阿里工作,其實(shí)并沒有。我從畢業(yè)之后就在上海的一家不知名的電商公司做,從最初的實(shí)習(xí)生,一步一步做到目前的技術(shù)部負(fù)責(zé)人。整個過程中經(jīng)歷了幾個質(zhì)變階段,我想,在發(fā)生這些質(zhì)變的時候我當(dāng)時正在做什么,應(yīng)該對年輕的后輩們有一點(diǎn)參考價值。回顧這九年,我可以將我的職業(yè)發(fā)展經(jīng)歷分為四個階段。每個階段描述的末尾我會總結(jié)核心關(guān)鍵詞,送給正在路上的你一些參考。2012年2月,進(jìn)入到公司實(shí)習(xí)。說來也巧,當(dāng)時的面試官之所以讓我進(jìn)來實(shí)習(xí),竟然是因?yàn)樵诿嬖嚨臅r候,我答對了幾道正則表達(dá)式相關(guān)的題目。否則單憑最開始問的那些問題,估計這事就黃了。而當(dāng)時之所以有學(xué)習(xí)過正則表達(dá)式,是因?yàn)槲耶?dāng)時幫著兩位大學(xué)同寢室的同學(xué)做了兩個畢業(yè)設(shè)計,其中一個項(xiàng)目有涉及到賬戶注冊。為了讓項(xiàng)目顯得高端大氣一些,所以當(dāng)時折騰了一下正則表達(dá)式,弄個密碼強(qiáng)度驗(yàn)證,哈哈。(當(dāng)時是根據(jù)一份 13頁的pdf 電子書學(xué)的正則表達(dá)式,事后才覺得那份真是短小精悍,精華啊)進(jìn)入工作后的一年多時間,沒什么大事件發(fā)生,先是和另一位新員工一起做了一個內(nèi)部用的新項(xiàng)目。這個項(xiàng)目其實(shí)只有一個雛形,后續(xù)是我們倆一起完善的。做這個不太被重視的項(xiàng)目看似低價值,不太能出“業(yè)績”,實(shí)則是一個很好的展現(xiàn)自己在業(yè)務(wù)層面的想法和思路的機(jī)會。因?yàn)樗鼪]有專門的產(chǎn)品經(jīng)理負(fù)責(zé),完全是我們倆在發(fā)揮我們的想法,與 Leader 們討論。在我們平時那種組織架構(gòu)完整的,按部就班的項(xiàng)目迭代過程中,這樣的機(jī)會反而比較少,特別是如果我作為一個新人,話語權(quán)就更小了。大約大半年之后開始參與到了當(dāng)時公司最核心的項(xiàng)目,自營 B2C 商城的日常開發(fā)中。我這個人有點(diǎn)完美主義傾向,所以在這個期間幾乎沒有遺留未修復(fù)的bug到第二天,除非是那種明顯超出我當(dāng)日完成修復(fù)能力的 Bug ,這種情況很少。另外這個時候年輕啊,精力旺盛,外加沒啥讓自己分心的事物,下班到家就開始學(xué)習(xí),寫博客(那會我都發(fā)在我的 QQ 空間里),幾乎天天寫,每天差不多都搗騰到23:30之后。后來無意間被我們當(dāng)時的部門負(fù)責(zé)人看到了,還在公司里夸獎了我一番。這個時期的核心關(guān)鍵詞:敬業(yè)、好學(xué)。可能是因?yàn)槲业谝欢螘r期看上去比較勤奮吧,大約又過了大半年的時間,到2013年下半年,部門負(fù)責(zé)人提拔我做 B2C 商城團(tuán)隊的 Leader。我當(dāng)時是心里慌慌的,因?yàn)槲沂且源嬖?Leader 的名義上位的,所以我的上位就是他的離職,第一次這么近地感受到職場的殘酷。原本我做的開發(fā)工作幾乎都是后端,此時接手的整個 B2C 商城團(tuán)隊,包括前端部分,頓時壓力山大。還好有當(dāng)時做3個畢業(yè)設(shè)計項(xiàng)目時掌握的一些三腳貓的前端知識,不至于完全是個門外漢。這個時期可以說是我在公司打響自己招牌的最重要的階段,沒有之一。因?yàn)檫@個時期恰好也是公司的快速成長期。如果說公司初創(chuàng)是0-1,在市場站穩(wěn)腳跟是1-10的話,這個時期就是10-1000的時候。此時,隨著公司的發(fā)展,不但業(yè)務(wù)體量增加了,業(yè)務(wù)線也多了,因此也帶動了系統(tǒng)規(guī)模和復(fù)雜度的快速增加。與此同時,開始出現(xiàn)一些以前不會出現(xiàn)的系統(tǒng)卡慢、CPU 100%、內(nèi)存耗用異常地高、宕機(jī)等等問題。而且此時,OMS、ERP 等后端項(xiàng)目是重災(zāi)區(qū),畢竟 B2C 商城一直以來是對外的項(xiàng)目,對項(xiàng)目質(zhì)量的把控更加嚴(yán)格。(我在B2C商城項(xiàng)目中也學(xué)習(xí)到了不少經(jīng)過精心設(shè)計的代碼。)在這個“多災(zāi)多難”的時期,起初所有人遇到性能和穩(wěn)定性相關(guān)的問題幾乎都是重啟程序,最多看一看 CPU 和內(nèi)存的使用是否異常。而且就算出現(xiàn)異常,如果在最近提交的代碼中靠肉眼沒看出問題,這事也就止步于此了,不會繼續(xù)刨根問底。假如這些問題一直不在我負(fù)責(zé)的項(xiàng)目里出現(xiàn),我后續(xù)的發(fā)展會怎樣還不好說。但是后來有一次 B2C 商城的 CPU 跑得很高。我硬著頭皮憑著2年多的經(jīng)驗(yàn),嘗試通過分析 dump 文件來排查問題。我之所以知道有這個方式是因?yàn)橹案曨l自學(xué)編程的時候,視頻里的講師說這是至少有5年工作經(jīng)驗(yàn)之后才能玩得轉(zhuǎn)的東西,所以我一直以為這么高端的東西離我還很遠(yuǎn),但是當(dāng)問題擺在你眼前,并且束手無策的時候,也只能硬著頭皮試試看了。有幸的是,最后我根據(jù)網(wǎng)上搜尋到的資料,通過分析 dump 文件定位到了問題根源,而且我發(fā)現(xiàn)常用的指令就那十幾個,在對這些指令熟悉之后定位問題非常快,基本上分分鐘就能定位到問題的根源。此時的我好像掉進(jìn)山谷的張無忌學(xué)會了乾坤大挪移,我開始主動幫助其他項(xiàng)目組來定位線上的性能問題。看似幫助其他組好像對我沒什么好處,但是在這個期間我分析 dump 的能力在不斷提高,并且漸漸地讓自己在整個技術(shù)部的影響力得到了增強(qiáng)。況且,整體上大家都在同一個公司,只有公司業(yè)務(wù)整體上發(fā)展好了,我們才能有更好的薪資待遇不是么。慢慢地,其他人開始將我視為公司里技術(shù)最好的人。(打造自己的影響力其實(shí)很簡單,去解決別人解決不了的問題就行)很多人認(rèn)為有了影響力是好事,自己的地位高了,還不好?但我想告訴你的是,同時也會有更多你“本職工作”之外的事情來找你,甚至導(dǎo)致我開始負(fù)責(zé)更多的項(xiàng)目,比如,增加負(fù)責(zé)了 OMS 、也偶爾客串一下 ERP 里的一些工作,幫他們處理一些疑難雜癥。這又會導(dǎo)致一個情況是,當(dāng)遇到大促值班或者長假前后,人手不足的時候,會需要我?guī)兔斏先ァN疫€深刻地記得2015年雙11,我連續(xù)37個小時沒睡覺,一個人單挑 B2C 商城、OMS 系統(tǒng)、ERP 的打單程序,去優(yōu)化他們的性能,讓訂單發(fā)貨得以順利進(jìn)行。說實(shí)話,這樣的事情真的不想來第二次了,太累了。(但是后續(xù)又遇到3、4次……)與此同時,因?yàn)槲议_始花更多的時間來分析和處理各種性能相關(guān)的疑難雜癥,對技術(shù)層面、對如何提高項(xiàng)目質(zhì)量有了自己的理解。所以,我在2015年底寫了一套基于 DDD 的開發(fā)框架在公司里運(yùn)用,慢慢地,我又成為了公司里新技術(shù)的布道師。也同時在2015年底,當(dāng)時的技術(shù)部負(fù)責(zé)人決定將系統(tǒng)架構(gòu)逐漸從單體應(yīng)用往分布式系統(tǒng)轉(zhuǎn)型,否則預(yù)計無法支撐接下來幾年公司業(yè)務(wù)的發(fā)展。恰好此時我所負(fù)責(zé)的b2c商城系統(tǒng)已經(jīng)能長期穩(wěn)定運(yùn)行了,所以我主動申請成立架構(gòu)組,組建架構(gòu)師團(tuán)隊把轉(zhuǎn)型分布式系統(tǒng)給干了,這才開啟了我的第三個階段。這個時期的核心關(guān)鍵詞:避免本位意識,幫助別人也是在成就自己。敢于突破創(chuàng)新。因?yàn)橹皫啄杲⒌挠绊懥Γ赃@個時候我在技術(shù)上的話語權(quán)特別大,部門負(fù)責(zé)人也很支持我,基本上用什么技術(shù)全由我來決定。所以在做架構(gòu)期間,我在技術(shù)選型上的自由度非常大。這兩年間,完成了除訂單中心以外的核心業(yè)務(wù)的服務(wù)化獨(dú)立,如商品、促銷、會員等等。還引入或者自研了各種常用的中間件。如,服務(wù)治理、配置中心、MQ、分布式緩存等等。另外,這個期間,我依舊會幫業(yè)務(wù)小組去解決疑難雜癥。這個時候不完全為了繼續(xù)提高影響力,而是為了讓分布式系統(tǒng)的改造更加接地氣,而不是建空中閣樓。這個時期最耀眼的成績是,2016年的雙11因?yàn)楦脑觳⑽赐瓿伤韵到y(tǒng)沒扛住,但是面對流量更大的2017年雙11,非常順利地扛住了流量沖擊,系統(tǒng)不但沒掛,連明顯的卡頓都沒出現(xiàn)。這個時期的核心關(guān)鍵詞:避免本位意識。做事要接地氣,特別是那種全局性工作。由于某些原因,原來的部門負(fù)責(zé)人被調(diào)到其他部門去了,他向老板推薦我來接他的位置。要知道,當(dāng)時我的 title 只是一個主管級,一下次跳過了經(jīng)理,直接升到總監(jiān)級。所以當(dāng)時我壓力又特別大,和第一次接 B2C 商城 Leader 那會差不多。我讓自己在新崗位上站穩(wěn)腳跟的方式是,對組織架構(gòu)和 KPI 機(jī)制進(jìn)行了重新調(diào)整。目的一是讓整個部門的關(guān)注點(diǎn)更加統(tǒng)一,目的二是讓技術(shù)與業(yè)務(wù)更加地貼近而不是各自為戰(zhàn),目的三是讓大家感受到新的工作方式開始了,從心理上意識到接下去要尋求變化。這可能就是所謂的“新官上任三把火”吧。在這個時期,我將先“安內(nèi)”,再“攘外”作為自己制定工作計劃的核心思路。畢竟,剛接手的活不能將它越搞越亂不是么,先穩(wěn)住是第一要點(diǎn)。而且,經(jīng)過前幾年的快速發(fā)展,雖然說整個系統(tǒng)沒啥大問題,但是小問題還真不少,這些每天都在冒出來的小問題積少成多其實(shí)還挺影響整體工作效率的。所以,第一個目標(biāo)就是劃出一部分時間把系統(tǒng)的整體穩(wěn)定性提高。同時還將開發(fā)與產(chǎn)品之間的工作流程進(jìn)行了梳理,降低其中的不必要的內(nèi)耗,進(jìn)一步提高團(tuán)隊效率。在以上這些措施顯露成效之后,開始考慮“攘外”了。著手組建了大數(shù)據(jù)團(tuán)隊,將用戶側(cè)以及企業(yè)內(nèi)部運(yùn)作的各項(xiàng)關(guān)鍵指標(biāo)進(jìn)行梳理,以提高公司的決策效率和經(jīng)營效率。這個時期讓我接觸到了更多商業(yè)、市場相關(guān)的東西,說實(shí)話,現(xiàn)在我覺得現(xiàn)實(shí)的商業(yè)世界好像更好玩,對我更有吸引力一些。作為部門的一把手之后,還感受到一個明顯的變化就是和部門里其他同事的關(guān)系變得沒之前那么親密了,或多或少保持著一些距離,這可能就是所謂的“高處不勝寒”吧。這個時期的核心關(guān)鍵詞:視野不能局限于技術(shù)。做決定之前要三思,決定了就專注地做,否則就是整個團(tuán)隊跟著你左右亂撞。好了,差不多就這么多吧。最后總結(jié)一下我這四段經(jīng)歷的關(guān)鍵詞:萌芽期:敬業(yè)、好學(xué)。
成長期:避免本位意識,幫助別人也是在成就自己。敢于突破創(chuàng)新。
成熟期:避免本位意識。做事要接地氣,特別是那種非一線的全局性工作。
蛻變期:視野不能局限于技術(shù)。做決定之前要三思,決定了就專注地做,否則就是整個團(tuán)隊跟著你左右亂撞。
如果恰好現(xiàn)在我走在你的前面,那么希望我分享的這些經(jīng)歷能給你一些啟發(fā)。希望你能早日到達(dá)你心目中的人生巔峰。
推薦閱讀:
原創(chuàng)不易,如果你覺得這篇文章還不錯,就「在看」或者「分享」一下吧。鼓勵我的創(chuàng)作 :)
如果你有關(guān)于軟件架構(gòu)、分布式系統(tǒng)、產(chǎn)品、運(yùn)營的困惑
可以試試點(diǎn)擊「閱讀原文」