
有人說,凡事只要花許多時間,就能做好一件事。
又有人說,只要掌握技巧就能寫好程式。
經過幾年的工程師生涯和N次面試,我自己的答案是:
- 有些技巧或方法若沒有刻意學習培養,做再久,其程度也近乎畢業生
- 例如:
- 專業領域知識(ex: 圖學/人工智慧/……)
- 應用領域知識(ex: 物聯網/車聯網/線上購物系統/……)
- 物件導向/大型軟體系統設計/分散式系統設計/程式語言的能力與特性
- 有些寫法或內功,需要大量時間學習
- Coding style
- 寫出簡潔的code(含演算法運用及降低time complexity、易讀、好維護)
- 對程式語言/工具/平台的掌握度
我自己覺得兩者都很重要,因為程式的效能與擴充性、工程師開發的速度與生產力,都深受上述兩者影響。