致年轻开发人员的一封信
我收到了很多年輕開發人員寫給我的郵件,希望可以提升自己的編程能力。我肯定不是第一個討論這個話題的人,所以我不確定還可以說出什么新意。然而,這里我認為還是非常值得列出我認為很重要的幾點吧。
要跟其他開發者一起工作。我們正處在科技史上的黃金時期,這是第一次,身處何地,雇主是誰變得不那么重要。只要 你的網絡帶寬足夠,你就可以與身處地球任何位置的另一位開發者搭檔共同編寫代碼。越來越多我認識的資深開發者都在貢獻自己的時間分享這樣的知識。我朋友 Evan Light有“開放辦公時間”,而且還在開發一個網站幫助 Rubyists 搭檔。我也這樣做了好一陣了。想要研究FLOSS代碼?發郵件給我,我們會把事情安排好。
編注:Rubyist 是指那些對Ruby的關心程度超過常人的人。
編注:“開放辦公室時間”是美國大學的傳統,作法是學校每周開放辦公室數小時,學生不需事先預約就能和老師面談。
編注:Free/Libre/Open Source Software 免費/自由/開源軟件。
閱讀經典的書籍。如《代碼大全》、《程序員修煉之道》、《程序設計實踐》、《設計模式》等。
要讀 WikiWiki (有時又叫做 WardsWiki)。這一點非常重要。有時我覺得,在我的學習遇到瓶頸時,我就是通過瀏覽WikiWiki 而得以學到所有我真正需要的東西的。
要讀一讀別人編的代碼。為GitHub 喝彩!如果你想以編撰得更好的作品為開始而你又對 Ruby、有所了解,那么就試一試解決Ruby Quiz上的問題。
Ruby,一種為簡單快捷對象導向編程(面向對象程序設計)而創的腳本語言,由日本人松本行弘開發,遵守GPL協議和Ruby License。Ruby的作者認為Ruby 》 Smalltalk Perl,表示Ruby是一個語法像Smalltalk一樣完全面向對象、腳本執行、又有Perl強大的文字處理功能的程序語言。其它特色包括: 運算符重載自動垃圾回收、在Windows上,載入DLL 巨大的標準庫。
加入本地用戶組。如果沒有這樣的群,那就創建一個,然后開始交流。我不在意你是一個多么差勁的菜鳥。要想使你全面了解一個問題,再沒有比這更好的方法了。
開一個博客。不要擔心自己會成為異類。一些最有用的博客其實主要記錄了一個程序員的經驗和錯誤以及他們是如何克服困難。反思是學習的最重要的一部分,而寫作則會幫助你反思。并且,在你思考之前,你又會從其他程序員那得到反饋。
我相信你已經聽說過這一點了:為一個開源項目提交補丁。
用擲硬幣的方式來作決定。正面朝上就選擇 Vim,背面朝上就選Emacs。開始學習容易上手的編輯器。這兩種中的任何一種都會在你剩余的編程生涯中一直與你同在。強大、靈活的工具能使優秀的程序員更加優秀。
學習多種編程語言。但首先你得學好一編種程語言。你需要一種可以使你得到靈感并且快速掌握的在一天內迅速地寫出 第一個版本的編程語言,從而不用花費大量的時間去學習你會很容易忘記的語言細節。然而,一旦你已經掌握了這門語言,你就要去學習新的語言,來挑戰所有你從 之前所學習的語言中學到的假設。要選擇風格完全不同的編程語言。我所看過的一本書《七周掌握七門語言》 中就對編程思維模型進行了全面、廣泛的概括。
為你所使用的編程語言和平臺建立郵件列表。人們有時會忘記在博客、Hacker News和推特以外還有很多討論是非常有益的。跟其它場合比起來郵件列表通常是文明而有用的工具。
StackOverflow 是你的良師益友。
不要花費太多的時間去為某物找尋“最好”的工具。我過去常常會花費好幾天或幾個星期,去試著為我即將開始的項目尋找最好的框架,以致我的工作進度停滯不前。不要掉進這個陷阱里。當你已經是個相對有經驗的開發人員時,選擇那些有很多人在用的語言和框架。在你遇到困難時,知道如何繼續下去比選擇完美的工具要重要。
尋找練習的機會。
當然,還有一點就是:練習、練習、練習。上班時寫代碼。在家寫代碼。練習 code katas 。編程與其它技能一樣:說到底,它的本質還是練習。
譯文出處:伯樂在線 - 職場博客 - 程序員
譯文鏈接:http://www.jobbole.com/entry.php/1419
原文:Avdi Grimm 翻譯:敏捷翻譯 - 張秀君
轉載于:https://www.cnblogs.com/yonge/archive/2011/09/23/2185706.html
總結
以上是生活随笔為你收集整理的致年轻开发人员的一封信的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【Silverlight】解决DataT
- 下一篇: 2011年9月19日 面试重点:asp.