The Software Development Poverty Trap

软件开发中的马太效应,越是差劲的团队越缺乏长期规划,用老旧的技术,写 ad-hoc 的代码,优秀的工程师越容易离开(斜眼看我司)。

“把程序写好”这回事

来此余晟的微信公共号(对,就是翻译正则表达式的那哥们)。很多程序员在学校和工作中编程,但不知道如何写好程序,貌似也没有学校教如何『写好程序』。写好程序绝不是编译通过,跑过测试,符合 coding style 那么简单。文中提到的『荣誉感』还是挺重要的,我写代码的时候就会想着对自己的每一行代码负责,通过 code review 看别人的代码质量也会潜移默化影响我对这个人的评价,和对待他的态度。

What every programmer should know about memory

挺长的,从偏硬件的角度讲解内存的原理。前面几章在各个 OS 教科书上都能找到,后面的内容就比较贴近现实,看着很有意思。

The Little Manual of API Design

记得 GoogleTechTalk 里著名的一集 How To Design A Good API and Why it Matters 么,这个 manual 可以看作那个 talk 的扩展读物。API Design 在程序设计中的重要性相比于架构不遑多让,看看这些 best practices 有益身心~~

What Powers Instagram: Hundreds of Instances, Dozens of Technologies

一篇老文章,介绍 Instagram 早期时候(2012)的架构。我最喜欢这种早期架构的文章,看别人在高速增长期如何用快糙猛的方法解决问题。里面给的小部分技术在今天看来有些过时了,但大部分还很有借鉴意义。比如提到的 gunicorn 和 Fabric,是 Python web 开发中的标配(还有 supervisor);vmtouch (查了下发现是一个超级light weight的内存数据管理工具,代码也写的很棒);Munin,Pingdom 监控,Sentry 报告错误。