Top 10 Things To Learn – 2009 Edition
Jan 16th, 2009 by AZuidhof
Being always late to the party, I thought I’d chime in with my Top-10 list of things to investigate for 2009 (nooo, not another Top-X list, we hates them). After seeing dozen of lists, I finally was inspired by Russell Ball’s list. It bears some resemblance to my own list, and his items that are not on my list would definitely be in my top-30-something. But would be a bit lame to just say “look at Russell’s list over there”. So here goes:
- jQuery - this JavaScript framework that’s literally all over the place. This is especially true since Microsoft is starting to integrate it into Visual Studio, but of course outside Redmond world it was also really taking of with some major vendor’s adopting it
- Having looked in ASP.NET MVC superficially, it seems like a good idea to also dive into this other major MVC framework, Ruby-on-Rails. Haven’t really given it another look after seeing the famous DHH video where he shows off RoR’s capabilities and subsequently convincing myself that I could really have a website up and running within the hour. It’s that scaffolding thingie, if I remember correctly
- this might make Ruby my language for the year 2009
- Domain Driven Design (DDD). Read the InfoQ Domain Driven Design quickly book at the end of last year, but to get your head around it you definitely need more books and, above all, practice.
- Mocking frameworks. I know they are there, and I can even explain how and why they have their use . But it’s still difficult to put them into practice. Hmmm, a case of practice more, indeed.
- Git. This is one that I have second thoughts about. Distributed source control systems might be all the rage for some, but up until now they seem like overkill to me, needlessly over complicating keeping track of your code. Please convince me otherwise.
- web development. Ehh? At the moment development is mostly non-web for me, but the web is still a secret love. ASP.NET MVC just has that magical twist that makes me want to go deeper here.
- the obligatory WPF; On the other hand: strike that! Too far outside the zone-of-responsibilities. Me is not a designer, ya know?
- take a look at all the new stuff coming out of Microsoft: Azure, cloud computing, Unity, VSTS 2010, Hyper-V, etc.etc. ( there’s definitely no time to thouroughly look into them all, so decided to put them all into one bullet)
- Tell me, what did I miss that should definitely be here…?

Welcome dear visitor! I'm your host, Arjan Zuidhof. Have a look around on this opinionated linkblog, take a peek at the links, and if you like what you see, don't forget to subscribe to the feed (at the top, on your right) and receive fresh links daily in your reader.
Dutch? You might be interested in my -new!!!- link blog
I imagine you’re not the only one with this list!
If you want to get started quickly with DDD, you might want to try our “TrueView” framework. It lets you visualise your domain entities by exposing them as a fully functional application. It can certainly help you jump-start the learning process.
Cheers,
Vijay
X. Learn a functional programming language. E.g. Erlang or Haskell.
You can use git for a centralized repository as well. Branching, merging, stashing, interactive staging are just a few of the things that it excels in. Repository checking, compressing and all other low-level functions make it just brilliant. You won’t know until you try it…
The list rocks, clicked on some links to check them out, but I have to say one thing is seriously killing the user experience for me, the white text on black bg, I’m seeing lines all over the screen when I’m done, maybe you could do sth about the contrast, it hurts.
@BigBlackDog, Gerhard, thanks for the extra tips. Functional is definitely on my list, but it tends to drop down constantly because other things tend to pop up all the time…
@Ahmad: I’ll take your comment to heart, and will consider it. But I happened to like this standard template. And lacking design skillz, even slightly tweaking it (as I already did some time ago) is a tough job for this developer.