You write some code, a year goes by, you look back at that code, and think:
“What the $#@@#% was I thinking when I did that?!”
The way I see it, if I look at some code I wrote a year ago and do NOT get the “what the hell was I think?” feeling, that means I haven’t either learned or improved a damn thing in that time period. Seriously, if I can’t think of a better way of writing some code after a year, it really means I didn’t learn a new trick in the programming language, a new pattern, a new nothing. That means I’ve been settled in my own ways, I haven’t read somebody else’s code, I haven’t paired with anybody else…
Now, I know there’s people who wouldn’t care, but something like that bothers me. One of the things I always emphasize in my presentation on productivity is this: I’d like to always be a little better than I was the day before. If I learn a new word in English or Spanish, a new command in C# or Ruby, a new shortcut… whatever small that thing is, it already makes me better than the day before. As I’ve mentioned the other day, I’ve been also striving to do at least one thing different every week, as a way to keep pushing myself into, hopefully, making either my life or somebody else’s a little better.
And you know what’s really great? You go out there, talk to other people about this type of thing, and see that opinion being echoed by others.
So, again, if you look at code, or anything else for that matter, that you’ve worked on sometime ago, and you don’t feel like it could be improved in any way, think again; that could mean stagnation! I don’t know about you, but that freaks me out.
It has happened to me a couple of times (and I guess maybe to you, too) when after working a day or two on something, some type of hardware or software malfunction has caused me to lose my work and I had to redo it. Once the work is redone, I realize it is somewhat better than the original one. That’s that: I’ve done it once, hopefully learned something in the process, acquired some experience, and then the second time around it should come out easier/better.
Ok, enough random thoughts for the day… 🙂