我認為的software developer所應具備的: from jamesxu

來源: 2009-05-09 08:05:40 [博客] [舊帖] [給我悄悄話] 本文已被閱讀:

發表一下自己的觀點:

首先,軟件工程是理的,所以理科的基礎絕對是非常重要的。這也是為什麽我一直強調數學/邏輯基礎一定要紮實。(具體的比如抽象思維,理解/分析能力)

如果符合以上條件,你就符合了具備一個SDE所需要的能力。

但是這是不夠的,如果要成為一個出色的SDE,而不是一個programing labor的話,你需要的是創造力。
有些人認為寫code久了,就是一個熟練活,這我是非常反對的。一個好的程序員,如果發現他需要重複的做同一件事情,他就會用他的創造力來減少重複勞動。這也是為什麽好的程序可以有大量的code或者pattern被reuse。很多時候debug也是需要程序員發揮想象力的。一個很複雜的bug出現,出色的程序員往往會提出一些假設,一步一步的排除自己的假設,isolate problem,最終確定問題並把他解決。另一方麵,一個business requirment 出現,如果設計出有效的係統來解決business/technical chanllenging,這些都需要creativity。

具備了以上的條件,我覺得你就具備了一個出色的SDE所需要的能力。

但是這還是不夠的,如果你把SDE作為一個career來發展,有一個最關鍵的因素:passion(激情)

在software develope當中,很多問題都不是一下能解決的。往往要耗費大量的時間進行分析,驗證。有時候會讓你覺得很枯燥很frustrated。一個充滿激情的程序員就不太會覺得枯燥,而且他會很enjoy當問題解決以後的那種成就感。沒有passion的,很可能就會放棄了。

所以,我認為,紮實的理科基礎+創造力+對coding的激情 是做SDE應該具備