优秀软件开发者必须具备的能力
?選擇從事軟件開發(fā),就選擇了與挑戰(zhàn)為伍。時下這個年代的軟件開發(fā)已經不再是上個世紀的軟件開發(fā)了,那時候基本上你選擇一種開發(fā)語言和一個開發(fā)環(huán)境,就可以吃飽飯,而且還可以吃得很好。然而在軟件行業(yè)發(fā)展到今天,我們有無數(shù)種開發(fā)語言,有無數(shù)種開發(fā)理念,有無數(shù)個框架,這些東西為軟件開發(fā)的各個領域帶來了便利,這是積極的一方面。但是也有消極的一方法,往往在眾多的選擇面前,會讓你手足無措。
??? 如今,單單靠使用一種編程語言,即便你爐火純青、登峰造極,也算不上是一個優(yōu)秀的軟件開發(fā)者。那么到底怎樣才可以在日新月異的軟件開發(fā)技術面前,可以立于不敗之地,做一個軟件開發(fā)的常青樹呢?
1、至少掌握兩種開發(fā)語言
??? 畢竟軟件開發(fā)還是要靠開發(fā)語言的,這是立足之本。那么為什么至少要掌握兩種以上呢,因為每種開發(fā)語言都具備它的優(yōu)勢和不足,并且都有自己的一套理念。掌握多種語言的目的,一是為了綜合各家之長處,二是要融匯貫通。如果這兩種語言不是一個派系的語言那就更好了(如C++和Java)。
2、至少掌握兩種程序設計思想
??? 時下是面向對象設計思想的天下,很多人認為凡事都面向對象那就萬事大吉了。程序設計思想就如同文化歷史一般,幾千年的歷史就是在改朝換代的模式中不斷前進的。程序的設計思想也同樣是百花齊放,只不過當前是面向對象比較主流而已。要知道,即便是面向對象占絕對主流的今天,很多軟件也并不是采用這種思想來開發(fā)的,比如Windows本身。任何一種設計理念最終有一天都將成為過去和歷史,我們只要通過兩種以上的設計思想的掌握,達到掌握了軟件設計的本質,那才可以永垂不朽^_^。
3、至少掌握兩個領域專長的知識
??? 軟件本身并不能創(chuàng)造價值,它需要為別的領域服務才可以體現(xiàn)其價值。我預期在將來,領域軟件才是真正的高回報軟件。作為一個優(yōu)秀的軟件開發(fā)者,不應該依賴于需求分析人員對特定領域的分析,不應該依賴于市場分析人員對特定市場的分析。而要培養(yǎng)自己的領域專長,這樣才不會讓自己淪為寫代碼的機器。一個只會寫代碼的程序員當然不會永遠被重視,但一個有思維有活力有領域專長和市場洞察力的開發(fā)者,那就大大不同了。
4、至少懂得跟兩類人進行溝通
??? 人是社會人,所以離不開社會,離不開溝通。軟件開發(fā)又是多人合作的行當,單槍匹馬總會顯得勢單力薄,難成大事。因此軟件開發(fā)中最重要的技能之一就是能夠與其他開發(fā)者一起高效工作——程序員,測試員,架構師等等。另外還必須跟軟件的受眾進行充分的溝通——客戶,用戶,老板等等。如果你能夠很好地處理這些關系,那么成功的大路也就離你不遠了。
5、要博客、寫文章、與人交流
??? 有誰能夠記住每件事?我不能,所以我把它們記下來。當需要的時候,可以回頭翻閱參考。除此之外,可以借此從讀者那里獲得反饋,讓我對同樣的問題收獲更多的解決方法。事實上,我已經獲得了許多與我工作有關的反饋,雖然有好有壞,但我會一一驗證,這個過程也讓我受益匪淺。
??? 其實還有很多很多,比如:要保持自我學習和完善的習慣、停止無休止的抱怨、等等......在此就不逐一羅列了。最后,請記住不要永遠只做個程序員。一旦自我滿足并覺得自己是個優(yōu)秀的程序員,就得重新規(guī)劃你自己,擴展興趣。搞開發(fā)只是這個過程的一部分,了解用戶和商業(yè),那才是真正的藝術,每個人應當以此為目標并努力掌握它。
轉載于:https://www.cnblogs.com/oldcat/archive/2010/04/28/1723110.html
總結
以上是生活随笔為你收集整理的优秀软件开发者必须具备的能力的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 每一种创伤,都是一种成熟
- 下一篇: DropdownList树