成為更優秀程式設計師的關鍵:更多的閱讀

2016-03-26    分類:程式設計師人生、首頁精華2人評論發表於2016-03-26

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

雖然我一直以來都很享受於讀書,但我總是很難擠出時間來閱讀。而當真的空閒了,我通常會去閱讀小說、自傳,或一些怪癖但有趣的東西。我的Kindle電子書閱讀器上到目前為止都是一些我最喜歡的技術。我仍然覺得不可思議的是,通過一個小小的裝置我就能隨身攜帶一個圖書館,只要電池能夠續航一段時間(例如一個月)。

但是我在技術上的閱讀真的很缺乏。當然,我也讀過經典名著,例如《Clean Code》,但僅此而已。我一直是一個“有什麼問題就谷歌”的人。技術書籍太枯燥乏味了!所以通常我會避開閱讀教材參考書。

直到8個月前。在我計劃去周遊時間一年的最後幾星期工作中(我是從祕魯開往玻利維亞的公交車上寫的這篇文章),因為任務基本上完成了,所以我有比平時更多的空閒時間,於是我決定花時間去閱讀一些東西。我們公司有一個Safari線上圖書訂閱,這基本上允許我們無限制地訪問所有已經寫好的程式設計書籍,然後一切都改變了。

事實證明,你從網際網路上得到的材料和著作的質量並不怎麼好。大多數作品只是孤立的一個片段“這裡怎麼做到X”。沒有故事線索能讓你思考怎麼應用到自己身上讓自己變得更優秀。在寫書的過程中,你必須得想好線索,必須通過編輯的審閱,並且請其他的技術人員仔細檢查,在作品問世之前儘可能地提升質量。

這也證明,大多數書其實沒有那麼無聊!當然不可否認也有一些濫竽充數的,但快速看一下評分和評價應該會有有助於你去偽存真。書籍大多數還是挺引人入勝和有趣的。這是學習的一種迷人方式。

對我來說最大的變化是,我是真覺得我因為抽出時間來閱讀,比方說,一個月吃透一本書,而變成了一個更好的開發人員。我讀過有關微服務的內容,感覺現在能夠更好地知道自己在談論什麼,並且我知道我可以回去參考一下,每當我需要幫助的時候。通過花時間坐下來涉獵Clojure方面的教材,即使只是學習基礎知識,也有助於我能夠更深入地談論函式式語言,以及Clojure用到哪裡更好。《7 Concurrency Models in 7 weeks》是一部很有啟發性的作品,特別是作為一個Java開發人員,想要用不同的方法來多執行緒程式設計(Java中固有的缺陷)的話。

當然,大部分這些書籍中的資訊可能在網上的某個地方也有。但是,除非你需要特定的資訊,否則你就不會想到要去網上搜尋和閱讀,也不會得到周邊的相關資訊。選擇看書可以將你從被動的學習方式(只在需要的時候去獲取資訊)轉變為主動的學習方式(在閱讀的過程中,你會接收到各種不同的以前沒有見到過的資訊)。這非常重要,尤其是對職業發展。

最重要的職業工具是持續的學習。特別是我們這一行,因為一切總是在不斷的變化:新的語言,新的正規化,新的框架總是不斷地冒頭。由於數量太多用膝蓋想想也不可能總是保持優勢。你可以作為一個開發者奉獻自己,白天工作,然後晚上閱讀和程式設計,但是你依然不可能掌握所有。

幸運的是沒有人期待那樣。然而,我常常看到開發人員,特別是初級的開發人員,在面對令人氣餒的任務時,反而恢復到一種被動的學習模式。他們不求學習新的東西,除非有人(例如團隊的領導者)引入一些新的內容。只在必要的時候學習。這是開發人員保持平庸的“好”方法。

學習呈現多種形式。重要的是要選擇你喜歡的主題,然後至少花上少許時間來鑽研。從現在開始:選擇一本教材,給自己設立本月閱讀目標。不知道該讀什麼書?那行,我給你推薦一下:

  • 《Clean Code》 by Robert Cecil Martin
  • 《7 Concurrency Models in 7 weeks》 by Paul Butcher
  • 《Effective Java》 by Josh Bloch
  • 《Building Microservices》 by Sam Newman

譯文連結:http://www.codeceo.com/article/be-better-programmer-reading.html
英文原文:The Key to Becoming a Better Developer: Read More
翻譯作者:碼農網 – 小峰
轉載必須在正文中標註並保留原文連結、譯文連結和譯者等資訊。]

相關文章