Don’t reinvent the wheel.

The fact that you can write your own software doesn’t mean you should.

For example, if you’re in the landlording business and you *happen* to have some database authoring experience, does that mean you should write your own software to run your business? Probably not. You’ll probably get more ROI from finding good software from someone else who makes a living developing the kind of software you need. Ex:

If you’re a software developer, you *should* eat your own dogfood. Meaning, you should use your software in-house.

But this is the flipside of that. It’s the food eating the dog.

If you need software for something, there’s an increasingly good chance someone makes a commercial grade product that will suit your needs. Just because they can make it profitably doesn’t mean you (with one customer) can do the same.

This also applies to software developers. If you can get a well-tested, off-the-shelf library to give your software, e.g. regular expression support, why not buy and use that? It’s probably better than writing and maintaing — forever — your own regex solution.

So the message for the would-be landlord and software developer is: Don’t reinvent the wheel.

P.S. If you can get the source, pay a little extra and get it. It’ll save the day in case your vendor ever goes out of business or upgrades their offering beyond what you need (and want to pay for). So you get the best of both worlds. Plus it’s helpful to see how things work.