Friday, July 16, 2010

三個 interview 之後

五月底的 CyberLink, 這禮拜二的 Google, 還有剛結束的 Armorize Technologies, 已經經歷過三次 interview 了, 不過其中兩次還是 phone interview.

這三家軟體公司問的問題讓我對 programmer/software engineer 這樣的職業有一些思考. 我想, 我不是他們眼中的好 programmer, 至少不是 shining star/rock star. 我研究 OOSE, 我開發軟體, 也使用 Java/Python. 但是, 我對於 Java 中的 OO features 並不熟悉; 我利用 built-in data structure 來組合出我要的 abstraction, 而不是自己 implement 某些 data structures; 我自己 implement 我需要的 algorithm 來證明我的 research idea, 可是沒修過 algorithms 的課程. 我能夠發現問題, 解決問題, 並且用 OOSE 技術確保軟體的品質, 但是現在的軟體公司需要的還是程式高手.

我一直覺得, logic thinking, creativity, problem solving 等能力是需要長時間培養的, 而 programming skill 則需要練習. PhD 的過程訓練了我的 logic thinking, creativity, problem solving 等能力, programming skill 也因為計畫的參與而提升. 但是, 畢竟受到 context/domain, programming skill 的磨鍊還是有限. 所以, 就像 Armorize 的 interviewer 輕描淡寫說的: "喔, academic level". 是的, 我的 programming skill 的確是 academic level.

從這些 interview 當中可以感覺到, 這些公司需要的是 programming skill 出眾的人, 能夠快速寫出很短的 code, 而且 performance 很高. 這樣想來, 我能在現在的軟體業界找到工作嗎?

No comments: