一個測試工程師的成長覆盤
背景
前幾天微信群有個同學加我好友,向我諮詢一些問題。他說,看到我在群裡說了一段話:
成年人,最重要的是獲取知識的方式和思維邏輯,而不是隻追求知識量的增加,提升增量,而不是存量。
學習,永遠是學習能快速變現的,對現在的工作生活能帶來幫助的,而思維邏輯能力和學習能力的提升,需要長期堅持的刻意練習來習得。
這句話出自李善友的《第一性原理》,我根據自己的理解在群裡說了出來。
他說,感覺自己就處在那種低水平的思維模式,總是不能真正解決問題,現在不知道怎麼突破到更高的思維模式,問我有什麼建議?
我和他聊了一些我自己的經歷,幫他分析了他目前的處境和不足之處,以及需要提升的點。最後,他應該是有所收穫,也祝他能早點找到適合自己的思維模式。
可能我們在工作或者生活中,會遇到這種型別的人。
初看知識面是有的,口才和文筆也是有的,但是做事情,總是差那麼一點,你作為Team Leader,面對這種隊員是很痛苦的。
他認為他很努力了,但總是不能真正解決問題,他做的事,總要你或者你認為「靠譜」的人去檢查一遍,他團隊效能一定是很差的。
別笑,我曾經也是這樣的人。現在回頭看,當時的自己就差臨門一腳,但就是邁不過去。
這篇文章,無關工作,也非技術文,純粹是我自己工作幾年來的成長覆盤。
前傳
先說說我的遊戲開局吧,大專畢業,土木工程專業,和網際網路一點關係都沒有。
我現在還記得,我的第一次網購經歷是13年畢業時候,註冊了淘寶賬號,買了人生第一件網購商品:行李箱。
14年6月,憑著想去大城市看看的想法,懷揣1000塊錢,就來上海了。
去電子廠找工作,嫌我年紀小;做了三個月房產銷售,每天頂著烈日暴雨出門發傳單帶客戶看房,結果三個月了一套房子都沒有租/售出去,拿了三個月底薪,最終灰溜溜走人了。
心灰意冷之際,有培訓班打電話,說培訓軟體測試,培訓結束包找工作,月薪6K起步。
那個時候,6K對我來說真的是可望不可即的高薪。培訓結束,稀裡糊塗終於找到了工作,月薪3K,試用期六個月打八折,對我來說真的是黑暗中的一點希望。
現在回頭看,真的是開局一把爛牌,幸好,一把爛牌我也沒放棄,才堅持走到今天。
做測試以來,我的職場經歷,大概可以分為四個階段,每個階段都有不同的一些經歷和收穫。
經歷
迷茫
從事軟體測試工作的前兩年,一直沒什麼進步,無論是技術提升,業務熟悉程度,還是溝通協作能力,一直很差勁。
幸好那個時候移動網際網路爆發,測試也沒那麼高的要求,點工還是有點市場的。迷茫中度過了2年,薪資從3K提升到了6K,在上海這個大都市,也算能勉強生存下去。
有一天晚上加班很晚到家,洗完澡看著鏡子裡的自己,突然覺得很不甘,對現狀的不滿,對自己平庸的憤懣,讓我輾轉反側。第二天我就提了離職,裸辭。
之後一個月就是四處投簡歷找工作,中間大概有一個半月處於沒有收入的階段,捉襟見肘。
印象最深刻的是去唐鎮那邊的銀聯面試外包測試崗位,我以為自己工作兩年也算有點積累,結果面試過程讓我難堪不已。
我記得面試官問了我一個關於HTTP協議的問題:狀態碼500和502各代表什麼意思?我沒回答上來。
後來每每在有跳槽想法時,我都會想起這件事,並捫心自問:你現在的能力可以承擔跳槽出去的風險並且獲得更好的平臺或者機會嗎?
厚積
16年下半年去了某快消零售企業,最初的想法是給的工資也不低,也不怎麼加班。
傳統企業的IT部,大多是給內部的業務部門做一些系統,版本迭代慢,有一些BUG也還能忍受,工作較為清閒。
當時的領導是IT部的架構師,他給我安排的工作內容,反而和具體的測試工作沒有太多直接聯絡。比如:
- 公司門店供應鏈系統要重構,安排我去學習供應鏈倉儲相關業務知識;
- 公司和天貓聯合搞雙十一品牌大促,讓我和阿里的技術同學對接搞壓測;
- 迴歸測試比較費時間,就讓我研究自動化測試、指令碼錄製回放甚至按鍵精靈;
- 業務部門要搞個財務結算系統,就安排我去學了2個月的財務結算相關業務知識;
- 有時候工作上犯了些錯,他也不會直接訓斥,而是告訴我怎麼做才能避免下次犯錯;
- ............
當然,作為一個技術男,他算是一個很有文藝細胞的領導,給我經常灌輸一些比較雞湯正能量的話,比如:年輕人要有信仰、你們這些年輕人應該多看看書,別整天玩遊戲看劇。
他也經常給我推薦一些不同型別的書,因為公司的業務是快消零售行業,他就推薦了7-Eleven的創始人鈴木敏文的著作《零售的本質》,讓我對便利店的商品貨架擺放,補貨和物流相關有了新的認識。
在這家快消公司兩年,我最大的收穫是擺脫了之前焦躁的心態,同時在零售物流倉儲供應鏈財務結算方面積累了一些業務知識,技術上也嘗試實踐了很多。
至今我部落格閱讀量最高的一篇文章“《微服務架構》——17W+閱讀量”就是在這個階段完成的(公司要嘗試系統重構微服務,領導給了我很多資料,讓我給他整理成一篇PPT便於宣講)。
在領導的影響下,這個階段我也看了很多技術類的書籍並做了大量實踐,有網路協議、自動化測試、效能測試、精準測試,也有Redis、MQ、docker、設計模式、系統架構,甚至產品經理、市場運營等相關的書籍也看了不少。
職場的某個階段,如果能遇到一位好領導,是很珍貴的一件事。它能告訴你如何避免走彎路,如何做正確的事情。也會給你學習成長實踐的機會,甚至以身作則培養你養成好的工作習慣。
成長
從快消公司離職後,去了某銀行信用卡中心,做效能測試工作。雖然之前累積了很多理論知識,也有一定的實踐,但整體來說還是小打小鬧。
靠著知識儲備面試通過後,憑著之前累積的理論知識和已經成為習慣的學習實踐習慣,我快速熟悉了團隊的日常工作,入職2個月就獨立負責整個信用卡中心60%的業務線日常壓測和管理工作。
在銀行工作,我最大的收穫主要有下面幾點:
- 標準嚴格的工作流程(比如如何寫測試方案測試報告);
- 對結果負責的工作方式(工作只看最終結果,過程如何只對自己有影響);
- 大量的技術實踐和探索機會(複雜的系統架構、不同的技術和業務體系);
- 開始明晰職場的某些潛規則(彙報、郵件、職責邊界和所謂的甩鍋能力);
- ............
在銀行工作了一年,出於某些原因,我選擇了離職,不過這次跳槽,我有信心憑藉自己的能力去承擔風險,並且去追逐更大的平臺和機會。
整體來說,大公司的好處還是很明顯的,履歷鍍金、專案經驗、複雜度更高的業務和系統以及更多更優秀的人,能從他們身上看到並學到很多受用終生的能力。
薄發
從銀行離職後,面了很多公司,最終決定去了某電商行業細分領域的獨角獸公司。
我算是該公司真正意義上的第一個專職效能測試工程師,入職後,從效能測試體系建設、環境搭建、工具選型到618大促,基本都是從零開始探索前進。
入職沒多久,公司來了新的CTO,原來的阿里高P,此時公司的業務也開始高速發展,業務的發展要求技術能不斷的發展支撐。在這家公司,有幾件事,讓我成長了很多。
19年雙十一
公司業務快速發展後第一次搞雙十一大促,CTO對大促也比較看重,提出要搞全鏈路壓測。
但技術團隊大多沒有相關的經驗,且基礎的技術建設相對比較薄弱,因此我們搭建了一套和生產等配的模擬環境,用於全鏈路壓測。
壓測團隊經過2個多月的多輪壓測,效能定位和優化,將系統整體效能在原有基礎上提升了9倍,但大促當天還是發生了宕機。
雙十一凌晨2點多,CTO組織了大促覆盤,一直覆盤到凌晨4點,也是這次覆盤,讓我學到了2點:
- 優秀的技術管理者,除了管理能力,技術能力以及對業務的理解,依然是很重要的;
- 及時覆盤,不放過每一個細節,不斷尋求問題的本質,在更高的維度尋求更優解,才能避免再次犯錯;
交易系統重構
由於老系統的歷史技術負債較多,19年底CTO決定對核心交易系統進行重構。當時由於新系統的環境複雜性,要對新系統進行壓測,面臨的是一個混部環境(測試+預發+生產)。
原有的壓測方式不適用了,為了解決這個問題,技術團隊決定落地生產全鏈路壓測。我調研參考了業內很多的生產全鏈路壓測方案,最終輸出了生產全鏈路壓測技術方案以及功能的PRD並評審通過。
正好20年疫情來臨,交易系統重構面臨嚴重的按期上線風險。年後很多團隊同學都是遠端辦公,工作壓力都很大,也因為環境的複雜性,只有通過生產全鏈路壓測才能保障新系統上線後的效能和穩定性。
我自告奮勇充當了全鏈路壓測的負責人和PMO角色,組織壓測、覆盤以及效能定位優化驗證。
最終系統如期上線,也沒有出現大的效能問題。這是我職場生涯最豐盛的一段經歷。也讓我明白了一件事:優秀的工程師不僅需要好的技術能力,專案組織、溝通協調、抗壓等軟能力更重要。
20年618大促
之前的全鏈路壓測都是在模擬環境、混部環境進行,這次618大促,是真正意義上的生產全鏈路壓測。雖然618相對雙十一,沒有那麼高的峰值流量,但從意義上來講,更加重要。
由於之前的一些實踐以及核心交易系統重構時候累積的經驗,618平穩度過,我們也證明了自研的全鏈路壓測框架,能真正的解決生產壓測的痛點。
20年雙十一大促
雙十一算是電商企業每年的一次大考,不僅業務玩法複雜,而且雙十一零點的流量衝擊對系統也是個極大的考驗。
經過一個多月的積極備戰和多輪壓測優化,最終我們將系統核心鏈路的處理能力,從7W多TPS提升到了25W以上,峰值QPS也超過了35W,算是有了質變的提升。
在雙十一之後,我在技術部門進行了一次分享,分享的Topic名字叫《大促利器:全鏈路壓測》。
20年底我晉升了,開始帶技術團隊,主要負責效能、基礎架構、大促穩定性保障等相關的測試工作。工作中我也會經常在部門裡進行一些技術培訓或者分享,這些分享的經歷也加深了我在部門的影響力。
21年中旬,帶團隊做完618大促的專案後,我離開了公司,測試相關工作,也算到此畫上了一個句號。我開始了新的職場生涯,去尋找更大的可能性。
總結
這就是我這幾年軟體測試工作的經歷和自我覆盤,從一把爛牌,到不斷選擇新的方向,我的總結如下:
- 開局一把爛牌並不能決定未來,堅持走下去,你會有不一樣的經歷,也能看到更精彩的風景;
- 迷茫或面臨挑戰時,捫心自問,你現在的能力是否可以承擔風險並且獲得更好的平臺或者機會;
- 職場中能遇到一位好領導,是很珍貴的一件事。它能告訴你如何避免走彎路,如何做正確的事情。也會給你學習成長實踐的機會,甚至以身作則培養你養成好的工作習慣;
- 大公司的好處是顯而易見的,履歷鍍金、專案經驗、複雜度更高的業務和系統以及更多更優秀的人,能從他們身上看到並學到很多受用終生的能力;
- 優秀的工程師不僅需要好的技術能力,專案組織、溝通協調、抗壓等軟能力更重要;
- 優秀的技術管理者,除了管理能力,技術能力以及對業務的理解,依然是很重要的;
- 及時覆盤,不放過每一個細節,不斷尋求問題的本質,在更高的維度尋求更優解,才能避免再次犯錯;
- 知識不是你知道多少,而是你堅持學習並且大量實踐後才能成為你自身的核心競爭力;
- 不要放棄嘗試新的可能性,要跳出舒適區,過程中要努力思考自己未來的發展路徑和規劃;
- 長期堅持做一件事,閱讀、時間、思考、覆盤、交流,是必不可少且一定有所得的成長方式;