1. 程式人生 > >作為技術工程師,到底需要怎樣的專業能力

作為技術工程師,到底需要怎樣的專業能力

寫在前面:
行業裡的牛人真的很多,值得我們去追逐和學習。但很大部分卻將外界對於行業內的認知與行業的水平,拉低了很多很多。

直到幾年前,在軟體技術行業和網際網路中,仍然都是在談“不可替代”,“核心競爭力”和“剛需”。但看得越多,思考得越多,接觸得越多,辨證得越多,個人認為這是一個“偽命題”。
為什麼我會這麼斷言?因為這些經不起推敲,經不起折騰,扛不住變化。因為最大的不變就是變化。

那麼,作為技術工程師,我們到底要武裝哪些內容,變成什麼樣子?

我先從今天在 geekbang 看 ebay 測試架構師的分享內容,摘要重點出來:

測試工程師應具備的核心競爭力

  1. 測試策略設計能力
  2. 測試用例設計能力
  3. 快速學習能力
  4. 探索性測試思維
  5. 缺陷分析能力
  6. 自動化測試技術
  7. 溝通能力

測試開發工程師應具備的核心競爭力

  1. 測試系統需求分析能力
  2. 更寬廣的知識體系

我覺得對方整理得很不錯。不過,我認為還不夠(可能是受限於篇幅?),或者還太窄,視野還不夠?

首先從(開發、測試)技術工程師的基礎技術棧說起,主要是包括幾個大領域:

  1. 程式設計思想與程式設計基礎
  2. 測試基礎理論和流程管理理論
  3. 資料庫領域
  4. 伺服器領域
  5. 協議簇
  6. 其他(如各種中介軟體、容器、元件、框架等,又如存在壁壘的行業業務知識,甚至社會工程學等等等等)

接著,從更重要的品質(這個是可以讓人無限增長的)來談,應該包括:

  1. 學習能力。擅於洞察(觀察+思考),懂得分析,知道借鑑,勤於驗證,善於積累。靈活運用那5個'W'
  2. 執行能力。這裡的“執行”,是一個泛義詞。很好理解:當動力系統,還是阻力系統?
  3. 態度端正
  4. 其他任何你想得到的良好品質

最後,就是將基礎夯實,刻意練習和提高下潛。至少是得二維的T字型發展,或者是三維發展。
當然,也許還有很多不同的詞彙去形容或表達……

作為軟體工程領域的技術人,我們到底要變成什麼樣子?—— 能做廣度,更能做深度的硬通貨!