Four Ways to Make Maintenance Dev. Work Less of a Chore

Doing maintenance work on a codebase isn’t very glamorous, and it isn’t always much fun, but it’s an important piece of building lasting software. Everyone loves working on so-called greenfield projects because they can let their creativity run wild. Adding features and fixing bugs in a system that’s already been built doesn’t seem to generate […]

How to Prototype Quickly: Six Tips for Light-Speed Programming

I’ve completed a few projects that involved prototyping software in a very short timeframe. This situation can differ drastically from the normal pace of agile projects because results and certainty have to be prioritized above long-term considerations. If you find yourself in a situation where you need to push code out quickly (and won’t be […]

Why I Don’t Use Classes

Recently, one of my teammates noted that our project’s codebase doesn’t have a lot of classes. The observation wasn’t framed positively or negatively. It was just an observation about a particular code style of the team as a whole. I didn’t think much about it at the time. But looking back, this observation has lead […]

Don’t Repeat Yourself, but Sometimes Repeat Yourself

Software developers are great at recognizing patterns. Maybe it’s an inherent skill that draws us to this profession. Or maybe it’s the process of writing software that develops this skill. Either way, “don’t repeat yourself” (DRY) is a natural application of this skill. However, repetition in itself is not the enemy that this principle makes […]