Senior Software Developer


工程師要像趙雲一樣藝高、膽大、心細,才是「資深」。

有些公司,只要是碩士畢業,就掛『高級工程師』。。。這種感覺就跟『幹訓班』出來,就掛『將軍』一樣軍銜,名不符實。現在好像只要付得起每個月信用卡循環利息最低金額就可以申辦『白金卡』,那幹嘛要『信用』卡?

我想說的是,『名片的 Title 代表的不是表象,應該是一種信任、肯定與責任』,如果要做樣子的,那每個人都可以自封『總統』、『總裁』、『CEO』。。。

資深

更精準的「資深」應該是 20 年以上,專注在同一領域的資歷才是,不管是技術的深度、廣度,Domain Knowledge 的範疇,都有一定程度的認識。這等級是跟「Master」(大師)幾乎快ㄧ樣(但還是有差)。。。

中文的『前輩』,通常是指年紀相距廿年以上。

歲月累積的經驗,在執行工作時,可以透過經驗,達到必要的水準之上。並且有獨到的見解與方法,雖然見解或方法不見得最佳或標準。

用中文來說,『資深』算是『匠』,像是同樣一件事情做了數十年,透過經驗法則,慢慢改善。

工作上有時候會遇到不同領域的人,像是修水電師傅、馬路上鋪馬路的師傅、辦公室裝潢的裝修師傅,這些我都會尊稱他們叫『師傅』。因為人家是有技能,可以解決專業問題。

專業

資深不一定等於專業。『專業』是經過有公信力的訓練,取得絕佳科學方法,同時擁有技術能力、科學方法、豐富的實務經驗,能夠精準地 解決問題,如此才是專業。

碩士的學位名稱叫 “Master” ,中文可以翻成『大師』,理想上是可以解決專業領域問題的『專家』 (Specialist)。

不過實際上,我還沒遇過這樣的 “Master”,那種足以讓人尊敬的大師。

我知道的碩博士,畢業的條件如下:

  • Master: 具備解決問題的能力
  • PhD: 具備發現問題的能力

實際上,這數十年來的教改看得出來,完全失敗。

資深 + 專業 = Master or Monster

這兩個簡單說可以是這樣:

  • 經驗:具備絕佳的技術駕馭能力、熟悉工具,同時擁有豐富的實務經驗
  • 專業:有最佳的方法、工具、同時也具備豐富實務經驗,能夠提出解決方案

這篇 Programmer Competency Matrix 是給軟體工程師學習的,上面列了各個面向,以及各個面向的深度。一個軟體工程師是否夠專業,這張表是一個參考指標。

經驗代表做過什麼樣的案子?金融?物流?IoT?巨量資料?網路?Gaming?

有經驗、有專業,可以為『大師』,像一些公司會給予 “Chief Engineer” (首席工程師)、”Principal Architect” (首席架構師) 之類的稱號。

結論

有一個故事是這樣。。。

有一天一個工廠機械出問題,整個工廠因此停工,公司損失無法估計,而且沒人找得出問題原因,公司找上退休的老師傅,請他幫忙協助找問題。老師傅看了之後,什麼都沒說,只用粉筆圈了機械的某一個元件,說把這個換掉。果然換掉那個原件之後,工廠就恢復運作了。

過幾天工廠老闆收到一張帳單,是老師傅寄來的,上面寫維修費用:『100萬』。老闆驚訝為什麼那麼貴?那個零件也不過幾萬塊?

帳單上明細寫:

  1. 粉筆: 10 塊
  2. 40 年經驗與專業: 99.999 萬

年資有兩個意涵:一種是真的有十年的成長與經歷,一種是十年做同樣的事情。

延伸閱讀

參考資料


Comments

2015-08-22 00:45:00




About Me

Software Developer, SQA Manager, System Operation Manager, Guitarist

AWS Certifications