My name is Joseph Junker. I’m a software developer interested in functional and object-oriented programming, programming languages, and formal verification. For me, programming is a craft as much as it is a vocation: I delight in code itself, and I pursue quality both for its own sake and as a necessity for the success of software projects.
There are many competing definitions of code quality. I think the easiest rough definition is something like “code is high quality if developers do not struggle to correctly modify and extend it”. When quality drops, bug rates rise, development speed slows, and developer frustration grows. From this perspective, my proxy for the quality of a codebase is this: Do its developers enjoy working with it? The answer to this question depends on both the code and the developers.
“Programming should be enjoyable” has two meanings. The first is that software should be pleasant to write and maintain, and the second is that developers should derive joy from writing code. I believe that these can be mutually reinforcing as long as developers value fun and have the skills and knowledge needed to solve problems elegantly. My goal is to contribute to both of these by communicating the excitement I feel when I learn new techniques for producing quality code.
This blog is generated by Jekyll and uses the Hyde theme, with minor modifications. It is hosted on Netlify.