Writing Software

I do consider myself an engineer, in so far as I solve problems and maintain the operation of complex systems. Mostly, though, I view myself as a writer, even when coding software.

On a superficial level we code in order to communicate our desires to a computer. But we actually code in order to communicate our intentions to other humans—either ourselves in the future, or our colleagues. Viewed in this way the importance of clear writing seems obvious.

A well-written program ought to convey at least as much intention as an essay, and it contains the same elements. Words, sentences, and paragraphs all must come together to form a coherent program.