They say life is a balancing act. Certainly one I share with most of you is figuring out how to balance time between learning new technology and actually getting work done. This is particularly challenging for those of us who spend all or part of our time writing or teaching others – especially at times when another version of Visual Studio and the .NET framework is heading towards us with the inevitability of freight train with no brakes.
Lately things have been a bit quiet here. I haven’t posted much on my blog. I don’t speak at too many conferences (though I will be at devconnections next week and probably in Spring – it’s actually a very cool conference, so I do encourage you to consider it if you’re looking for one to attend). I’m not writing much.
Well, I know this may sound odd coming from someone who obviously (if you look around this site) has very diverse interests. But the truth is that despite the time spent writing, speaking, developing other sites (like searchdotnet.com), I’ve always been and continue to be primarily a coder.
Not a manager. Not a trainer. Not an architect. A coder.
Yes, I do all those other things. But first and foremost I write code. Why, I even ship code.
The other day I had one of those really great experiences that are, I think, the reason I still code. I thought I’d share it.
I do a small amount of consulting. Small projects. I particularly like tough problems. On this particular gig I’d worked with the client to come up with a very elegant solution to a problem – but one that I wasn’t sure would work. I dove in one afternoon and before I knew it, it was 4 am. I hadn’t intended to work that late, but the project was a seemingly never-ending series of obstacles and I kept coming up with just one more thing to try. In fact, I had my computer off at 3 and was about to go to sleep when sure enough – one more idea needed trying (which worked! – which is why I was able to fall asleep at all).
I slept for maybe 5 or 6 hours, then dove in again. By noon I not only had a proof of concept – I had completed that part of the job.
Aside from that sense of relief ; that my design was, in fact, viable – I think the greatest satisfaction came from knowing that I still have what it takes. I may not stay up with all of the latest technologies (there are just too many technologies to keep up with, so I increasingly have to pick and choose), but when it comes to solving a problem with code, I’m not only as good as I was, I’m better (because now I know that it’s not just about the code, it’s about the cost of the code – something I really didn’t get when I was starting out).
I know many coders who have moved on to other things. Management is common. Speaking and training is as well (though let me stress, I know some great speakers and trainers who write production code also). Some have gone into real-estate (oops!). If you’re one of those who have drifted away from coding, and you miss the coding, maybe it’s time to give it a try again. I’m not talking about VB or C# necessarily – the learning curve on .NET is probably too much for casual software development. Check out other languages.
For example: lately I’ve been spending a fair amount of time on Powershell. Don’t believe the marketing – that’s it’s a management and administration tool. Well, it is – but it’s actually a very cool .NET language. And despite it’s C like syntax (curly brackets), it’s incredible interactivity (it is a true interpreter) feels a lot like traditional BASIC. If you’re looking to “play” with .NET, and don’t mind spending time in a command line environment, check it out.
Well, that’s it for now. Remember to stop by searchdotnet.com – I recently added some more expert sites (thanks for the recommendations) and while it isn’t “code”, it’s still one of the recent things I’ve done that I think represents a real contribution.