频频学习杂文,程序员读书雷达

前言

多年来在读书鲍勃三伯的新书——《Clean
Architecture》(需要的同校可以在民众号后台回复数字1得到),感觉字字珠玑,值得反复阅读&品味。关于系统规划这块,准备把有关的几本书都汇聚翻阅下,包括《领域驱动设计》、《实现世界驱动设计》、《敏捷软件开发:原则、情势与执行》、《集团应用架构形式》等,经过这轮的就学,再组成这两年的档次经验,应该可以抽象出部分私家的经验。

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

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

图片 1软件业的风味是生成。若要进步软件开发的技术,就务须跟上技巧发展的脚步。埋首醉心于项目开支与实战,尽管可以锤炼自己的开发技巧,却在所难免受限于经验与学识。世界上并不存在速成的终南捷径,但读书好的技艺书籍,尤其是阅读大师们的经文作品,总能收到事半功倍之效。一位美好的程序员,或许就是一名好的阅读者。好的阅读者,总是知道如何挑选好的书本。书海浩繁,良莠不齐。阅读技术好书,如与智者交谈,“与君一席话胜读十年书”;遇到技术烂书,如被拐卖,“少小离家老大回,乡音无改鬓毛衰”。

ThoughtWorks作为一家学习型协会,颇为倚重每一位职工的求学能力。事实上,大多数ThoughtWorker的骨架里,都溢满了读书的基因。与书相伴,与书为伍,既是一种乐趣,又是一种习惯。当习惯变成自然时,书籍就变成生活和办事不可或缺的一片段了。假如说人文历史工学等图书是一碗心灵鸡汤,技术书籍大抵算得上是一味营养品,读之可以一直牵动营养;可假如不打听自己究竟缺了哪一类营养,乱吃乱补,结果就可能白璧微瑕了。有鉴于此,我和共事刘龙军结合自己的读书经验,为新入职ThoughtWorks的程序员制作了一份读书路线图。大家将限量明显为程序员,是因为作为程序员的我们,它是我们最精晓的工作角色。我们筛选出了部分豪门公认的经典图书,再结合自己的开卷体会,并大面积征集了更多ThoughtWorker的见解,包括徐昊,熊节,郑晔等名牌阅读者,得到了这样一份草稿。在中外公司之中生产时,这份读书路线图得到了多数人的认可和迎候。继而,我们在加尔各答办公室陆续针对此读书路线图展开了翻阅俱乐部的活动,算是做了一遍全部大面积的试水。

明天,我们以为是推出正规版本,并面向更多受众的火候了。这就是我们现在观望的ThoughtWorks(中国)程序员读书雷达。它相较于事先的开卷路线图草稿,分类更加规范,书籍筛选更为客观,并以雷达独有的优势,来显示不同的读书维度与读书深度。彰着,读书雷达更能发挥我们对所选书籍的纵深认识。它可以看成学习型协会的一份知识输入,每一位程序员都得以依据本人水平与力量,选拔切合自己的书籍,甚至结合一份表明阅读履历的翻阅路线图,在得到知识完善与汲取的进程中,提升自己力量,达至各类维度的顶峰。

该读书雷达将书籍分为了之类六个维度:

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

俺们由此将方农学、思想与领导力放入到那多少个为程序员设计的翻阅雷达中,乃是因为软件开发不仅仅是私有的运动,也不光是编码技巧和计划性力量的展现。我们认为,开发技术其实是一项综合的系统工程。了然方经济学,可以推动你对开发过程的接头;关于思想,则关乎大脑思维的修炼,可以提高程序员的架空能力、学习能力,有助于帮衬程序员发现东西发展的规律和实质;至于领导力,则有助于程序员在付出团队中发表更大的功用,并能作为很好的团社团成员,进步团队的完整力量。我们从不在这多少个读书雷达中概括语言类的图书,原因在于那类书籍太过分分散,且更新较快;我们也不容许奢望在一张读书雷达图中,为不同的语言平台展现不同的优异图书。比较语言的就学,我们更强调程序员在编程实践上的基础。

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

可能有人会质疑读书雷达的选项标准。正所谓“每个人心目都有和好的哈姆雷特(哈姆雷特)”,我们认可的未必能博取读者的认同,这是大家以此世界关于一种观点或态度的常态。我们发表这一个读书雷达,只是梦想能提供更多立竿见影的音信与参考,而非代表一种读书权利的相对化。事实上,我们也不容许毕其功于一役。其余,”吾生也有涯,而知也无涯”,咱们涉猎的书本毕竟有限,且读书雷达的容量也简单,难免会有遗珠之叹,这也是一件无可奈何之事。但是,我们迎接更多的批评与指出,或许你推荐的好书恰恰是我们忘记的,又或者刺激了大家的共识,那么大家也会毫无吝啬地换代读书雷达,以求做到我们力量范围内的大好。当然,正如你看来的,大家在Methodolog(方医学)维度,更多地引进了与高速和精益相关的书籍。这是因为大家对飞快技能与办法更有体验和自信心。对于我们还不够擅长的圈子,我们不敢也不愿做出可能误导人的引荐。

本阅读雷达尽管冠以ThoughtWorks(中国)之名,但选书的赞同与看法并非ThoughtWorks(中国)官方的姿态,而是作为制作者(龙军和自家)个人表明的眼光而已。假若您也加盟了ThoughtWorks,你势必会发现这种天然协会的民间活动,在ThoughtWorks可谓俯拾皆是,不用大惊小怪。

自身将在后面的篇章中,遵照每个维度为每一本书给出大家的推荐理由。此时,书籍成为了我们的臣民,我想对这多少个帝国做一回不敬爱表彰的巡视。最终,列出读书雷达的中英文书单,如下所示:

IT行业的学识结构

记不清在哪儿看过一篇作品仍旧问题,是讲“工作后怎么不断学习”的,文中的见地我很认同:在这么些音讯爆炸的一时,需要具备取舍和抉择。要是从全部来看,整个电脑世界的学问展现为三角形结构,从下到上依次为基础理论和知识、中间的框架和言语,最上层的是各个宏观的文化和概念。从个人来看,在IT行业持续学习,我们需要的的学问结构为两头窄中间款的双锥形结构,如下图所示:

图片 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《统计机程序的结构和表达》
Working Effectively with Legacy Code《修改代码的措施》

意识、思维、软技能

  • 《搞定:无压工作的不二法门》:第二次阅读
  • 《高功用人员的7个习惯》:第二次阅读
  • 《单核工作法》
  • 《番茄工作法》
  • 《刻意训练》
  • 《Clean Coder》

Architecture & Design | 架构与设计

阅读经验

有关英文阅读,目前读clean
architecture的时候真的有点困难,可是坚定不移了一周后大多就找回感觉了。我自己的经验是:

  1. 正如标准的词汇就随时查阅;
  2. 正如常用且非技术的词汇不需要各类单词都认识,可以经过上下文语境猜出大约意思就可以;
  3. 一旦发现某段话不能理解,我有个相比较灵通的办法:尝试用口语将这段话表明出来,假装你是在给一个同伴在讲这段话的意味。

但愿2019年可以做更多的精读和小结,利用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《思考快与慢》

相关文章