说来也奇怪,每次我想推荐一些书籍的时候,都是在奇数年,也都是在 9 月份。比如说,《2017 年的编程书籍推荐》、《2019 年的书籍推荐》。大概是到了秋、冬的时候,温度下降了,比较适合我进行一些思考和编程,所以我就不怎么在这个季节看书了。另外,从我的感知来看,我怀疑到了四季度新书也越来越少了。
今年推荐的书籍里,一部分是技术书籍,一部分是 20~50% 的技术书籍,也就是说和技术相关。我本想推荐一些不错的非技术书籍,但是呢,看得少,所以也推荐不了几本。
推荐的这些书籍,主要是我的兴趣和工作相关,主要是以兴趣为主,所以这 10 本书里主要会集中于:
编程语言设计:《C++ 语言的设计和演化》、《JavaScript 二十年》
数字化转型:《EDGE:价值驱动的数字化转型》、《数字化转型:企业破局的 34 个锦囊》
软件开发协作:《用户共创:社区赋能产品实践手册》、《高效能团队模式:支持软件快速交付的组织架构》
软件工程:《活文档:与代码共同演进》
软件架构:《软件架构:架构模式、特征及实践指南》、《解构领域驱动设计》
嵌入式:《TinyML:基于 Tensorflow Lite 在 Arduino 和超低功耗控制器上部署机器学习》
我比较懒,还穷,所以一般不怎么阅读英文版本的书籍。
过去的两三年里,一直在研究领域特写语言以及编译器相关的领域,所以对于编程语言的历史比较感兴趣。说实话,这两本书到现在我没怎么看,因为我的编程语言计划搁置了一段时间。不过,我翻了几页,还是觉得挺好玩的,看看语言的一些八卦史。
《C++ 语言的设计和演化》是在 2020 年再版的书籍,在那之前分别在 02 年、12 年出版,当时我还年轻。这本书讲述了 C++ 的历史和发展,C++ 中各种重要机制的本质、意义和设计背景等,作者在讲相关的设计旅程,非常不错。
《JavaScript 二十年》则偏向于讲述 JavaScript 的相关历史,口吻上没有 C++ 那么有意思。
从书的标题上看,这不像是一本技术书籍。但是这本书的作者是两个 DevOps 方面的专家,它们以团队作为视角来优化架构,即基于康威定律的团队侧来重新看待问题。除此,这本书的中文标题中没有体现出英文版的核心『Team topologies』(团队拓扑),又是一个失败的标题。大抵是为了销量,而忽略了其内涵所在,颇为可惜。
在我的上一篇文章《团队拓扑:在云原生时代,如何定位自身与团队?》中,详细展开了阅读了这本书之后的一些思考。
我就不做更多的介绍了,可以看看原书,又或者是阅读我的思考~。
适合人群:Tech Lead、Manager。原因是,如果不能站在组织的层面来考虑问题,那么能收获的东西就会比较有限。
这本书介绍的活文档的观念,和我最近几年做的事情非常相似:如使用定制化的 markdown 作为知识存档工具、使用定制化的 DSL 取代图表、拓展 Gherkin 以承载更多的知识…… 简单来说,传统的文档难以进行版本化管理,所以我们需要更灵活的方式让文档活起来。当然了,我并不建议你们用语雀这样的工具,知识应该以 Git 进行管理,代码化,才好演进与重构。
推荐它的主要原因是:理念。它是一次关于文档代码化的讨论,我们可以从中重新思考文档化的策略。审视一下,我们所在组织的文档流程,会发现期中的文档都是以一定的模式存在的。既然是模式,那么它就可以模板化,部分内容就可以代码化,如我先前构建的架构决策记录工具:adr、DevOps 知识平台:Ledge 就是相关的尝试。
这本书的英文名称是:《Fundamentals of Software Architecture: An Engineering Approach》,简单来说,就是『软件架构基础』,吐槽中文书名就到此结束,毕竟利益相关 —— Thoughtworks 出品。PS:吐槽书名,一直是我的惯例,如我的书的标题也都不太好。)
从英文书名的定位可以看出,这本书定位的是架构入门 + 架构模式总结。这本书有一大半的内容是在讲架构风格,这部分内容定位的也是架构基础。另外一些则是关于架构思维和架构师如何成长。从内容上来说,我觉得值得每个人去阅读(资深的人可以推荐给其它人看看),正如书的推荐语所说:“我多么希望在我职业生涯的初期就能看到这本书”。
我只是喜欢这本书的标题。除此,作为一个嵌入式行业出身的软件开发工程师,我还是会缅怀一下这个行业的。
这本书的标题给我提供了一个造轮子的新思路 —— 如何更好地进行降维打击。
所以,我买这本书的理由是:1% 的灵感。当有一天,我在书架上看到这本书的时候,可能会有一些新的灵感。
也因此,我并不建议大家买,哈哈哈。
数字化是未来的趋势,毕竟国家战略。利益相关,都是 Thoughtworks 出品的书籍。我好像不得不看 —— 万一有人问我书上写的是什么,那么我要怎么回答。不过,总的来说,两本书都不错。
EDGE 是在 2020 年 9 月出版的书籍,EDGE 是一整套用于实现数字化转型的工具,它快速、迭代、自适应、轻量级并且基于客户价值驱动。书中有个重要的模型:基于精益价值树(LVT)和度量标准(MoS)的价值驱动模型。这个模型蛮有意思的,我后来把它应用到了架构设计上了。
适合人群:Tech Lead、Manager
《数字化转型:企业破局的 34 个锦囊》则偏向于面向管理层了~,我只是顺便帮带一下货。让我吐槽一下《数字化转型:企业破局的 34 个锦囊》这本书的书名,34 个锦囊没有体现在目录上,只在最后几页体现,……。
适合人群:Manager
关于 DDD(领域驱动设计)这一话题而言,最好的书依旧是《领域驱动设计:软件核心复杂性应对之道》,而这本书是一本以模式语言组织的书籍,所以它并不适合作为入 DDD 的入门级书籍。而且,从个人的角度来理解一直觉得这本书的大纲组织模式,是以重构作为内核来驱动落地的,所以并不是那么好实施。
先前,我推荐的关于 DDD 的入门级书籍是《领域驱动设计模式、原理与实践》,只是呢,这本书的翻译不好。现在呢,我们有一个更好的选择《解构领域驱动设计》。书中提到的领域驱动设计统一过程,也是一个不错的方法论。
本书是一本讲述如何实施《技术产品化运营 》的书籍,从某种意义上也是在讲技术社区如何运营。
我推荐这本书的主要原因是,在需要帮助公司做一些开源相关的运营,也是颇为头疼的。所以,有这样一本书的话,相关的工作就可以交给别人做了。
另外一个原因是,有越来越多的公司需要去推广他们的技术产品,这本书也能提供一个不错的指导。
写书评是一件极为累人的事情,把书看完,再做一些概要总结;买纸质书籍也很贵,还占地方,搬家的时候也很重。