Prelude to How

This post is the fourth in a series on writing software. The first introduced the most fundamental of the principles of concern in creating software. That of purpose. The second took that idea further. It spoke of turning a problem into a vision for a solution. The third moved from the question of why? into that of what?. It emphasized that software is not always the solution and we do well to consider other answers, but when software is the best answer, the we deliver. [Read More]

What will you build?

This post is the third in a series on writing software. The first introduced the most fundamental of the principles of concern in creating software. That of purpose. The second took that idea further. It spoke of turning a problem into a vision for a solution. With a vision in place, we’ve moved through the first and most fundamental of the questions we need to answer regarding any undertaking: Why? [Read More]

Solution

This post is the second in a series on writing software. The first introduced the most fundamental of the principles of concern in creating software. That of purpose. This one is a further articulation of the meaning of purpose in software. Like humans, software needs a reason for being. Software, at least good software, is a solution to a problem. A solution without a problem is not a solution at all. [Read More]

Guiding Principles

This post is the first in a series on writing software. The idea is to articulate the thinking that goes behind being a competent and valuable software professional. What do you need to think about when you write software? What should be your most important concerns? Developers tend to think first about things like maintainability, performance, and craftsmanship. These things are, of course, all important and worth considersation. Developers certainly need to think about the correctness of the software they write and making sure it can be extended in the future. [Read More]