Modular, Decoupled, Best Practiced, Well Designed, Bullshit
I write a metric crap ton of code. It’s pretty much what I do from the time I wake up until the time I go to bed on most days. I do it because I love it, but there’s something that’s always bothered me about code, or rather coders. All too often we try to make code perfect, when what we should really be trying to do is make it work.
We try to keep things loosely coupled, modular, and using the right design patterns. We apply all kinds of best practices, optimizations, and the latest paradigms. In reality though, if we make something that works, there will be time to go back and fix it, because making it work often means making money, which gives you options.
I’m not saying be sloppy. I’m not even saying to walk away from all these principles; they’re good. But don’t let them get it in your way of making something work. If you can take a short cut and have something working today, rather than “doing it right” and having it work a few weeks down the pike, then take that shortcut, note it, let your boss or client know about it, but do it, or at least give them the option. Sure, it might create more work down the road, but then again the client starts making money faster, and you get paid to come back and change it when they’re successful. It’s a win win.
[From my blog.]