致新手程序員的一封信

jopen 10年前發布 | 5K 次閱讀 程序員

  英文原文:Letter to a Young Developer

  很多年輕的程序員發 emails 給我,說希望能夠得到一些如何盡快躋身優秀程序員行列的建議和方法。關于這個問題,我已經有提到過很多次,現在已經沒什么可以補充的了。不過為了滿足大家的要求,在這里我再詳細地歸納總結一下:

  ——和其他開發人員協作。編程已經進入了“地球村”的輝煌時代,無論我們身在哪里,無論我們為誰工作,只要 擁有可愛的互聯網,我們就可以和世界上任何一個角落的程序員一起攻克代碼難題、合作開發各種軟件。并且,現在有越來越多的開發人員,在網上把他們豐富的經 驗教訓總結出來,提供給大家共享。我的朋友 Evan Light 利用開放的辦公時間,正在致力于開發一個幫助 Ruby 使用者們匹配合作的網站。我也在這項目上做過。有沒有興趣做開源軟件?如果有的話請發郵件給我。讓我們一起協作吧!

  ——閱讀經典書籍刊物。Code CompleteThe Pragmatic ProgrammerThe Practice of ProgrammingDesign Patterns. 都是不錯的。

  ——好好利用網絡資源。這一條必須特別強調。因為幾乎所有的編程知識我們都可以在網上找到。老實說,有時候我會覺得,所有我需要的編程技能都是在網上學會的。

  ——研究別人的代碼。GitHub 萬歲!如果你想學習 Ruby 語言,并且希望能在最快的時間掌握它,那么可以按《Best of Ruby Quiz》所說的,先鉆研下他人的代碼。

  ——進入本地程序員群。如果沒有這樣類似的群,那么創建一個。接下來需要做的是組織會話。不要坐井觀天的以為“老子天下第一”,多多與大家交流,知道自己的不足之處,然后謙虛學習。

  ——寫博客。不要擔心不知道該寫什么。那些非常有名的博客牛人他們寫的就是:他們自己的編程經歷和程序錯誤,以及他們是如何克服這些問題的。反思,對于我們學習編程的幫助不可估量,而寫博客就是用于反思的手段。而且寫在博客上你還可以得到其他人對你的評價和建議。

  ——為開源項目制作補丁。這一點已經眾所周知,我就不再贅述了。

  ——拋個硬幣,花代表 Vim,字代表 Emacs,選擇了之后就開始認真學習吧。編輯器是你編程生涯中的左膀右臂,所以,一個強大又靈活的編輯器絕對能讓你的編程水平更上一層樓。

  ——熟稔一種編程語言是遠遠不夠的。但是首先你得學好一種,這樣你某一天遇到緊急情況,就能迅速應對、快速 編程,而不必絞盡腦汁、漫無目的、費時費力地想(就因為你已經忘記得差不多了)。不過,我想說的是,要是你已經掌握了一門,那么是時候學習第二門了,一方 面可以驗證第一門編程語言,另一方面通過這種方法還可以溫故而知新。而且最好選擇的是風格大相徑庭的。我讀過的一篇博文《Seven Languages in Seven Weeks》就給出了關于此點內容超棒的編程范例,有興趣可以看看。

  ——做一個編程語言和平臺的郵件列表。有時候,我們會找不到正在關注的博客、黑客新聞、推ter 中的激烈爭辯以及各種發人深思的討論。這個時候郵件列表就大顯威武了,相對于其他手段,它既方便禮貌又實用多多。

  ——StackOverflow 絕對是你的良師益友。

  ——不要浪費時間去研究所謂的最好的工具。我曾經用了幾周時間,想為我準備開工的項目找個“不鳴而已,一鳴 驚人”的最好框架,但是后來卻發現這個框架嚴重限制了我的工作效率。所以,千萬別被“最好”這兩個字的表象所迷惑,掉進坑里。如果你覺得你作為程序員還不 算經驗豐富,那么最好先從有很多用戶使用的語言和框架開始。最最重要的一點是,當你遇到障礙物而你越不過去的時候,你得知道去哪里,才能尋求幫助、拿到更 有利的工具。

  ——不要錯過實習機會。

  ——不斷練習、練習、再練習,因為辛勤的汗水才能澆灌出成功的花朵。在工作中寫代碼,在家里寫代碼。好好修煉代碼招式。編程其實和別的技術沒什么不同:最后的成功,都歸結于不斷的練習和辛勤的努力。

  譯文鏈接:http://www.codeceo.com/article/a-letter-to-new-programmer.html
  翻譯作者:碼農網 – 小峰

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!