1.应用场景

主要用于推荐一些架构师应该阅读的优秀书籍。

2.学习/操作

1.文档阅读

架构师必读书单 | “华仔,放学别走!” 第5期-极客时间

2.整理输出

原文

你好,我是华仔。

在专栏更新的时候,很多同学留言希望我推荐一些书籍可以课后继续学习,正好我自己也是一个爱读书的人,最近7 ~ 8年,平均每年读书超过50本,因此今天就从我读过的书籍中选择一些让我印象非常深刻的推荐给你。我把这些书分为成长、技术和业务三个方面,因为架构师本身就是一个比较综合的职位,对综合技能要求很高,需要你从各方面提升自己。

我推荐的书是我从几百本中挑出来的,可以说是经典中的经典了,但这并不意味着只要看完这些书就够了,读书和技术提升是类似的,都是一个长期积累的过程,积累越多、收获越大。关于技术人员具体如何学习、如何提升,可以参考我之前在InfoQ上发表的文章《佛系程序员的月薪五万指南》。

每本书我习惯用“一句话推荐”,虽然显得比较“简短”,但我认为推荐语太多会框住你对书的理解,也担心剧透太多会影响你的阅读体验。好书就像美酒一样,一定要自己品尝才能真正体会其中美妙的滋味。

成长篇

《异类》


一句话推荐:颠覆你对成功的认知,例如:什么才是赢在起跑线?为何现在的富人都是大约生于1955年左右?

《随机漫步的傻瓜》


一句话推荐:只要看这一本书,你就能免受所有鸡汤的毒害!

《一万小时天才理论》


一句话推荐:1万小时理论实践版,详细阐述了1万小时天才理论的3个关键点。

《情商》


一句话推荐:如果你认为你的老板还不如你聪明,那你需要好好看看这本书。

《优秀到不能被忽视》


一句话推荐:不管是工作还是爱好,要想成功的原则是什么?很简单,“做别人愿意买单的事情”!

《影响力大师》


一句话推荐:天天立flag,月月打自己的脸?不是你意志力不行,而是你方法不对,这本书可以给你一套完善、可操作的方法。(注:我以前读的版本叫《关键影响力》,新版改名叫《影响力大师》。)

技术篇

推荐技术书籍实际上是有一定局限性的,因为每个技术领域其实差异还是挺大的,就算都叫程序员,前端程序员、客户端程序员、后端程序员之间差异就很大;即使都是后端程序员,Linux开发和Windows开发所需要的技术也不一样。因此我提炼了一个通用的技术书籍学习路径,不同技术领域可以按照这个路径去拆解:

  • 深度学习你的代码运行环境:例如Linux程序员一定要深入学习Linux和UNIX的操作系统,iOS程序员要深入学习iOS系统,前端程序员要深入学习浏览器原理,以此类推。

  • 深入学习你的核心工具:例如Java程序员的核心工具是Java,嵌入式程序员是C,而DBA就不是学编程语言,而是学MySQL或者Oracle了。

  • 深度学习领域基础知识:例如后端程序员的网络编程,前端程序员的动效知识,Android客户端程序员的渲染知识,以及所有程序员都要求的算法知识等。

  • 广泛学习技术领域的通用成熟技术:例如前端程序员要学的React和Vue,Java程序员要学的Netty、Spring,互联网后端程序员的标配MySQL、Redis等。

下面我以Linux后端Java程序员为例,给你推荐相关技术书籍。

《UNIX编程艺术》


一句话推荐:经典书籍,结合UNIX的历史来讲UNIX设计哲学,改变你对编程的认知和理解。

《UNIX网络编程(卷1)》


一句话推荐:经典书籍,网络编程必读。书很厚,重点是前三部分,不需要一次全部读懂,先通读,后面经常参考并且加深理解。

《UNIX环境高级编程》


一句话推荐:经典书籍,Linux/UNIX C/C++程序员必读,就算是Java、PHP、Python等程序员也要通读一遍,了解系统底层能力有助于理解编程语言的各种实现。

《Linux系统编程》


一句话推荐:和《UNIX环境高级编程》类似,Linux平台可以看这本。

《TCP/IP详解(卷1)》


一句话推荐:经典书籍,全面介绍TCP/IP协议栈各种协议,重点看TCP和IP部分。

《算法之美》


一句话推荐:讲算法非常有趣的一本书,告诉你如何将算法应用于恋爱、生活、工作!

《算法设计与应用》


一句话推荐:将算法与实际应用结合起来,从应用引出算法然后进行算法推理,如果你数学很牛,可以挑战一下这本书;如果你数学很菜,那我更加推荐这本书,因为其中的算法原理和应用场景分析得清晰易懂。

《Java编程思想》


一句话推荐:经典书籍,全面介绍Java编程,入门必备。

《深入理解Java虚拟机》


一句话推荐:全面理解Java虚拟机,原理介绍得深入浅出,很少有技术书籍我会优先推荐国内作者,而这本是我大力推荐的。

《C++ Primer》


一句话推荐:经典书籍,全面介绍C++编程。当年我看了很多C++书籍都不得要领,看了这本后豁然开朗。

业务篇

不管是普通程序员还是架构师,实践工作中都需要有一定的业务理解能力,而架构师的业务理解能力要求更高。理解业务一方面有利于更好地设计有针对性的架构或者方案,另外一方面也可以防止被产品经理坑 :)

《增长黑客》

一句话推荐:肖恩·埃利斯和摩根·布朗的这本书理论体系完整,既给出了很多实践技巧,又总结了很多经验和需要避开的陷阱。

《需求》

一句话推荐:如何理解用户需求、如何满足用户需求、同样产品为何有的公司失败而有的公司取得了巨大成功?这本书让我茅塞顿开,建议技术同学都推荐这本书给你们的产品经理。

《淘宝十年产品事》


一句话推荐:这本书总结了淘宝10多年发展过程中产品遇到的各种坑和挑战,让你明白“罗马不是一天建成的”,产品也是逐步演化的(这也是我的“架构设计三原则”中的“演化原则”)。

《定位》


一句话推荐:告诉你如何做业务战略规划,有些偏重理论,架构师需要学习,程序员可以先放一边。

《宝洁制胜战略》


一句话推荐:结合宝洁的经验,提出了一套完善的战略规划和落地方法,理论与实践兼备,架构师必备,拿着这套方法论,就可以PK你的老板了。

最后我想说,收藏书单和囤书不是目的,更不能收获成长,只有像学习专栏那样坚持下来,坚持阅读、坚持记录、坚持分享,才能让你从书中品尝到最妙的美酒。

编辑乱入:华仔推荐的图书现已上架“极客商城”,价格比其他电商平台更美丽哦~现在订购,请从“极客时间发现页”下滑进入“极客商城”,即可选购华仔推荐图书。

后续补充

...

3.问题/补充

TBD

4.参考

TBD

后续补充

...

架构设计 - 架构师必读书单相关推荐

  1. 互联网优秀架构师必读书单V2.0

    一篇文章搞懂高级程序员.架构师.技术经理.技术总监.CTO,从薪资到技能要领的区别,我提到了架构师的准确定义和所需工作年限,以及最重要的架构师的职责等. 从程序员进阶到架构师,6大核心技能详解,提到了 ...

  2. java程序员进阶必读书单

    以下是我推荐给Java开发者们的一些值得一看的好书,从java基础开始到高级,以及从高级进阶到架构等的书单. 基本都是经典之作,可以利用工作闲暇的时间,系统阅读. [外链图片转存失败,源站可能有防盗链 ...

  3. 程序员必读书单1.0

    原文:http://lucida.me/blog/developer-reading-list/ 本文把程序员所需掌握的关键知识总结为三大类19个关键概念,然后给出了掌握每个关键概念所需的入门书籍,必 ...

  4. 【转】程序员必读书单

    作者:Lucida 微博:@peng_gong 豆瓣:@figure9 原文链接:http://lucida.me/blog/developer-reading-list/ 关于 本文把程序员所需掌握 ...

  5. MySQL性能调优与架构设计-架构篇

    架构篇(1) 读书笔记 1.Scale(扩展):从数据库来看,就是让数据库能够提供更强的服务能力 ScaleOut: 是通过增加处理节点的方式来提高整体处理能力 ScaleUp: 是通过增加当前处理节 ...

  6. Java程序员必读书单

    读书是另一种感知世界的方式,是另一种提升自我的方式,是另一种与人交谈的方式,一周不读书就觉得自己俗了,长久不看书,写东西就找不到感觉了,网络上,电视上,各种电子设备上的内容当然不少,但都比不上读书,读 ...

  7. BAT华为等一线大厂Java工程师必读书单

    被誉为UNIX编程"圣经"的Advanced Programming in the UNIX Environment一书的第3版.在本书第2版出版后的8年中,UNIX行业发生了巨大 ...

  8. 诚意分享:阿里大师推荐的这份Java开发必读书单

    分布式事务 随着互联网快速发展,微服务,SOA 等服务架构模式正在被大规模的使用,现在分布式系统一般由多个独立的子系统组成,多个子系统通过网络通信互相协作配合完成各个功能. 有很多用例会跨多个子系统才 ...

  9. 架构设计-架构愿景分析

    架构愿景实际是回答了哲学家经常思考的三个问题: 我是谁? (问题是什么,现状) 从哪里来??(原因:为什么出现问题) 到哪去? (愿景和目标是什么) 一.前言:架构设计的步骤 架构设计非常适合使用瀑布 ...

  10. 架构设计——架构概述

    架构 一.架构概述 什么是架构 架构:又称软件架构,是有关软件整理结构与组件的抽象描述.用于知道大型软件系统各个方面的设计. 业务架构 系统架构 优秀的性能.超强TPS/QPS的承载能力.高可用决定了 ...

最新文章

  1. mac找不到mysql数据库_mac下mysql升级后找回丢失数据库
  2. Devexpress报表开发(二):创建数据报表
  3. 剑指offer面试题53 - II. 0~n-1中缺失的数字(二分查找)
  4. 数组遍历,判断数组中的对象中某一属性值时候为空
  5. iOS 所有的系统字体列表
  6. div+css页面布局实战
  7. Hi3531D调试手记(六):IT6801实现HDMI转码BT1120输入VI
  8. Win系统 - 该死!WebGL 遇到了问题 (chrome浏览器)
  9. is automatically signed, but provisioning profile has been manually specified. Set the provisioning
  10. No overload matches this call. Overload 1 of 2, ‘(type: “*“, handler: WildcardHandler<Record<EventTy
  11. 什么是人脉和人脉资源
  12. 手游开发中你需要了解的开发语言知识
  13. 2.2 数据库应用系统开发方法
  14. 算法刷题(蓝)【基础篇+算法篇】【Python版】
  15. word中如何批量更新题注(域)
  16. 学计算机大学累不累_大学学计算机专业的体验重点在最后!
  17. android自适应图标如何制作,实现自适应图标
  18. OpcEnum交互式用户不可选解决办法
  19. 用 Wasm 为数据库增加用户定义函数
  20. crmeb是什么意思

热门文章

  1. 联想开机壁纸存放位置
  2. struts1和2的区别总结
  3. 图像语义分析学习(一):图像语义分割的概念与原理以及常用的方法
  4. Notion,一款优秀的程序员记笔记软件,值得推荐!
  5. 两个音轨合并_怎样将两个音频合并在一起?超详细教程!
  6. mysql 读写分离_详解MySQL读写分离
  7. mysql输出九九乘法表_SQL 打印九九乘法表
  8. 程序猿DD元旦送书:第二弹!
  9. 移动前端开发和 Web 前端开发的区别
  10. 移动前端开发和web前端开发的区别