Software Mileage
Software mileage is one of my favorite idea’s. Early on in a projects development, you’ll be faced with an immense amount of decisions to be made about “the stack“. What programming language do I use, what hosting platform, what frameworks, tools, and libraries. You also may think this when desiring to learn a new tool of the trade, like pick up a new programming language or framework. When you’re in this situation, as I have been in many MANY times, I like to use the “mileage” theory of software usefulness. In essense, the mileage theory is the complexity or difficulty involved with some thing, divided by how long you think you’ll be able to use it before you have to replace it. Take for example, PostgreSQL. Postgres is one of the most advanced data management systems ever invented. It will take some time to pick up and learn it’s quirks, especially if you don’t know SQL going in. However, once you get a grip on it, Postgres will more than likely serve you for a very long time, even if your project goes to the moon. And moreover, if it doesn’t you’ll more than likely be able to apply those skills again to a new project. High skill, but high lifespan, so the mileage is good.