Mind What You Can Manage

What happens when a fundamental piece of your program no longer exists? When a service you rely on is discontinued? These are problems we've only seen increase with the high amount of churn in the software world. Rather than relying blindly (or hopefully) on an external service or project, we should be diligent in our search and assessment to determine the reasonable safety of our choices.

Assessing software before committing to a given project can be difficult. Some people rely on “popularity” or usage by a notable company as positive signals to determine the safety of their choice. However, these points of data can be, and are often, completely irrelevant to your ability to keep using a given piece of software for years to come. Instead, I've found, the most important factors are size, code quality, and language. Small projects, written well, in a language you specialize in are perfect candidates. Your ability to step in and (minimally) maintain the project is paramount, lest you be left out in the cold. With this in mind, before binding yourself to an external service or project, ask yourself: “Can I manage this?”