At work, I was tasked with brushing up some .NET stuff I’d done about a year (or more) ago. I’ll spare the traditional “I can’t stand .NET” rant, just know that I can’t stand .NET.
The first thing I realized when looking back at my 12-18 month old code was that I didn’t write it; I couldn’t have. But denial only took me so far. Apparently, I had no conscience of good programming back then. The funny thing is, who’s to say I won’t feel exactly the same way 12-18 months from today?
Earlier this week, I wrote a small novel about a case where I was using method_missing. My rudimentary plan was skewed a bit, but for some reason, it didn’t deter me from using method_missing. I tweaked things in an uncomfortable way, as to fit the situation, when I really just needed an even simpler association method. From that little hiccup, I felt as though I had gained a whole new wave of knowledge. All of a sudden, I was thinking clearer than ever before. I had experienced another “What was I thinking?” moment.
Every time I look at code a little while after I’ve written it, I’m astounded by how much I’ve improved, despite the time gap. But the truth is, I’ll never be “done” becoming a good programmer; I’ll always learn and improve. Unsurprisingly, that’s a lot of why I love what I do. Learning to solve programming problems better, is like a fresh view of programming altogether.
The “What was I thinking?” moments will never cease; they’ll emerge every couple of months, forever. There are times when good code turns stale, and there’s always a better implementation. While I may have limitations as to what I’m capable of, with constant refactoring and attempts to improve, those limitations diminish more and more everyday. Sometimes, though, I don’t realize that until a little while later.






Comments