ulyssesric

關於ulyssesric

對不起,我忘了寫自我介紹!

什麼是程式設計師最重要的技能?

回應

「程式設計師」和「軟體開發」是兩回事;
基本上本篇寫的都是「軟體開發」,
而「程式設計」很單純只是工程動作:
把規格要求的事項,用最少的成本開發出來。

一個軟體開發者最重要的事情就是溝通,
而一個程式設計師最重要的事情有三個:
第一紀律、第二紀律、第三還是紀律。

「紀律」就是自己對程式碼品質的要求。
你有沒有用相同的專案架構風格?
你有沒有用相同的變數、函式、型別命名風格?
你有沒有用相同的版本管控與發行風格?
你有沒有用相同的註解與文件風格?

寫程式最重要的不是會動,也不是跑得快,
而是程式碼要看得懂。
不只讓別人看得懂,還能讓一年以後的你自己看得懂。
不要以為這是一件簡單的事。

台灣軟體工程師很聰明,很優秀,頭腦絕對比外國人強。
但是拿到國際上和人家一比,就矮一大截。
原因只有一個:
台灣工程師擅長單打獨鬥,但是不能團隊合作。
可悲的是,在可見的未來裡,這個現象不會有任何改善。
因為台灣企業對於「技術人才」的輕視,
以及整個華人文化「學而優則仕」根深蒂固的落伍觀念。

一個成功的軟體團隊必定是由很多不同面相的人員組成。
年輕新血帶來新的工具、新的演算法、新的設計哲學。
經驗豐富的前輩主導專案的走向、設計統一的介面風格。
如此才能在既有的基礎上不斷進化。

反觀台灣,台灣企業要的不是人才,台灣企業要的只是人力。
程式設計員只不過是一個又一個還沒爆開的新鮮肝臟,
根本沒有人想過「資深高階技術領班」這種事情。
因此一代一代又一代,
年輕新血不斷走著前人的覆轍,犯相同的錯,
讓台灣整個未來的競爭力,全部葬送在無謂的浪費中。

電子資訊產業多位大老批評博士生賣雞排種種行徑,
我一直很想反問諸位業界大老:
請問貴單位真的是把博士生當人才用,還是當奴才用?