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 […]

Diagnosing and Relieving Pain in Software Development

I’ve heard the term “pain” thrown around the developer community quite a bit. This “pain” comes from the vast amount of learning every developer needs to do to evolve in an ever-changing technological landscape. There are always new languages and patterns to learn and countless legacy systems which need to be integrated. Stretching one’s knowledge […]

How to Evaluate an Unfamiliar Codebase in 15 Minutes

When working at a software consultancy, you may be asked to evaluate an unfamiliar codebase. There are a lot of reasons why you may need to make such an evaluation—for example, your company is going to take over development on a legacy codebase, you’re considering undertaking an application rewrite, or maybe you’re thinking of integrating […]

Partial Scripting & You

While I was browsing Hacker News, I came across a blog post by Dan Slimmon explaining something he called “do-nothing scripting.” The premise of a “do-nothing script” is that it does nothing other than tell the user what to do at each step of a process. These types of scripts are great for helping communicate […]