先簡單交代一下背景吧,某不知名 985 的本碩,17 年畢業加入位元組,以“人員最佳化”的名義無情被裁員,之後跳槽到了有贊,一直從事軟體測試的工作。之前沒有實習經歷,算是6年的工作經驗吧。
這6年之間完成了一次晉升,換了一家公司,有過開心滿足的時光,也有過迷茫掙扎的日子,不過還算順利地從一隻職場小菜鳥轉變為了一名資深划水員。
在這個過程中,總結出了一些還算實用的經驗,有些是自己領悟到的,有些是跟別人交流學到的,在這裡跟大家分享一下。
學會深入思考,總結沉澱
我想說的第一條就是要學會深入思考,總結沉澱,這是我覺得最重要也是最有意義的一件事。
先來說深入思考。在程式設計師這個圈子裡,常能聽到一些言論:我這個工作一點技術含量都沒有,每天就 點點點,這 TM 能讓我學到什麼東西?拋開一部分調侃和戲謔的論調不談,這可能確實是一部分同學的真實想法,至少曾經的我,就這麼認為過。後來隨著工作經驗的積累,加上和一些高 level 的同學交流探討之後,我發現這個想法其實是非常錯誤的。
之所以出現沒什麼可學的這樣的看法,基本上是思維懶惰的結果。任何一件看起來很不起眼的小事,只要進行深入思考,稍微縱向挖深或者橫向拓寬一下,都是足以讓人沉溺的知識海洋。
再來說下總結沉澱。這個我覺得也是大多數程式設計師比較欠缺的地方,只顧埋頭幹活,可以把一件事做的很好。但是幾乎從來不做抽象總結,以至於工作好幾年了,所掌握的知識還是零星的幾點,不成體系,不僅容易遺忘,而且造成自己視野比較窄,看問題比較侷限。
適時地做一些總結沉澱是很重要的,這是一個從術到道的過程,會讓自己看問題的角度更廣,層次更高。遇到同型別的問題,可以按照總結好的方法論,系統化、層次化地推進和解決。
可以多寫技術文章,多分享,強迫自己去思考和總結,畢竟如果文章深度不夠,大家也不好意思公開分享。
積極學習,保持技術熱情
最近兩年在網際網路圈裡廣泛傳播的一種焦慮論叫做 35 歲程式設計師現象,大意是說程式設計師這個行業幹到 35 歲就基本等著被裁員了。不可否認,網際網路行業在這一點上確實不如公務員等體制內職業。但是這個問題裡 35 歲程式設計師並不是絕對生理意義上的 35 歲,應該是指那些工作十幾年和工作兩三年沒什麼太大區別的程式設計師。後面的工作基本是在吃老本,沒有主動學習與充電,35 歲和 25 歲差不多,而且沒有了 25 歲時對學習成長的渴望,反而添了家庭生活的諸多瑣事,薪資要求往往也較高,在企業看來這確實是沒什麼競爭力。
而如果我們積極學習,保持技術能力、知識儲備與工作年限成正比,這到了 35 歲哪還有什麼焦慮呢,這樣的大牛我覺得應該也是各大公司搶著要吧?但是學習這件事,其實是一個反人類的過程,這就需要我們強迫自己跳出自己的安逸區,主動學習,保持技術熱情。在滴滴時有一句話大概是,主動跳出自己的舒適區,感到掙扎與壓力的時候,往往是黎明前的黑暗,那才是成長最快的時候。相反如果感覺自己每天都過得很安逸,工作只是在混時長,那可能真的是溫水煮青蛙了。
剛畢業的這段時間,往往空閒時間還比較多,正是努力學習技術的好時候。藉助這段時間夯實基礎,培養出良好的學習習慣,保持積極的學習態度,應該是受益終身的。至於如何高效率學習,網上有很多大佬寫這樣的方法總結文章
(一)調整好心態
心態是一個人能否成功的關鍵,如果不調整好自己的心態,是很難靜下心來學習的,尤其是現在這麼浮躁的社會,大部分的程式設計師的現狀就是三點一線,感覺很累,一些大齡的程式設計師更多的會感到焦慮,而且隨著年齡的增長,這種焦慮感會越來越強烈,那麼唯一的解決辦法就是調整好自己的心態,要做到自信、年輕、勤奮。這樣的調整,一方面對自己學習有幫助,另一方面讓自己應對面試更從容,更順利。
(二)多讀Bug
平時多與同事溝通,抽出部分時間去閱讀同事提出的bug,瞭解同事找出bug的過程 。從別人找到Bug的經驗中可以學到很多東西,也能提高自己的觀察力。
(三)設計你的測試
無論是尋找邊界值,運用組合技術,畫圖表,或建立測試模型,把你的想法放進你的測試設計中總是有用的。在試探性測試的時候,有意識地去交替你的測試計劃和產品學習,不斷嘗試找到更簡便更適用的方法。
(四)時間擠一擠,制定好計劃
一旦下定決心要提升自己,那麼再忙的情況下也要每天擠一擠時間,切記不可“兩天打漁三天曬網”。另外,制定好學習計劃也是很有必要的,有邏輯有條理的複習,先查漏補缺,然後再系統複習,這樣才能夠做到事半功倍,效果才會立竿見影。
(五)持續學習技術知識,更新自己的知識儲備
學習對每個人來說都應該是一個持續的過程,畢竟時代在不停的發展。如果停止學習,原地踏步,那麼很容易就會成為被拍在沙灘上的前浪。對於測試人員來說也是一樣,想要成長,不落後於人,就得一直學習新知識,掌握新技能。而且網際網路時代,獲取知識的渠道也異常的豐富和便捷,影片課程、公開課、各種資源種類繁多。跟上行業的發展,才能不被行業所淘汰。
主動承擔,及時交流反饋
前兩條還是從個人的角度出發來說的,希望大家可以提升個人能力,保持核心競爭力,但從公司角度來講,公司招聘員工入職,最重要的是讓員工創造出業務價值,為公司服務。
雖然對於校招生一般都會有一定的培養體系,但實際上公司確實沒有幫助我們成長的義務。而在能為公司辦成事,創造價值這一點上,我覺得最重要的兩個字就是主動,主動承擔任務,主動溝通交流,主動推動專案進展,主動協調資源,主動向上反饋,主動創造影響力等等。
我當初剛入職的時候,基本就是 leader 給分配什麼任務就把本職工作做好,然後就幹自己的事了,幾乎從來不主動去跟別人交流或者主動去思考些能幫助專案發展的點子。自以為把本職工作保質保量完成就行了,後來發現這麼做其實是非常不夠的,這只是最基本的要求。
而有些同學的做法則是 leader 只需要同步一下最近要做什麼方向,下面的一系列事情基本不需要 leader 操心了 ,這樣的同學我是 leader 我也喜歡啊。入職後經常會聽到的一個詞叫 owner 意識,大概就是這個意思吧。
在這個過程中,另外很重要的一點就是及時向上溝通反饋。專案進展不順利,遇到什麼問題,及時跟 leader 同步,技術方案拿捏不準可以跟 leader 探討,一些資源協調不了可以找 leader 幫忙,不要有太多顧忌,認為這些會太麻煩,leader 其實就是幹這個事的。
如果專案進展比較順利,確實也不需要 leader 介入,那也需要及時把專案的進度,取得的收益及時反饋,自己有什麼想法也提出來探討,問問 leader 對當前進展的建議,還有哪些地方需要改進,消除資訊誤差。做這些事一方面是合理利用 leader 的各種資源,另一方面也可以讓 leader 瞭解到自己的工作量,對專案整體有所把控,畢竟 leader 也有 leader,也是要彙報的。
可能算是大家比較反感的向上管理吧,有內味了,這個其實我也做得不好。但是最基本的一點,不要接了一個任務悶著頭幹活甚至與世隔絕了,一個月了也沒跟 leader 同步過,想著憋個大招之類的,那基本涼涼。
一定要主動,可以先從強迫自己在各種公開場合發言開始,有問題或想法及時 one-one。
一套系統提升學習的好資料
這裡給大家整了一套涵蓋軟體測試面試資料和自動化測試工程師進階路線的快速學習方法和資源。
1. 自動化測試必備Python程式設計內容
2. Web UI 自動化測試基礎內容
3.Web自動化測試實戰內容
4. APP UI 自動化測試基礎內容
5. APP UI 自動化測試實戰內容
6. API 介面自動化測試基礎內容
7. API 介面自動化測試實戰內容
8. CICD持續整合專項技術
9. 自動化測試框架實戰技術
根據這個學習架構路線,不斷地去摸索與提升,突破技術的瓶頸,可以說,這個過程會讓你痛不欲生,但只要你熬過去了。以後的生活就輕鬆很多。我也是走過這樣一段路,才能獲得更多高薪職位的機會,付出終有回報,也算是對我能力的一種認可吧,真正的證明了自己的價值。至少稅後30+的薪水是我當前狀態下比較滿意的。