读书这件事,对我最有用的一条原则是:带着一个具体问题去读,而不是按书单硬刷。
重读的两本
有些书第一遍读不出味道,等到真遇上了对应的问题,再翻就都是重点。
《设计数据密集型应用》
第一次读的时候只觉得概念多,第二次读是在梳理一个数据同步方案时,忽然明白了「批处理与流处理的边界」那一章在说什么。
- 对「一致性」这个词的理解,从「数据库的开关」变成了「业务能接受什么」;
- 记住了那句话:系统复杂度来自需求本身,而不是技术选型。
《重构》
重读时不再关注具体手法,而是关注它反复强调的节奏:小步、可验证、随时可停。
新读的几本
| 书名 | 解决的问题 | 适合谁 |
|---|---|---|
| 《程序员修炼之道》 | 工程习惯的清单化 | 工作两三年后重读效果最好 |
| 《编写可读代码的艺术》 | 命名与结构的具体判断 | 需要 review 别人代码的人 |
| 《写作这回事》 | 怎么把一件事讲清楚 | 需要写文档、写文章的人 |
一个意外的收获
技术书之外,我读得最有用的一本是讲写作的。工程里大量时间花在「把复杂的事情说清楚」上:写方案、写复盘、写接口文档、写变更说明。说不清楚,往往说明自己还没想清楚。
阅读方式上的两个调整
- 不再追求读完:一本书里有两三章真正解决问题,就已经值回时间;
- 边读边留痕:在笔记里只记「我会怎么用」,不抄原文。
下半年想读的
- 一本操作系统相关的书,补一补底层直觉;
- 一本非技术类的长篇,用来对抗碎片化阅读的习惯。
读书清单不写太长,写长了就变成任务,任务就会拖延。