We’re beginners, in a sense, every time we [re-]visit unfamiliar code. Code that seemed perfectly sensible when we wrote it can be frustratingly difficult to read a few weeks or months later.
write for beginners
We don’t have to write software to be maintained by beginners, but maybe we should. Beginners are uniquely skilled at noticing complexity in code to which we’ve already adapted. Our code is more valuable to our teams if junior developers can work with it as easily as senior developers.
cultivate ease for its own sake
None of our work gets simpler of its own accord. Our systems evolve to become more distributed and complex. Our test suites get slower, more fragile, and more verbose. We’re leashed to an endless stream of push notifications, growls, dings, knocks, and vibrations. We’re asked to context-switch more than ever.
Why wouldn’t we take every opportunity to resist this disorder and stress by looking out for ourselves and our peers? Don’t make us think.
We fetishize complexity at our peril.