There has been a ton of interesting web-discussion recently. Has software failed us? Are we building skyscrapers or ever-higher piles of mud?
I’m in the ‘mud’ camp, but I’ll share a secret with you: it doesn’t matter. It’s a question of intelligent design vs evolution. Unsurprisingly, software is on the evolutionary path, like a thousand other systems & industries both before it have been, and after it will be.
Do I believe in well-reasoned frameworks & foundations? Absolutely. Boundless Learning’s tech-stack is a statement itself of my preference & belief that better tools create better products. Intelligently-designed, quality tools don’t spontaneously create themselves, they take thought, iteration, and learning, particularly from anti-patterns. Furthermore, they only have staying power if they work, and work better than what’s out there to warrant switching/learning costs.
All the rest? That remains mud. That cool little library for parsing SWFs? Mud. That nifty tool that converts codecs? Mud. That useful proxying server? Mud. But they work, and again, that’s the only fitness function that matters.
To all the people who are attempting to improve the software status quo: I salute and support you, but I won’t bemoan the mud. It’s there and often frustrating, but it’s useful and gets the job done.
So rather than cultivating resentment, cultivate fearlessness. An engineering personality-trait that sits high on my list of must-haves is fearlessness. Can you approach a problem, and find a sensible path from A to B, and if the best path takes you through the dark forest of awkward command line tools and half-baked open source projects, can you persevere and get stuff done?
Construction is what matters. If you find an economic opportunity in fixing the mud, great, otherwise, let it fade into the background and soldier on.