about
…and ideas on the things I'm interested in, mainly [[programming]], [[philosophy]], and [[systems thinking|systems thinking]], especially related to [[systems…
Programming is the act of communicating your intentions and understanding of a system to other people in a way that happens also to make them a reality within that system.
Sure, computers run our code, but if they were its primary audience we’d just write everything in binary. Code is fundamentally exposition: descriptions of systems, their domains, and behavior. As we come to rely ever more on these systems and they grow increasingly complex, the need for human-intelligible code has never been greater.
Never forget that the people visiting our websites are not captive audiences. They have goals to accomplish, and in nearly all cases, better things to do. We must learn (and continue learning) who they are and what they need, and get them to it as quickly and easily as possible, wherever and however they may be.
Writing code is easy. One of the most valuable lessons of experience is knowing the code you don’t have to write. Don’t repeat yourself. Do more with less. This applies just as well to others’ code we use in our projects as it does to our own.
But even more importantly, it’s understandable. Break big things up into smaller parts: ideally each part should do exactly one thing. Our job is to manage complexity, not add to it.
On any long-lived project, your code will change constantly. Tests are proof that your system does what it needs to, and are far more valuable over time than the particular way in which it performs a given task, which will change.
…and ideas on the things I'm interested in, mainly [[programming]], [[philosophy]], and [[systems thinking|systems thinking]], especially related to [[systems…
…reviews are a form of [[giving feedback|peer feedback]] for [[programming|programmers]]. Insights from [a study by SmartBear](https://smartbear.com…
…to follow this pattern and are thus flow state generators. [[Programming]] too is marked by this continual series of challenges ("I…
…the worlds in all of those superhero movies?) ## Devops In [[programming|software development]], thanks largely to the [[devops]] movement, we are…