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

Four Tips for Dealing with Poorly Documented Libraries

Every developer has had to deal with the struggle of sifting through documentation that is incomplete, incoherent, outdated, or simply non-existent. Whether it’s libraries, frameworks, or platforms, the presence of good documentation can mean the difference between success and failure. The absence of good documentation is a serious enough downside to justify avoiding a certain […]