One of the more challenging parts of life as a freelance programmer is staying current on new technologies. In the past, my mantra has been “learn it when you need it” - and need it referred to work for a paying client. Inevitably, this strategy leads to stagnation, where you’re writing applications based on decade-old frameworks, hoping that God will be merciful to you and let the roof cave end, relieving you of your misery.
To avoid this unhappy fate, I’ve identified four technologies that I’m going to master in 2009:
- ASP.Net MVC. Two years (part-time) spent developing websites using Ruby on Rails made it really difficult when I had to go back to ASP.Net. I loved the separation of concerns, improved testability, and cleaner code that an MVC framework provides. Although (from what I’ve seen thus far) the new ASP.Net MVC framework isn’t quite as robust as Rails, it’s a giant step in the right direction.
- JQuery. I’ve used several Javascript libraries in the past, most notably Prototype due to its inclusion into Rails. But JQuery is a different kind of library. The code is easy to understand, easy to debug, and it just plain feels right. Plus, it’s being released with the ASP.Net MVC framework, and is being embraced by the powers-that-be in Redmond (while still remaining open source).
- WPF. Most of my client applications are currently built using WinForms, which is a great framework. But WPF is clearly the future of Windows apps, and at some point, I need to be aligned with that future. Besides, always hated that I couldn’t use code generation to build stock WinForms forms, but it’s child’s play to build a CodeSmith template that outputs XAML. That alone will boost my productivity quite a bit!
- NHibernate. Most of my current applications use a mix of custom business objects, stored procedures, and code-generated ADO.Net methods to talk to the database. It works and performs well, but is extremely difficult to change! LINQ to SQL shows some promise, but Microsoft has apparently decided to put all of its eggs in the Entity Framework basket, and EF isn’t mature enough for production use. NHibernate is stable, it’s been around for a while, and it is the darling of the ALT.Net crowd. It’s time to take the plunge.
What technologies are you planning to add to your repertoire in the coming year? Drop a note in the comments!
{ 2 comments… read them below or add one }
Holy cow, I don’t know what any of that means but I’m sure that it’s uber-cool!!!
John, that’s a solid list. Mine would be similar, but I’m also going to give the iPhone SDK a try.