Posts related to software

Qualities of Quality Software

What makes good software good? What attributes does it have, how can someone converge on better solutions?

Dealing with Unkown Unknowns

Unknown Unknowns are things that you don’t know you don’t know, made infamous by Donald Rumsfeld’s comments around the Iraq War. Any sane / rational person can deal with known unknowns, it makes sense to get a grasp on things that you don’t have much context on or are uncertain about. Unknown Unknowns are more insidious and trickier to deal with. The question then is how do you take Unknown Unknowns and make them known and therefore easier to deal with?

Values in Software Design

I thought that the value of software comes for its reach, how much a person can accomplish using it. But that may have been a poor and disheartening way to view it. Poor in that it doesn't capture the true value of software and disheartening in that it forces a chase after more features and more complexity. Well designed software isn't really about what one _can_ accomplish while using it, but rather about how enjoyable it is for someone to use.

Woodworking for Quality

How woodworking also applies to software. As with woodworking the goal of software is not to produce a piece of software, but rather to produce a quality piece of software. Approaching software as a craft improves how we think about software development.

We shape the tools that shape us

We build things in order to make us better at what we do, whether that be a saw to cut known materials more quickly or a piece of software to solve a well understood problem. This is well and good, but I can't help but wonder what it would have been like if the tools we created were not the best tools, and now we cannot escape the choices we have already made.