~/阅读
阅读清单
滋养我思考的养分——按顺序排好,如果你打算从头读一遍,它会真正派上用场。
奠基之作
《程序员修炼之道》
Andrew Hunt & David Thomas
奠定了基本的思维方式——DRY、正交性、曳光弹。那些关于用心对待手艺的段落,二十年后读来依然受用。
《数据密集型应用系统设计》
Martin Kleppmann
每当我需要让一个架构决策有真凭实据时,就会翻开这本书。存储引擎、复制、共识——讲得扎扎实实,从不含糊其辞。
《软件设计的哲学》
John Ousterhout
重塑了我对复杂度的理解。深模块、窄接口、“显而易见”的代价——每个团队都应该一起读一读。
《修改代码的艺术》
Michael Feathers
现实中的大多数工程,都发生在没人规划过的代码库里。这本书就是教你与它们和平共处的手册。
技术论文
Out of the Tar Pit
Ben Moseley & Peter Marks
点出了真正的敌人:偶然复杂度。我每年重读一遍,给自己重新校准。
《没有银弹》
Fred Brooks
至今仍是对“软件为何如此之难”最清晰的论证。在承诺任何工期之前,都值得读一读。
值得反复观看的演讲
Simple Made Easy
Rich Hickey
重新厘清了“简单”与“容易”的区别。看过之后,我给每个 API 命名和设计的方式都变了。
The Mess We're In
Joe Armstrong
谈软件的复杂度、对物理世界的模拟,以及为什么并发应当是默认选项。优美,又令人心生谦卑。
持续关注的博客
Julia Evans (jvns.ca)
Julia Evans
用五段话把艰深的系统话题讲清楚的“守护神”。她是我书写自己工作时想要效仿的榜样。
Increment / fly.io 博客
多位作者
出自真正在高压下运维系统的人之手的生产工程文章。尤其是 fly.io 的那些文章,篇篇是金。
我敬佩的工程师
Patrick McKenzie (patio11)
patio11
我效仿的不是他的代码,而是他的思考方式。他总能用让人过目不忘的方式,重新审视商业与手艺上的问题。