Recently I’ve been thinking more about architectural principles, why some projects get in a mess and why some don’t.
One thing that keeps cropping up is the cost of cleverness in pretty much any area of an IT project. It could be code, supporting software (e.g. OS/Database), configuration of the hardware and hosting etc. Clever solutions will be harder to change, maintain, debug etc. Most projects will likely require some cleverness otherwise they would be trivial to implement, the key is to be conscious of this cost and hence to apply cleverness carefully and as necessary. Documentation is a bore so if you’re only going for the minimum apply it to these areas.
This is a human problem and some of it can be explained by analogies to hammers.
“When you’re holding a hammer everything looks like a nail.”
This is a great phrase, an extension to it is the Golden Hammer, when a solution is elevated further. This is relevant to Azquo, we’re very pleased with our product and it’s very clever but we should be as clear about where it should not be used as we are about where it should be used. If you can solve your data problems using a normal database then you should not use Azquo. Databases like MySQL are not perfect but they are known quantities that are tried and tested and it’s hard to overestimate the importance of this. Use them until you can’t.
The hammer quote above makes the point that hammering a screw in is a bad idea. To extend this further it can be just as bad to hammer in a nail with a sledgehammer or use a power drill to screw in a screw. The internet helpfully tells us all about the challenges and solutions faced by sites like Facebook and Twitter but it does not follow that such solutions should be applied to smaller websites. How many techies have needlessly experimented with technologies like Hadoop? Sure it can handle vast quantities of data but will you really ever have that much? And if so how soon? Realistically by the time a business grows into a ‘Facebook’ or a Twitter its requirements will have changed and technology will have moved on. Plan a relatively short distance ahead.
This is where Azquo can really help. By allowing you to capture the now, when it comes to planning things for the future, you don’t need to think clever as the thinking behind the system is done for you.
Something I noticed early on in my career was the way some techies are interested in technology more than others. I’m pragmatic, the risk with this is that I can miss a trick and not be aware of a blatantly better way of doing something. Perhaps much of the point of this post is to point out a risk that comes with being ‘into’ technology : creating a solution that’s cool or interesting but ultimately much more costly or impractical than a less cool or interesting alternative. To paraphrase 10CC: “Tech for tech’s sake (costs) Money for God’s sake!”
The people who make such decisions are typically the most senior technically – they’re very knowledgeable and skilled. But it’s imperative that they exercise self-restraint, because Management will have no idea that they may have used sledgehammers to crack nuts or have put alloy wheels on a tractor!