為什麼我是世界上最好的程式設計師?

2015-08-11    分類:程式設計師人生、首頁精華4人評論發表於2015-08-11

本文由碼農網 – 小峰原創翻譯,轉載請看清文末的轉載要求,歡迎參與我們的付費投稿計劃

我這個人比較謙虛,不好意思自個誇自己。所以請允許我從《McConnell’s Code Complete 2.0》一書中摘錄其關於個性的篇章來說明:

程式設計的強烈內在本質,使得個性顯得尤為重要。連續8小時將注意力集中在程式碼上有多難,你也是知道的。你應該也有過因為前一天精神過於集中導致第二天完全精疲力竭的經驗。可能上午8點到下午2點之間你還能專心致志,但是一過這個點就有一種想放棄的感覺。儘管你並沒有放棄——但是,從下午2點到下午5點你任由渾渾噩噩的頭腦支配你編碼,然後再花大量時間來修復這段時間寫的程式碼。

程式設計工作基本上是不受人待見的,因為沒有人能夠真正瞭解你的工作內容。我們都有過這樣的專案,在專案中我們花了80%的時間用於研究我們覺得有趣的小片段,20%的時間則用來建立剩下80%的程式。

僱主不能強迫你成為一個優秀的程式設計師:甚至很多時候他們也沒辦法判斷你是否優秀。如果你想成為偉大的程式設計師,那麼你得負責讓自己變得偉大起來。而這是你的個性問題。

可取的個性特徵列表的榜首往往是謙遜:

沒有人能真正足夠聰明到可以駕馭計算機程式設計。哪怕是充分理解一個普通的程式也需要具備消化吸收理解它們的能力。你將你的聰明勁往哪裡使以及使用的方式比你有多少聰明更重要。

在1972年的圖靈獎講座上,Edsger Dijkstra發表了一篇題為《The Humble Programmer》的文章。他認為,大部分程式設計是為了彌補IQ的侷限。那些最擅長程式設計的人也是能認識到自己IQ不是那麼高的人。他們很謙虛。而那些最不擅長程式設計的人,往往拒絕接受這樣一個事實,即他們的頭腦無法勝任任務。他們的自尊心阻礙了他們成為偉大的程式設計師。你越是學習彌補IQ的不足,你就越能成為更好的程式設計師。你越謙虛,提高得就越快。

許多好的程式設計習慣其目的就是為了減少腦細胞的負載。你也許會認為程式設計的上策是開發心智慧力,這樣就不需要那些輔助程式設計的“柺杖”了。可能你會認為那些使用“柺杖”的程式設計師低人一等。但是,根據經驗表明,那些謙虛的程式設計師,由於會去彌補他們在編碼中犯下的錯誤,所以他們的程式碼錯誤更少,程式碼更容易為自己和他人所理解。真正的下策應該是那些既犯錯誤又拖延時間的方式。

當給應聘人員面試相關程式設計職位的時候,我一直在找那些敢於在需要的時候說“我不知道”的人。那些不能和不願意這麼做的應聘人員,我會在心裡給他們打個叉,因為這些型別的程式設計師是危險的。“我能,我知道”雖然聽上去挺美,很有誘惑力,但實際上既膚淺又有危害。

開發部落格的世界難道不像一個令人震撼的不斷噴射知識的源泉——同時亦是令人難以置信的謙遜?有那麼多的人寫部落格,其中不乏這個領域的大咖,比我聰明比我優秀。

但是,我們的工作不是比別人更優秀:我們只需要比我們一年前更優秀就可以了。

ps:本文標題意在諷刺。以防萬一,特此宣告。

譯文連結:http://www.codeceo.com/article/why-i-am-best-programmer.html
英文原文:Why I'm The Best Programmer In The World
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章