Saturday, July 9, 2011

Developers, developers, developers, developers...

Lately I've been feeling the desire to change the way I do development. I've been using and developing with C# and .NET since pre-1.0 days (beta versions) and have stuck mainly to that set of tools for most of my development. My core development platform is Windows, but I would like to branch out. I've dabbled with Python, and looked at other languages (Go, Vala, etc), but have never made the jump to actually developing something meaningful in them. I haven't even gotten into Python enough to have written a full set of tools. In addition, I've looked at tools like Scons to replace make at work, and would love to do it, but it seems like I never get the chance to sit down and learn it and become proficient enough in it to make the move.

So, the question I pose is, how can I change my development life? I feel like I need something new. Something to keep development exciting. Just another .NET library or tool won't make the difference here. I feel too safe and secure with .NET, I need something that forces me outside my comfort zone a little and keeps me on my toes.

This is why I go through a period every year where I want to rewrite the main suite of tools I develop using C++/boost and friends. It would be something new and something that I haven't done in a while which would make me less comfortable. How do you do XML or JSON processing in C++? I don't know right now. How would I do a plugin architecture? I don't know right now. It would be the thrill of learning something again. The thrill of not knowing the answers to some questions and having to search and discover the way to do it.

I miss that right now. I still enjoy my work. I am writing both Windows apps and doing embedded development, but there isn't a lot of "new" going on there. I'd like to rekindle that by exploring new ways of developing; whether it be tools, languages or platforms.

There are so many cool projects out there, and I wish I could be part of them. I enjoy contributing and have picked up contributing a few things to a couple projects, but I'd like to start something as well. Something that would be useful to people. I guess that's the goal of most developers, providing something that is useful to someone.