Not so much the creativity, I suppose, but the fact I keep my brain turned on when I just need to let my body do the work. That’s something I struggle with from time to time – I’ll scope out a project, jam on it and then get halfway through and realize I could make it better/faster/stronger if I tweaked this. Or rewrote that. Or restructured the data store. Or… Or… Or…
Don’t get me wrong – the original would work fine and do what it’s supposed to do (and then some). But I have trouble leaving well enough alone, and I’m always looking for a better way to do something…just because. And so when I should just be letting my fingers do their walking across the keyboard turning the original plan into ones and zeros I’m thinking “maybe I should change this, instead”…and then revisiting the plan.
It’s not all bad. There’s legitimacy to that kind of approach – it’s a whole lot easier to build something up-front than it is to try and tweak it later, so if something needs to be done differently doing it up-front is the way to go. And it’s not willy-nilly stuff; it’s legit “if we did it this way instead we’d get better performance” improvements.
But all that being said it causes me sleepless nights sometimes. I rewrote a small application I built for a client on Guru.com three times (and by “rewrote” I mean “completely rewrote”) because I found a better way to do it that would make it more flexible for them (so they could add fields on their own if their needs changed in the future). It was fun to do and I learned a lot (much of which I’m applying on current projects) but I lost a lot of beauty sleep over it (and heaven knows I could use some of that).
I’m finishing up some stuff on my latest project and realized that I used a TON of that code I’ve used in this project. Whether it’s the methodology I created to add basic “brains” to cells to make them easier to manipulate or some functions to minimize repeating code (something Ruby taught me) or something else I recognize a lot of the code in this current application I’m developing from prior stuff I’ve done.
I know I’m a nerd, but that’s just part of being insanely curious (for me, anyway) and never satisfied. There’s always a better way to do something – and I want to figure it out…even if it means I lose sleep because of it. But knowing when to say “enough” is a skill I still need some practice on.
Now it’s time to take a break, watch some basketball (rock chalk Jayhawk – GO KU!) and let the brain cool off for a minute. I changed methodology again on my major project (for a good reason – my original plan was going to add more size than expected) so it’ll be another late night but it’s definitely worth it for what it will yield – I just need to let the neurons stop firing for long enough to let me get some of the code written.
(post image courtesy of My-Programming.com)by