ThoughtWorks(中國) 程序員讀書雷達
軟件業的特點是變化。若要提高 軟件開發的技能,就必須跟上技術發展的步伐。埋首醉心于項目開發與實戰,固然能夠錘煉自己的開發技巧,卻難免受限于經驗與學識。世界上并不存在速成的終南 捷徑,但閱讀好的技術書籍,尤其是閱讀大師們的經典著作,總能收到事半功倍之效。一位優秀的程序員,或許就是一名好的閱讀者。好的閱讀者,總是知道如何選 擇好的書籍。書海浩繁,良莠不齊。閱讀技術好書,如與智者交談,“與君一席話勝讀十年書”;遭遇技術爛書,如被拐賣,“少小離家老大回,鄉音無改鬢毛 衰”。
ThoughtWorks作為 一家學習型組織,頗為看重每一位員工的學習能力。事實上,大多數ThoughtWorker的骨子里,都溢滿了讀書的基因。與書相伴,與書為伍,既是一種 樂趣,又是一種習慣。當習慣成為自然時,書籍就成為生活和工作不可或缺的一部分了。如果說人文歷史哲學等書籍是一碗心靈雞湯,技術書籍大抵算得上是一味營 養素,讀之可以直接帶來養分;可若是不了解自己究竟缺了哪一種營養,亂吃亂補,結果就可能適得其反了。有鑒于此,我和同事劉龍軍結合自身的閱讀經驗,為新 入職ThoughtWorks的程序員制作了一份讀書路線圖。我們將范圍明確為程序員,是因為作為程序員的我們,它是我們最了解的工作角色。我們篩選出了 一些大家公認的經典書籍,再結合自己的閱讀體會,并廣泛征集了更多ThoughtWorker的意見,包括徐昊,熊節,鄭曄等資深閱讀者,得到了這樣一份 草稿。在中國公司內部推出時,這份讀書路線圖得到了多數人的認可和歡迎。繼而,我們在成都辦公室陸續針對此讀書路線圖展開了讀書俱樂部的活動,算是做了一 次全方位大面積的試水。
現在,我們覺得是推出正式版 本,并面向更多受眾的時機了。這就是大家現在看到的ThoughtWorks(中國)程序員讀書雷達。它相較于之前的讀書路線圖草稿,分類更為專業,書籍 篩選更為合理,并以雷達獨有的優勢,來展現不同的閱讀維度與閱讀深度。顯然,讀書雷達更能表達我們對所選書籍的深度認識。它可以作為學習型組織的一份知識 輸入,每一位程序員都可以根據自身水平與能力,選擇適合自己的書籍,甚至組成一份表達閱讀履歷的讀書路線圖,在獲得知識完善與汲取的過程中,提高自身能 力,達至各個維度的巔峰。
該讀書雷達將書籍分為了如下四個維度:
Coding Practice(編程實踐)
</blockquote>
Architecture & Design(架構與設計)
Methodology(方法學)
Thought & Leadership(思想與領導力)我們之所以將方法學、思想與領 導力放入到這個為程序員設計的讀書雷達中,乃是因為軟件開發不僅僅是個人的活動,也不僅僅是編碼技巧和設計能力的體現。我們認為,開發技能其實是一項綜合 的系統工程。了解方法學,可以促進你對開發過程的理解;關于思想,則涉及大腦思維的修煉,可以提高程序員的抽象能力、學習能力,有助于幫助程序員發現事物 發展的規律和本質;至于領導力,則有助于程序員在開發團隊中發揮更大的作用,并能作為很好的團隊成員,提升團隊的整體能力。我們沒有在這個讀書雷達中包括 語言類的書籍,原因在于這類書籍太過于發散,且更新較快;我們也不可能奢望在一張讀書雷達圖中,為不同的語言平臺展現不同的優秀書籍。相比較語言的學習, 我們更看重程序員在編程實踐上的基本功。
每個維度皆分為三個等級,分別 為Fundamental、Medium和Advanced,對應初學、進階和高級。在雷達圖中,讀者可以根據該書在圖中距離圓心的遠近,判斷它的難度級 別。我們還使用了不同的圖示來表達對每本書的傾向性意見,其中,橙色的三角形圖示代表“強烈推薦”,藍色的圓形圖示代表“推薦”。我們希望這類書籍對于程 序員而言,可以根據自己目前的水平,選擇適合自己的書籍。在這個層次上,強烈推薦可能就意味著必讀。
或許有人會質疑讀書雷達的挑選 標準。正所謂“每個人心中都有自己的哈姆雷特”,我們認同的未必能得到讀者的認同,這是我們這個世界關于一種觀點或態度的常態。我們發布這個讀書雷達,只 是希望能提供更多有用的信息與參考,而非代表一種讀書權利的絕對化。事實上,我們也不可能做到。此外,”吾生也有涯,而知也無涯”,我們閱讀的書籍畢竟有 限,且讀書雷達的容量也有限,難免會有遺珠之嘆,這也是一件無可奈何之事。然而,我們歡迎更多的批評與建議,或許你推薦的好書恰恰是我們遺忘的,又或者激 起了我們的共識,那么我們也會毫不吝嗇地更新讀書雷達,以求做到我們能力范圍內的盡善盡美。當然,正如你看到的,我們在Methodolog(方法學)維 度,更多地推薦了與敏捷和精益相關的書籍。這是因為我們對敏捷技能與方法更有心得和信心。對于我和劉龍軍還不夠擅長的領域,我們不敢也不愿做出可能誤導人 的推薦。
本讀書雷達雖然冠以 ThoughtWorks(中國)之名,但選書的傾向與意見并非ThoughtWorks(中國)官方的態度,而是作為制作者(龍軍和我)個人表達的意見 而已。如果你也加入了ThoughtWorks,你一定會發現這種自發組織的民間活動,在ThoughtWorks可謂俯拾皆是,不用詫異。
我將在后面的文章中,根據每個維度為每一本書給出我們的推薦理由。此時,書籍成為了我們的臣民,我想對這個王國做一次不吝惜贊賞的巡視。最后,列出讀書雷達的中英文書單,如下所示(感謝凱峰為這個雷達圖建立的豆列,可以訪問ThoughtWorks(中國)程序員讀書雷達):
Coding Practice | 編程實踐
基礎篇
Clean Code《代碼整潔之道》
</blockquote>
Pragmatic Unit Testing《單元測試之道》
The Productive Programmer《卓有成效的程序員》
Test-Driven Development By Example《測試驅動開發》
Clean Coder《程序員的職業修養》
The Art of Readable Code《編寫可讀代碼的藝術》進階篇
Refactoring To Patterns《重構與模式》
</blockquote>
Implementation Patterns《實現模式》
Code Completed《代碼大全》
The Pragmatic Programmer《程序員修煉之道》高級篇
Structure and Interpretation of Computer Programs《計算機程序的構造和解釋》
</blockquote>
Working Effectively with Legacy Code《修改代碼的藝術》Architecture & Design | 架構與設計
基礎篇
Agile Software Development 《敏捷軟件開發:原則、實踐與模式》
</blockquote>
Head First Design Patterns《深入淺出設計模式》
Design Patterns 《設計模式》進階篇
The Art of UNIX Programming 《Unix編程藝術》
</blockquote>
Practical API Design 《框架設計的藝術》
Domain Specific Languages 《領域特定語言》
Patterns of Enterprise Application Architecture 《企業應用架構模式》高級篇
Release It
</blockquote>
Domain-Driven Design 《領域驅動設計》
Enterprise Integration Patterns《企業集成模式》
Beautiful Architecture《架構之美》
Pattern-Oriented Software Architecture《面向模式的軟件架構》Methodology | 方法學
基礎篇
User Stories Applied《用戶故事與敏捷方法》
</blockquote>
The Gold Mine《金礦》
Scrum and XP From the Trenches《硝煙中的Scrum和XP》
Continuous Integration《持續集成》
Extreme Programming Explained《解析極限編程》進階篇
Lean Thinking《精益思想》
</blockquote>
Continuous Delivery《持續交付》
How Google Tests Software
Agile Testing
Extreme Programming Refactored《重構極限編程》高級篇
Specification By Example
</blockquote>Thought & Leadership | 思想與領導力
基礎篇
The Effective Executive《卓有成效的管理者》
</blockquote>
Are Your Lights On?《你的燈亮著嗎》
Becoming A Technical Leader《成為技術領導者》進階篇
The Fifth Discipline《第五項修煉》
</blockquote>
The Design Of Business
Management 3.0《管理3.0:培養和提升敏捷領導力》
Presentation To Win
The McKinsey Way《麥肯錫方法》高級篇
Thinking, Fast and Slow《思考快與慢》
</blockquote> 載自: http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!