技術之外的工程師另類成長指南

老_張發表於2021-05-05

前言

今年是我從事軟體測試工作的第七年,之間經歷過實體零售、銀行、網際網路電商等行業,遇到過不少挫折和挑戰,也遇到了不少好的同事和領導,總歸還是收穫滿滿。

之前讀了一本書:《軟技能:程式碼之外的生存指南》,讀後觸動挺大的,一直想寫寫自己在技術之外的一些成長經歷,或者說對於職場生存和職業規劃方面的思考和看法,拖沓很久,終於還是寫出來了。

 

另一個角度看“級別”

可能很多同學對這點都有很深的印象,近幾年各大招聘網站掛的崗位,都是高階/資深/專傢什麼的title。

但比較尷尬的是,大部分公司,內部沒有一個很規範的崗位能力模型,導致面試後的定級,基本都是面試官根據自身的理解和標準來定級。

我自己最近也面試了將近100位候選人,從自己的角度來看,很多候選人不符合我所招聘崗位的要求。

當然,我招聘的是偏技術崗(效能、測試開發、中介軟體相關),但不能說候選人沒有達到某個“級別”,只是說他不適合我招聘的崗位。

但是在業務測試方面(比如金融支付、電商訂單、供應鏈進銷存等)可能很匹配。這點也引發了我對“級別”定級的思考。

業內劃分

一般來說,業內大體的劃分模型,會綜合學歷、技術能力、工作年限、大廠履歷、專案經驗以及溝通表達能力來做定級,大體如下面的表格所示:

PS這裡以軟體測試工程師崗位為例!

崗位定級

匹配定級條件

學歷專業

技術能力

工作年限

是否有大廠履歷

專案/業務經驗

溝通表達/邏輯思維

初級

\

\

應屆/1年以內

\

\

\

中級

\

\

1-3年

預設升一級

\

\

高階

\

\

3-5年

預設升一級

強匹配度

\

資深

\

\

5年以上

預設升一級

強匹配度

\

測試專家

\

\

5-7年以上

\

強匹配度

\

這裡針對上述六點專門做個說明:

1、學歷專業

現在業內基本預設是本科學歷起步,大廠基本強制卡985/211學歷,專業最好是本專業。當然,除非你特別優秀,否則學歷會成為職場生涯後期的一個桎梏(針對大多數人而言)。

2、技術能力

對測試同學來說,通用的技術能力大概如下幾點,會的越多,技能越熟練,實戰經驗越多加分項越多。

  1. 測試流程(需求-評審-編碼-測試-預發-驗收-上線)
  2. 介面測試(用工具算是入門,用開源框架或者自己魔改二次開發造輪子算熟練)
  1. 自動化測試(UI很雞肋,移動端可能好點,跑相容;做的最多的還是API的自動化,近幾年單測&程式碼覆蓋率的佔比多了起來)
  2. CICD(貌似這幾年Devops、Testops啥的挺火,然而沒幾個玩的好的)
  1. 程式碼能力(這個不好判斷到底什麼程度才算好,看面試官自己如何定義)
  2. 其他基礎技能(協議、作業系統、資料庫)
  1. 題外話:效能、安全比較特殊點,也比較小眾,路越走越窄,不適合大多數人!

3、工作年限

參照上面的表格,基本沒差,當然有些大廠自己有自己的定義,比如阿里的P,現在還是硬通貨。

4、大廠履歷

同樣,參照上面的表格和上一個topic的回答。

5、專案/業務經驗

舉個例子,電商企業,更傾向於有電商業務經驗的,因為可以快速適應,降低學習成本,形成即戰力。

6、溝通/邏輯思維

這個基本就是看面試時候的表現了,思維清晰,條理明確,舉一反三的候選人,誰都喜歡。

技能之外

看完了上面的劃分,下面來談談我自己對不同“級別”的工程師的一些理解和看法。當然,按照順序由初級到資深,我覺得這是另一種成長的過程,可能需要轉變一下思維。

安排我做什麼?

一般剛入職場的同學,都處在這個階段,都是被動接受階段。師兄或者領導安排工作,有什麼做什麼。

我能做點什麼?

這個階段就到了問題驅動階段,可以理解為在工作中發現哪裡存在不足或者效率低下或者存在風險的點,自發想辦法去解決這些問題。

在這個過程可以獲得一些心理上的滿足感和同事領導的認同感。這是一個好的現象,已經開始潛移默化的變強了。。。

我要做點什麼?

一般這個階段,我將之定義為向前一步階段。基本都是3-5年經驗以上的同學,有了一定的職場經驗和積累,對未來也有一定的想法,會自發的想做一些事情來獲得更多的物質或者其他方面的回報。

我想做點什麼?

職場到了一定階段,追求的除了物質,可能就是自己的一些想法能否藉助公司的資源實現了。

俗話說好風憑藉力,有一定“野心”的同學,這個階段我建議主動出擊,藉助一定的公司資源,做一些即能收到認可又可以塑造個人品牌的專案,對職場發展和跳槽以及物質回報,都會有很大的好處。

 

跳槽要關注哪些方面

關鍵字:大公司、寬賽道、技術文化、降維打擊!

大公司

作為網際網路從業者,我還是建議大部分同學有機會的話,在職場生涯前期,儘可能去大公司,優勢如下:

流程制度

大公司(業內大廠、細分賽道頭部公司等)一般來說在流程制度方便比較完善和規範,對於職場新人或者沒有大廠經驗的同學來說,能快速的瞭解到,如何正確規範的做一件事

新人培養

大公司一般在新人入職後,會有專門的新人落地機制,有師兄帶你快速適應相關流程和技術棧,以及比較多的業務串講,疑問一般都會有問有答,可以快速的熟悉適應。

技術建設

大公司一般來說都會有更完善的基礎技術建設、更復雜和多元化的業務技術架構,當然,還有造輪子的機會。

關於基礎技術建設,這裡舉幾個例子:

  1. 較為完善友好的監控告警體系;
  2. 較為方便快捷的服務釋出/回滾/灰度/CICD機制;
  1. 崗位職責劃分較為明確(甩鍋踢皮球也不少,比較心累);

薪酬體系

相比於中小型公司,大公司在員工定級、晉升路徑、薪酬體系方面比較完善,你會有比較清晰的晉升認知。

PS:大公司不太好的地方在於,一個蘿蔔一個坑,對於有想法有野心的同學,會有點煎熬,而且技術能力&業務能力不再是唯一的晉升標準。

與優秀同行

大公司相對來說整體員工水平能力更好,大牛更多,有更多的機會和更優秀的人共事,從他們身上學到好的點。

寬賽道

業務深度

這裡的業務深度指的是業務的複雜性和依賴性更多,可以瞭解到很多細節的東西,也許對轉行產品有一定幫助。

舉個例子:電商業務中,基本的幾個業務模組有會員體系、增長營銷體系、支付金融體系、商家體系、商品體系、供應鏈體系等。

大家可以用一些小眾的電商APP和天貓京東等對比看看,反推下其中的業務邏輯,會發現很多有意思的不同點。

業務廣度

至於業務廣度,一般到了一定規模,大部分公司都會走上業務擴張擴充的道路。

以我司來說,最開始只有社群相關的業務,後來不斷擴充套件,有了交易、洗護、95分、直播以及跨境海外等相關業務。

當然,交易業務可能會不斷擴充品類,不同的品類也會有不同的業務邏輯在內。

接觸範圍

我之前也待過傳統線下零售企業,小公司也待過,日常接觸的同事基本都是研發運維產品。

大公司的話,接觸的人從事的崗位,可能會更寬泛,比如技術、產品、業務、運營、客服、營銷、線下團隊等。

我個人認為這對職場發展是有一定好處的,最起碼認知盲區會小一點,這點因人而異吧。

技術文化

對於做技術的同學來說,大部分應該都更喜歡技術氛圍濃厚,扁平化的企業文化。

扁平化

扁平化意味著溝通協調高效、彙報體系沒那麼複雜、自我訴求的表達更容易滿足。當然,規模越大,彙報層級越多,務虛、部門牆、向上管理、職場PUA可能更多。

技術氛圍

至於技術氛圍,以我曾經待過的某家小公司為例,除了寫用例測試,就是釋出上線,其他沒了,你能很快的感受到工作的枯燥乏味。

而大公司或者說技術氛圍較為濃厚的公司來說,code review、覆盤、內部分享、線下沙龍、外部大會等學習機會相對來說會更多一些,至於能否學到或者有所成長,見仁見智。

降維打擊

這裡為什麼會提到降維打擊呢?一些同學在大廠工作久了,基本就沒什麼上升空間了。

這個時候,去二線城市或者二線企業,你之前在大廠累積的一些務實或者務虛的東西,就派的上用場了。也算變相的延長職業生涯吧,這點是比較辛酸的。

說白了,能去大廠的畢竟少數,大部分人還是在中小企業或者外包來回流浪,不斷內卷。

 

人是如何不斷變強的

4月17號受某家企業邀請,做了一次線上直播分享,其中分享的最後一個topic就是:測試同學如何持續成長。下面是我當時畫的一個思維導圖,供參考:

 

 

思維轉變

首先,成長是一個狀態和過程,而不是結果,這需要先做到思維上的轉變。

學習實踐

對於技術同學來說,保持持續學習的狀態,快速學習並且大量的實踐,是錯不了的。

短期內應該學習那些可以快速變現的技能,比如工作中遇到一個問題,去找解決方案並且實踐解決,這就是一個快速變現的過程。

長期來說,應該學習那些不變的知識。網際網路行業技術迭代太多,很難樣樣精樣樣通,但萬變不離其宗,作業系統、資料結構、演算法、網路協議、資料庫等相關知識,幾乎沒怎麼變化。

獲得反饋

學習是需要獲得反饋的。實踐過程中,遇到了問題,自己嘗試去看官方文件、逛論壇社群找解決方案,解決問題後,你收穫的就是正向反饋。長此以往,你會發現你累積了很多的知識。

這裡說個反例,我大概17年學python時候,嘗試用python來做自動化相關的事情。那會兒python處在2.7和3.5版本的交替階段。

安裝過程就不說了,很多市場上的教材都是2.7的,3.5相關的資料比較少,怎麼辦呢?自己想辦法解決唄。不斷解決問題,請教別人的過程中,我對python的熟悉程度,也算學習進度還行。

當然,那個階段python&自動化比較火熱嘛,很多測試群的同學都在學自動化,有的卡在了工具安裝環境搭建,有的卡在了框架怎麼用,怎麼定位頁面的元素,有的卡在了不會整合jenkins,

不會用allure來出報告,總之到了最後,真正掌握這一套的測試同學,並不多。

總結覆盤

我自己近幾年一直在堅持一個習慣,每次學習完,解決了某個問題,都會寫部落格或者筆記記錄一下問題以及解決過程及解決方案。

每半年會覆盤總結下自己目前學習掌握的技能知識,哪裡需要加強,哪裡學的已經可以滿足工作所需,下一階段我要學習什麼。

相對來說短期目標比較清晰,長期堅持下來,也就有了較為長遠的規劃,自己也在這個過程中收穫了很多工作以外的東西。

輸出搏新

上面說到了寫部落格,我大概是16年6月28號開通了部落格園,寫下了自己的第一篇部落格。

最開始只是作為學習筆記的,後來關注的人多了起來,我自己也專職做了效能測試,就寫了很多效能測試&全鏈路壓測相關的部落格,貌似看得人還不少。

大概19年8月份開通了公眾號,最開始都是從測試群微信群引流的關注,自己也沒特意做一些推廣拉新關注,現在也有了5000+的關注,沒怎麼掉粉。

後來在掘金、開源中國、infoQ、知乎等技術平臺也嘗試了多渠道運營,效果貌似不咋地,但也學到了一些運營拉新相關的知識,聊勝於無吧。

為什麼要說博新這個詞呢?因為後來我發現,寫技術部落格,做分享是有錢可賺的(可能比較俗)。

比如微信公眾號,我寫的比較好的文章我會設定付費閱讀,每個月有廣告點選費,偶爾還有商業推廣打賞等其他外快收入,好歹每個月喝咖啡的錢有了。

堅持久了,個人品牌慢慢建立起來了,有人找我做付費技術諮詢,也有人找我做技術分享(有的純幫忙有的花錢邀請)。長此以往,我也看到了技術&工資之外的未來可能性。

 

最後

當然,上面扯了這麼多,不是說大家一定要寫部落格,做分享。而是提供一個參考,一種另類的技術人成長指南,與君共勉。

 

相關文章