大家从不在这个读书雷达中包括语言类的书本,那么些社团能够指导我们的翻阅、学习方向

前言

近年在翻阅鲍伯(Bob)小叔的新书——《Clean
Architecture》(需要的校友可以在民众号后台回复数字1赢得),感觉字字珠玑,值得反复阅读&品味。关于系统规划这块,准备把有关的几本书都集中翻阅下,包括《领域驱动设计》、《实现世界驱动设计》、《敏捷软件开发:原则、格局与履行》、《公司应用架构形式》等,经过这轮的求学,再结合这两年的项目经验,应该可以抽象出一些私有的体验。

ThoughtWorks(中国)程序员读书雷达

转载自:http://agiledon.github.io/blog/2013/04/17/thoughtworks-developer-reading-radar/

公海赌船710 1软件业的特征是转变。若要提升软件开发的技能,就务须跟上技术发展的脚步。埋首醉心于项目开支与实战,虽然可以锤炼自己的开支技术,却难免受限于经验与学识。世界上并不设有速成的终南捷径,但阅读好的技巧书籍,尤其是阅读大师们的经典作品,总能收到事半功倍之效。一位突出的程序员,或许就是一名好的阅读者。好的阅读者,总是知道怎么着接纳好的书本。书海浩繁,良莠不齐。阅读技术好书,如与智者交谈,“与君一席话胜读十年书”;碰到技术烂书,如被拐卖,“少小离家老大回,乡音无改鬓毛衰”。

ThoughtWorks作为一家学习型社团,颇为讲究每一位员工的上学能力。事实上,大多数ThoughtWorker的骨子里,都溢满了翻阅的基因。与书相伴,与书为伍,既是一种乐趣,又是一种习惯。当习惯变成自然时,书籍就改为生活和行事不可或缺的一有的了。假若说人文历史法学等图书是一碗心灵鸡汤,技术书籍大抵算得上是一味营养品,读之可以一直拉动营养;可一旦不打听自己究竟缺了哪个种类营养,乱吃乱补,结果就可能大失所望了。有鉴于此,我和共事刘龙军结合我的翻阅经验,为新入职ThoughtWorks的程序员制作了一份读书路线图。我们将限量显著为程序员,是因为作为程序员的大家,它是大家最了然的工作角色。我们筛选出了一部分豪门公认的经典图书,再结合自己的阅读体会,并大面积收集了更多ThoughtWorker的观点,包括徐昊,熊节,郑晔等知名阅读者,得到了如此一份草稿。在中国有公司业之中生产时,这份读书路线图得到了多数人的肯定和迎候。继而,我们在丹佛办公室陆续针对此读书路线图展开了翻阅俱乐部的运动,算是做了几遍全部大面积的试水。

近期,大家以为是生产正规版本,并面向更多受众的空子了。这就是豪门现在寓目的ThoughtWorks(中国)程序员读书雷达。它相较于事先的读书路线图草稿,分类更加规范,书籍筛选更为合理,并以雷达独有的优势,来呈现不同的阅读维度与阅读深度。显明,读书雷达更能表明我们对所选书籍的深浅认识。它能够作为学习型协会的一份知识输入,每一位程序员都足以遵照自身水平与能力,拔取符合自己的书本,甚至结合一份表达阅读履历的开卷路线图,在拿到知识完善与汲取的过程中,提升我力量,达至各类维度的顶点。

该读书雷达将图书分为了如下两个维度:

Codeing Practice(编程实践)
Architecture & Design(架构与设计)
Methodology(方法学)
Thought & Leadership(思想与领导力)

大家之所以将方文学、思想与领导力放入到那些为程序员设计的开卷雷达中,乃是因为软件开发不仅仅是私房的移动,也不仅是编码技巧和计划能力的反映。我们以为,开发技巧其实是一项综合的系统工程。理解方历史学,可以有助于你对开发进程的精通;关于思想,则涉及大脑思维的修炼,可以加强程序员的肤浅能力、学习能力,有助于帮衬程序员发现东西发展的法则和真相;至于领导力,则有助于程序员在开发集团中表达更大的意义,并能作为很好的团体成员,进步社团的完全能力。我们从不在那一个读书雷达中概括语言类的图书,原因在于这类书籍太过火分散,且更新较快;我们也无法奢望在一张读书雷达图中,为不同的语言平台展现不同的美观图书。相比语言的上学,我们更注重程序员在编程实践上的根基。

各类维度皆分为多少个等级,分别为Fundamental、Medium和Advanced,对应初学、进阶和高级。在雷达图中,读者能够依据该书在图中距离圆心的远近,判断它的难度级别。大家还运用了不同的图示来表述对每本书的倾向性意见,其中,紫色的三角图示代表“强烈推荐”,灰色的圈子图示代表“推荐”。我们盼望这类书籍对于程序员而言,可以依据自己眼前的档次,采用切合自己的书籍。在这一个层次上,强烈推荐可能就代表必读。

或许有人会质疑读书雷达的拔取标准。正所谓“每个人心目都有和好的哈姆雷特(Hamlet)”,大家认同的未必能赢得读者的认同,这是大家以此世界关于一种意见或态度的常态。我们公告这么些读书雷达,只是梦想能提供更多立竿见影的音讯与参考,而非代表一种读书权利的相对化。事实上,我们也无法做到。此外,”吾生也有涯,而知也无涯”,我们涉猎的书本毕竟有限,且读书雷达的容量也简单,难免会有遗珠之叹,这也是一件无可奈何之事。但是,我们欢迎更多的批评与指出,或许你推荐的好书恰恰是我们忘记的,又或者刺激了大家的共识,那么大家也会毫不吝啬地改进读书雷达,以求做到我们能力限制内的优秀。当然,正如您看看的,我们在Methodolog(方军事学)维度,更多地推荐了与快速和精益相关的图书。这是因为我们对急迅技能与措施更有体会和信心。对于大家还不够擅长的天地,我们不敢也不愿做出可能误导人的推荐。

本阅读雷达虽然冠以ThoughtWorks(中国)之名,但选书的辅助与看法并非ThoughtWorks(中国)官方的千姿百态,而是作为制作者(龙军和本人)个人表明的视角而已。尽管你也加盟了ThoughtWorks,你一定会发现这种先天性协会的民间活动,在ThoughtWorks可谓俯拾皆是,不用大惊小怪。

本人将在前面的篇章中,依据每个维度为每一本书给出我们的引进理由。此时,书籍成为了我们的臣民,我想对这一个帝国做三遍不爱抚称誉的巡查。最终,列出读书雷达的中英文书单,如下所示:

IT行业的知识结构

记不清在什么地方看过一篇小说如故问题,是讲“工作后咋样不断学习”的,文中的意见我很肯定:在这一个消息爆炸的一世,需要拥有采纳和选用。假若从全部来看,整个电脑领域的知识展现为三角形结构,从下到上依次为基础理论和知识、中间的框架和语言,最上层的是各种宏观的学识和概念。从个体来看,在IT行业持续学习,我们需要的的知识结构为五头窄中间款的双锥形结构,如下图所示:

公海赌船710 2

IT行业文化结构

以此结构得以辅导我们的翻阅、学习方向,将第一精力放在基础知识和宏观概念上,用宏观概念去引导自己怎么着选拔中档的半空中和具体的技巧,而基础知识不会时不时转移,搞懂之后起效果的流年也相比较久。

Coding Practice | 编程实践

新近的翻阅列表

依据下面这一个理论,我将自己多年来遇见的相比较好的书 &
平昔抽时间阅读的书做了个分类。

基础篇

Clean Code《代码整洁之道》
Pragmatic Unit Testing《单元测试之道》
The Productive Programmer《卓有功能的程序员》
Test-Driven Development By Example《测试驱动开发》
Clean Coder《程序员的差事修养》
The Art of Readable Code《编写可读代码的法子》

基础知识

进阶篇

Refactoring To Patterns《重构与形式》
Implementation Patterns《实现格局》
Code Completed《代码大全》
The Pragmatic Programmer《程序员修炼之道》

微观知识

高级篇

Structure and Interpretation of Computer
Programs《总计机程序的结构和解释》
公海赌船710,Working Effectively with Legacy Code《修改代码的不二法门》

意识、思维、软技能

  • 《搞定:无压工作的方法》:第二次阅读
  • 《高功能人员的7个习惯》:第二次阅读
  • 《单核工作法》
  • 《番茄工作法》
  • 《刻意磨炼》
  • 《Clean Coder》

Architecture & Design | 架构与设计

翻阅经验

有关英文阅读,近年来读clean
architecture的时候的确有点困难,但是坚定不移了一周后基本上就找回感觉了。我要好的经历是:

  1. 相比标准的词汇就每一日查看;
  2. 正如常用且非技术的词汇不需要各样单词都认识,可以透过上下文语境猜出大约意思就足以;
  3. 一经发现某段话不能知晓,我有个相比较有效的法子:尝试用口语将这段话表明出来,假装你是在给一个同伙在讲这段话的情趣。

瞩望二零一九年亦可做更多的精读和总计,利用XMIND做多少个领域的学识架构,并在实践中尝试推行下书中的观点。

基础篇

Agile Software Development 《敏捷软件开发:原则、实践与格局》
Head First Design Patterns《深刻浅出设计模式》
Design Patterns 《设计形式》

进阶篇

The Art of UNIX Programming 《Unix编程艺术》
Practical API Design 《框架设计的章程》
Domain Specific Languages 《领域特定语言》
Patterns of Enterprise Application Architecture 《集团应用架构情势》

高级篇

Release It 
Domain-Driven Design 《领域驱动设计》
Enterprise Integration Patterns《集团并入情势》
Beautiful Architecture《架构之美》
Pattern-Oriented Software Architecture《面向情势的软件架构》

Methodology | 方法学

基础篇

User Stories Applied《用户故事与急速方法》
The Gold Mine《金矿》
Scrum and XP From the Trenches《硝烟中的Scrum和XP》
Continuous Integration《持续集成》
Extreme Programming Explained《解析极限编程》

进阶篇

Lean Thinking《精益思想》
Continuous Delivery《持续交付》
How Google Tests Software
Agile Testing
Extreme Programming Refactored《重构极限编程》

高级篇

Specification By Example

Thought & Leadership | 思想与领导力

基础篇

The Effective Executive《桌有效用的长官》
Are Your Lights On?《你的灯亮着吗》
Becoming A Technical Leader《成为技术负责人》

进阶篇

The Fifth Discipline《第五项修炼》
The Design Of Business
Management 3.0《管理3.0:培养和提拔敏捷领导力》
Presentation To Win
The McKinsey Way《麦肯锡方法》

高级篇

Thinking, Fast and Slow《思考快与慢》

相关文章