DevZendo.org was formed in 2009 by Matt Gumbley as a distribution point for his larger-scale open source projects.

These are split into:

  • applications: programs intended for users, with a strong emphasis on aesthetics, ease of use, zero-tolerance of bugs and minimal, but essential features
  • the developer area: libraries, frameworks and scripts intended for software developers who share our ethos

It is hoped that a community of like-minded developers and users will form to use, and take these projects forward.

We are Software Crafters, inspired by the idea of Software Craftsmanship1 (although preferring a gender-neutral term), and develop using the open source model since it affords us the best opportunity to create quality.

“In spite of the rise of Microsoft and other giant producers, software remains in large part a craft industry. Because of the enormous variety of specialized applications, there will always be room for individuals to write software based on their unique knowledge. There will always be niche markets to keep small software companies alive. The craft of writing software will not become obsolete. And the craft of using software creatively is flourishing even more than the craft of writing it.”

Freeman Dyson — Science as a Craft Industry.

People think focus means saying yes to the thing you’ve got to focus on. But that’s not what it means at all. It means saying no to the hundred other good ideas that there are. You have to pick carefully. I’m actually as proud of the things we haven’t done as the things I have done. Innovation is saying no to 1,000 things.

Steve Jobs — Apple Worldwide Developers’ Conference, 1997

We favour modern, cross-platform development languages, such as Java & Scala. We’re experimenting with Swift, Elm, Haskell, Erlang and Perl 6. We don’t tolerate bad tech such as the JavaScript ecosystem and its ‘framework du jour’ approach. We’ll occasionally write in dynamic languages, but not at scale. That way lies madness. Strict, strong typing, machine-checked contracts, types first, property-based tests, and unit testing are the way here.

We place a high value on the quality of our software, as measured using several static analysis and metric analysis tools; we strive to remove complexity where it arises, to ensure our code is understandable by our developers and those who depend on it. We use continuous integration to ensure that our software is always in a state where it can be released.

Our approach is best explained in several popular books on software crafting.

DevZendo.org is designed and maintained by Matt Gumbley.