Saturday, December 31, 2011

Resolutions for 2012

So, after waking up from great 12h sleep, taking a refreshing shower I think it's a good moment to sit down and think about what I want to accomplish in the coming year. I've got a few technologies I would like to learn. My primary goals will be:

  • learn Clojure and write some bigger-than-hello-world app with it. I intended to learn it this year but didn't manage to. I really liked the Haskell course at the univeristy and enjoy using tools such as Google Guava that bring a bit of functional programming into Java. Clojure seems to have an active community and integrates nicely with Java so one day it might get useful in my daily work. And learning a different programming paradigm than OO is supposed to make me a better software developer :) 
  • learn JavaScript. That's one of my dark secrets - I don't know JavaScript at all (except for things that you use with JSF like alert or confirmation dialogs but that doesn't count). I suppose it's a secret I share with many other Java devs who are not doing much of front-end development. Anyway, JS seems to become incredibly popular nowadays so it's high time for me to catch up with the mainstream.
  • Create a kind-of-real-world app using Event Sourcing (and possibly NoSQL). I have been reading /watching about CQRS and ES all the time and feel ashamed I haven't done an app using ES by now. We're now starting to have CQRS and events in our projects at work but there's still a long way to get to ES (suffering from the poison pill architecture that CQRS with events and ORM is). So - off to work. I even have an idea for such app but have to think about it some more.
  • Become proficient with git. I'm using git for my pet projects, code katas etc at home but never got beyond the usage similar to SVN. I read a couple of good tutorials about git and have to get deeply familiar with it, learn how to do feature branching etc. Git seems the future of VCSs so I can't afford to stay far behind.
  • Create a roguelike game. I'm a long time lurker at RGRD but haven't started even a hello-dungeon roguelike project. Enough of theory, time to get some @ running!

That would be it for my primary objectives. Hopefully will get the mission completed during next 12 months.
There's also a couple of other things I would like to do but they are not that high on my todo list:

  • learn Scala. It seems to be a cool, JVM-based language that is gaining much attention right now. Additionally there's Akka that I would like to learn (Alternatively I might try learning Erlang).
  • finally read whole Java Language Specification. I did read excerpts from it but never read all of it. Time to fill in the gaps in my knowledge about Java.
  • go through Spring 3 documentation and see the new and shiny things they've added since 2.5.6. I was following the release notes but don't think I have a good understanding of what has been added/changed.
  • try to do some development for the cloud. Just to start and learn the new possibilities and fallacies.

Some people say you should be creating habits, not the resolutions list . Therefore I publicly admit that I want to develop the following habit this year: doing code katas daily. I tried to do it at some point this year but failed. I'm still doing katas from time to time but not regularly. And as an aspiring software craftsman I need to work on my skills everyday.

Have a happy new year!

    No comments:

    Post a Comment