偉大程序員的十大特質
英文原文:The Top 10 Attributes of a Great Programmer
關于如何才能成為一名優秀的程序員,最近又一次成為了我們關注的焦點。下面是我認為我們最需要具備的特質:
- 善于解決問題。
- 既發奮又懶惰。
- 能理解別人的代碼。
- 對編程充滿熱情。
- 為了學習而愛上學習。
- 擅長數學。
- 具有良好的溝通技巧。
- 強大的辯論技巧。
- 極端樂觀。
- 極度悲觀。
1. 善于解決問題——希望大家都能認識到這一點。大多數優秀的程序員能夠找到別人發現不了的解決方案。
2. 既發奮又懶惰——這一點讓很多人都感到吃驚。程序員之所以喜歡提出質疑,往往是因為“懶得”走冤枉路。在這種想法的驅使下,他們會孜孜不倦地簡化問題,簡化任務。也就是說,他們會迫切地完成工作,只是過程想要盡可能的高效。
3. 能理解別人的代碼——這一點是至關重要的,很多優秀的程序員就是因為這一條而被攔在晉級“偉大”的門外。你的重寫能力如何其實并沒有多大關系——但是你需要和其他人協作于現有的項目,開始新項目時借鑒開源代碼,以及從現有的代碼庫中學習好的技術,而這些都需要具備理解他人代碼的能力。
4. 對編程充滿熱情——你必須熱愛編程。在大多數情況下,熱情才是成就偉大的原生動力。
5. 為了學習而愛上學習——學習猶如逆水行舟,不進則退,這是一件永無止境的事情。
6. 擅長數學——最起碼要對微積分有一個很好的把握。話說,如果你不知道最起碼的代數和三角,那么基本上成不了偉大的程序員。
7. 具有良好的溝通技巧——這意味著他們能夠根據自己的情況清楚地表達想法。我碰到過很多偉大的程序員,雖然他們談起其他問題不能做很好的溝通,但是一旦涉及到他的領域,那么就能侃侃而談,清楚地說明問題,提出解決方案。
8. 強大的辯論技巧——理由同第 7 點。
9. 極端樂觀——偉大的程序員,只需要稍微考慮一會,就能馬上確定他們可以完成這項工作。
10. 極度悲觀——偉大的程序員,在缺乏必要信息來做正確判斷的時候,會瘋狂堅持這工作他們干不了。
以下為補充(非所有偉大程序員必備):
- 特別有組織。
- 善于管理他人和編程項目。
- 能夠寫出好的設計文檔 。
- 能預估時間。
- 廣泛閱讀技術類書籍。
- 能將編程技能轉移到編程的其他領域,舉一反三。
- 一次就寫好代碼。
- 擁有其他領域的技能。
——
譯文鏈接:http://www.codeceo.com/article/10-attributes-of-a-great-programmer.html
翻譯作者:碼農網 – 小峰