只是通常的開發工做撰寫程序解決問題,或是可以運用數據結構或算法,還不足以成爲一位頂尖的程序員!知名顧問公司Conigent的架構師Justin James在美國科技網站TechRepublic上發表了「Seven Traits of Effective Programmers」這篇文章,列出了可以成爲編程領域中的大師們所具有的七項特質。(硬廣:程序員客棧 www.proginn.com)程序員
1.樂在學習,除了關注新的技術發展,也瞭解非技術知識的重要性算法
普通的程序員,一般是在須要某項技能時纔會開始進行學習;傑出的程序員,對於各類知識都保持開放的學習心態。編程
2.務實但不執拗數據結構
遵照「編程規範」是不多有開發人員可以作到這一點,尤爲當「編程規範」不是由專業的程序開發人員所撰寫的。架構
可是程序員的任務,是要製做能夠解決問題的方案,而不是產出一個呈現完美技術的藝術品。學習
3.真正瞭解問題以後,再思考解決方案網站
實務中,有許多的問題是屬於情境式的,你必須像剝洋蔥同樣一層一層的往核心探究下去,若是僅僅只是依賴搜索引擎或者論壇,只是浪費時間而已。因此,你應該學習如何找出問題根源的分析方法,以及學會對問題有了全面性的認識以後,才進行深刻的分析與探討,才能尋得相關的線索與解決方案。搜索引擎
4.擁有熱情設計
若是你不喜歡撰寫程序這份工做,就不多能成爲這個領域裏的頂尖高手,除非你天生是吃這行飯的。索引
5.把謙虛與目標相結合,纔能有更大的影響力
有些開發人員僅僅是比某些人聰明,或是比某些人多一點經驗,就顯得自命不凡。程序員應該對人保持謙遜,要懂得尊重別人,可以聽取幷包容別人的觀點與想法,在必要時懂得向他人求助。
6.具有冒險的精神
傑出的程序開發人員不會是得過且過的人。他們指望從中學得不一樣以往的知識或體驗,也爲能讓項目順利進行而一往無前。
7.先思考再行動是對的,但,不要忘記「過猶不及」
大多數的開發人員常犯的錯誤之一,是在還沒作好系統分析時就一頭栽入程序語法的規劃中。傑出的開發人員在面臨新的問題時,會先進行思考、計劃和研究,再行動。
傑出的開發者不會陷入「分析癱瘓」的陷井中,這是指程序在開發初期,進行系統分析時,常會由於執着於想掌控全部可能的變化與意外,而形成大量時間的浪費,反而所以讓項目停在原地。
在項目中應該對某些事件要當心謹慎,可是,若過於謹慎,就是浪費時間了,應該視情形而改變該有的堅持和行爲準則。
在項目中設計里程碑能夠用來檢視進度的情況是否在規劃的行程中進行,或是有須要作調整的地方,甚至在必要的時候,寧肯放棄或終止整個項目。