刚哥谈架构 (五)- 推荐给架构师的书单

今天收到豆瓣的2019年的总结,发现自己已经在豆瓣渡过10个春秋。今年读了69本书,有很多书非常棒。今天我就给各位架构师,程序员,码农推荐一些我觉得对工作和职业生涯都很有帮助的书籍。

专业技术类

IT专业类的书不是我今天要推荐的重点,因为这些书大部分大家都很熟悉了,推荐一些相对比较冷门的。

  • Designing Data-Intensive Applications https://book.douban.com/subject/26197294/

这本书是分布式设计的经典,讲述的非常的细致和系统,来龙去脉,由浅入深。豆瓣评分9.7可谓好评拉满。对于从事数据系统开发的架构师和程序员是必读书籍。

  • The Master Algorithm 终极算法 https://book.douban.com/subject/26575738/

无论你是不是从事机器学习行业的,这本书都值得阅读。它可以帮助你梳理对机器学习诸多算法的认识,构建一个完整,系统的体系结构。中文版翻译不如英文原版。

  • A Philosophy of Software Design https://book.douban.com/subject/30218046/

本书是我的同事在斯坦福的博士生导师John Ousterhout的作品,不厚,但是浓缩的都是精华。本书从软件设计应该简单,避免复杂为主要观点出发,介绍了软件设计的一些核心的指导原则和思考。

问题解决和系统思维类

架构师首先是工程师,而工程师的主要责任是要解决工程问题。解决问题的一个核心思维就是系统思维。

  • 你的灯亮着吗?-发现问题的真正所在 https://book.douban.com/subject/1135754/

该书是问题解决类图书的经典之作,书中有几十个有趣的故事带你领悟问题解决之道。
书中关于隧道提醒关灯的问题从:

“如果是白天,而且车灯亮着,那就把车灯关上;
如果是晚上,而且车灯关着,那就把车灯打开;
如果是白天,而且车灯关着,那就让它关着;
如果是晚上,而且车灯亮着,那就让它亮着。”

“你的灯亮着吗?”

有如我们软件架构从繁到简,涅槃重生的过程。

  • 质量·软件·管理 三部曲 https://book.douban.com/subject/1409274/

软件咨询大师杰拉尔德·温伯格(Gerald M. Weinberg)是我非常喜欢的作者,是软件领域最著名的专家之一,美国计算机名人堂代表人物。除了《质量·软件·管理》 三部曲,系统思维/一阶测量/协调行动,他也是《你的灯亮着吗》,《程序开发心理学》《咨询的奥秘》《成为技术领导者》《系统化思维导论》等书的作者。很遗憾大师因为癌症在去年离世了,但是阅读他的书籍什么时候都不算晚。

  • 学会提问 https://book.douban.com/subject/1504957/

批判性思维圣经,出到第十版(今年原书出了第十一版),说明本书是如此的受欢迎。

  • 失控 https://book.douban.com/subject/5989373/

《失控》作者是《连线》杂志的创始主编凯文·凯利。这本书所记述的,是他对当时科技、社会和经济最前沿的一次漫游,以及借此所窥得的未来图景。书中提到并且今天正在兴起或大热的概念包括:大众智慧、云计算、物联网、虚拟现实.这本书很厚,但是读起来很吸引人。最让人惊叹的是成书于1994年,那一年我刚上大学,而凯利已经预言了未来20年的科技动向。我最为认同的是去中心化的网络的概念。

  • 复杂 https://book.douban.com/subject/6749832/

《复杂》内容简介:蚂蚁在组成群体时为何会表现出如此的精密性和具有目的性?数以亿计的神经元是如何产生出像意识这样极度复杂的事物?是什么在引导免疫系统、互联网、全球经济和人类基因组等自组织结构?这些都是复杂系统科学尝试回答的迷人而令人费解的问题的一部分。
理解复杂系统需要有全新的方法.需要超越传统的科学还原论,并重新划定学科的疆域。借助于圣塔菲研究所的工作经历和交叉学科方法,复杂系统的前沿科学家米歇尔以清晰的思路介绍了复杂系统的研究,横跨生物、技术和社会学等领域,并探寻复杂系统的普遍规律,与此同时,她还探讨了复杂性与进化、人工智能、计算、遗传、信息处理等领域的关系。
我之前的文章说过,软件架构的核心是消除复杂性,阅读本书,对于理解复杂性的普遍规律很有帮助。

  • 万万没想到/高手/智识分子
    https://book.douban.com/subject/25986341/
    https://book.douban.com/subject/27101562/
    https://book.douban.com/subject/26692468/

万维钢在得道开辟有订阅专栏《万维钢·精英日课》,他的书主要取材于全球经济、社会、科技、哲学界的最新思想突破,而且用中国人习惯的表达方式分享给你。

  • Scale https://book.douban.com/subject/27045416/

作者针对生物和社会组织,使用科学的方法,以数据分析的方式,推导出规模化扩张的一般规律。
当今软件架构的一个主要目标就是创建可以上规模的应用,阅读本书,让你理解规模的本质。

管理商业类

架构师不算一个管理职位,更多是个技术岗,往往架构师并没有团队管理的职责。但是按照德鲁克的说法,如果知识工作者要对企业的经营作出决策,那么他就是个管理者。其实架构设计和软件开发者每天都面临着许多的决策,而这些决策或多或少的影响这软件企业的经营,无论你是决定一个变量命名这样的小事,还是要采用云或是微服务这样相对重要的决策。

  • 卓有成效的管理者 https://book.douban.com/subject/1322025/

本书不算是冷门书,如果你一定要看一本管理类的书籍,我推荐这本。《卓有成效的管理者》的基本观念:对组织负有责任,能影响组织经营成果的人,就是管理者。管理者,就必须卓有成效。卓有成效是可以学会的!

  • 华杉讲透孙子兵法 https://book.douban.com/subject/26354200/

孙子兵法的大名大部分中国人都熟悉,但是华杉的解读非常的到位。在本书中,抓住兵法根本思想,通过155个经典战例,将《孙子兵法》的原意剖析得详尽透彻。同时援引2000多年来,解读《孙子兵法》的传世注家曹操、杜牧等11人的注解,从不同角度还原兵法原意。
如果将软件开发比做打仗,那么敌人就是软件开发中面临的各种问题,技术宅,陷阱。如何做到不战而屈人之兵,或者百战无伤,希望本书能带给你答案

  • 重来 https://book.douban.com/subject/5320866/

《重来》的作者编制并创建了网络开发框架Ruby on Rails,本书呈现的是一种更好、更简单的经商成功之道。读完这本书,你就会明白为什么计划实际上百害而无一益,为什么你不需要外界投资人,为什么将竞争视而不见反倒会发展得更好。事实是你所需要的比你想象的少得多。你不必成为工作狂,你不必大量招兵买马,你不必把时间浪费在案头工作和会议上,你甚至不必拥有一间办公室。所有这些都仅仅是借口!如果尤其适合在创业公司做技术的架构师和程序员。

哲学数学科普类

  • 哲学家们都干了些什么? https://book.douban.com/subject/6425061/

做任何事情,做到最后,你会发现哲学在向你招手。我看过不少哲学类的书籍,很多很难读懂,这本书生动有趣,虽然可能不如其它的哲学类书籍专业,但是如果一本书不能吸引人阅读,那么他的价值就很难体现。了解一下哲学史,对于你的架构设计或者软件开发绝对是很有帮助的。

  • 公正 https://book.douban.com/subject/5408882/

本书源自桑德尔教授的哈佛大学公开课,《公正-该如何做才好》。强烈推荐架构师或者有志成为架构师的小伙伴阅读。架构和软件设计每天都要面临很多决策,本书(课)就是教会你如果形成自己的价值观,定义什么是公正,什么才是正确地事?

  • 天才引导的历程-数学中的伟大定理 https://book.douban.com/subject/20453160/

这是一本讲述数学史的书,一般的数学史都比较枯燥无味,但是本书把数学故事讲述的非常生动有趣,如果你们家有小朋友不喜欢数学,建议你可以带他一起阅读本书。数学是诸多理论的基础,作为计算机科学领域的架构师,读一读数学史绝对有好处,何况本书非常吸引人阅读。

  • 上帝掷骰子吗 https://book.douban.com/subject/3228668/

最后推荐一本我的最爱,曹天元的这本量子力学史话。同样推荐标准是有趣!在大数据和机器学习时代,概率论成为了主导的理论思想,它同样影响着微观世界中的量子理论。

不存在一个客观的,绝对的世界。唯一存在的,就是我们能够观测到的世界。物理学的全部意义,不在于它能够揭示出自然“是什么”,而在于它能够明确,关于自然我们能“说什么”。

这份书单是我精心挑选出来的,希望能出现在软件开发人员或者是架构师小伙伴的2020年书桌上,它们以非技术类的图书为主,希望能让你站在一个更高的高度看待这个世界,如果你有什么好书,也欢迎推荐给我!

参考

  • 刚哥谈架构(四) :软件中的质量属性
  • 刚哥谈架构 (三)软件架构的道与术
  • 刚哥谈架构 (二) 我眼中的架构师
  • 刚哥谈架构 (一) 软件架构的定义
  • 重构机器学习算法的知识体系 - 《终极算法》读书笔记
  • A Philosophy of SoftwareDesign

刚哥谈架构 (五)- 推荐给架构师的书单相关推荐

  1. 音频文件 数据库存储_刚哥谈架构 (六) 谈谈数据库架构

    无论是构建什么样的应用,大都离不开数据.而在应用的架构设计中,如何设计数据库,使用什么类型的数据库,就是一个架构师必须了解的.所有的数据库的共同点都是以某种方式存储数据,以某种接口来访问存储的数据.我 ...

  2. 阿里P8工程师整理的22本Java架构师核心书单,先收藏起来!

    随便打开一个招聘网站,看看对高级Java工程师的技能要求. 抛开其它的经验能力等等,单纯从技术,或者说知识上来讲,可以发现一些共通的地方. Java基础 计算机基础 数据库,SQL/NoSQL 常用开 ...

  3. 五一小长假,这份书单要不要收下?

    转眼明天就是五一啦,小长假期间很多朋友有了出行计划,有的打算去旅游,有的打算探亲.然而正是因为黄金周,大家都会集中在这几天出行,所以一定要注意安全.保管好随身携带财物,留意天气变化,做好出行准备. 放 ...

  4. 人工智能真的有那么神秘么,推荐一份机器学习入门书单搞定它!

    点击蓝色"程序员书单"关注我哟 加个"星标",每天带你读好书! 机器学习是一门多领域交叉学科,涉及概率论.统计学.逼近论.凸分析.算法复杂度理论等多门学科.专门 ...

  5. c++程序员必知必会的技术,推荐你们一份qt书单

    点击蓝色"程序员书单"关注我哟 加个"星标",每天带你读好书! ​ qt系列书单 ​ Qt 5编程入门 Qt是软件开发领域中非常著名的C++可视化开发平台.本书 ...

  6. 【重磅推荐】嵌入式Linux经典书单(部分含视频)

    在线课堂:https://www.100ask.net/index(课程观看) 论  坛:http://bbs.100ask.net/(学术答疑) 开 发 板:https://100ask.taoba ...

  7. python经典书籍推荐-推荐10本量化Python书单,好好学习天天向上

    推荐10本量化Python书~Python非常灵活,让实验变得容易.解决简单问题的方法简单而优雅.Python为新手程序员提供了一个很好的实验室. Python具有一些特征,使其成为第一种编程语言的接 ...

  8. 进阶阿里架构师:算法、编程语言、数据库、架构设计!书单推荐!

    阿里架构师必读书单 数据结构与算法:算法.算法导论等. 编程语言:java编程思想.java核心技术等 模式与设计:设计模式.代码重构.深入理解java虚拟机 数据库:mysql优化.oracle.r ...

  9. 从“架构师书单”讲开去

    [源起] 琉璃要我推荐一下给工程师们的各阶段的书单,这件事被我压在手边好些天了已经.然后呢就看见了公司内网中孙坚的一份推荐.其实那份书单的一些信息也是有出处的(或者说有类似介绍的地方),是江南白衣的另 ...

最新文章

  1. python自带的Mock模块使用
  2. boost::math::quadrature::gauss用法的测试程序
  3. 清洗弹幕数据,去不相关的列和空值,MapReduce
  4. 惊现漏洞门!大众汽车被曝安全风险,1分钟内即可轻易解锁
  5. (18) HTML面试题集锦2
  6. ansys怎么使用anand模型_【干货】经典ANSYS 与 Workbench如何实现联合仿真,相互切换操作。...
  7. python解决xml文件中存在中文文字的问题
  8. mysql插入用户 5.7_mysql 5.7 用户添加与权限管理
  9. 解决夜神模拟器设置了代理后无法上网
  10. 深度系统linux deepin如何按装,U盘安装深度操作系统(Deepin)的方法
  11. nginx配置ssl证书实现微信小程序后端接口访问
  12. MATLAB 图像识别
  13. ubuntu 安装matlab+matconvnet
  14. 手机wap浏览器的设计
  15. 体现中文编程独有特点的一些探索
  16. 商家们为何在私域流量展开竞争?
  17. 多可文档管理服务器,【多可文档管理系统怎么用】多可文档管理系统好不好_使用技巧-ZOL软件百科...
  18. 【华为OD机试真题 Java】统计射击比赛成绩
  19. python中init什么意思_python中init是什么
  20. 计算机硬件故障检测实验报告,计算机系统的硬件检测实验报告

热门文章

  1. 无人驾驶感知篇之目标跟踪(十八)
  2. 微信公众号开发应用redis案例一则
  3. 基于test log的自动结果分析
  4. matlab复数相关基础
  5. iis7设置dz论坛url静态化经验
  6. 第十一周项目7-太乐了
  7. Java与模式第十一章读书笔记
  8. 从苏宁电器到卡巴斯基第15篇:我在苏宁电器当营业员 VII
  9. python读取财务报表-www.baostock.com
  10. 扫描仪在金融行业应用方案