My Developer Resolutions for 2011
Looking back at 2010 I can’t say I did a good job of following through with my resolutions, but I believe I have a valid excuse! For the last 12 months I’ve been working more as a build/release specialist than a software developer. Anyways, here’s a rundown of what I didn’t accomplish last year:
- Test Driven Design - I barely coded at all so that was a total flop. I also believe that this is something that’s hard to do on your own. This discipline really needs a pair in order to stay on track.
- Mouseless Computing - This is probably my most successful resolution. I’m still no keyboard ninja, but I’ve improved over last year and even wrote a fun negative re-inforcement application.
- OSS Participation - I’m going to defer this to this year as I have a couple things planned for the near future.
- Complete small project in different dev stack - Total flop. I attempted to do something in Rails and I couldn’t get going. I think I’ve been in the .Net world for too long. New frameworks completely twist the way I do things and I find I’m not good at learning the conventions of these new technologies.
Development Goals for 2011:
Learn VIM (building my lightsaber)
I’ve tried to find the perfect editor for ages. I’ve sort of come to the conclusion that I’m going to be a perpetual generalist. Sometimes I find myself working on all sorts of OS’s (Ubuntu, Win7, Mac OSX), and I don’t want to learn the best editor for each (GEdit, Notepad++, TextMate). VIM works on all of them so why not learn that? Historically VIM has been labelled as a difficult but powerful editor and with good reason. I’m writing this post in VIM and discovering how much learning I have to do to get to the level of VIM experts.
To make it more fun I’m treating VIM like a lightsaber. It’s the weapon that every Jedi must construct themselves. Part of the lightsaber is the crystal which is imbued with the force and resonates to produce the blade. To me, the .vimrc file is my version of my set of lightsaber crystals. Hopefully with some study and careful construction (and vimcasts) I can craft my very own coding lightsaber.
Develop an Android App
I’ve always wanted to dive into the mobile development world but I don’t own a Mac so iOS was out. Windows mobile development didn’t seem that much fun, and Blackberry was definitely out of the question. PalmOS was too niche as well so I passed on that too.
Now that I have an Android based phone and I have an idea for an application (using SongKick), my goal is to release something to the Android market sometime this year. At the same time I want to play around with Ubuntu as my development environment while I’m at it.
Learn a server provisioning automation tool
This year I learned about the term DevOps, and sort of got to work under that kind of role. I didn’t do such a great job of it as I’m more a dev than I am an ops, but I want to change that. Tools like Chef, Puppet, Babushka, Vagrant all look really interesting and I would like see how I can use these tools to solve some interesting problems. Unfortunately I can’t put them in my problem solving toolkit until I actually know how to use them.
Along with these tools, I’ll probably train myself on VM technologies so I can re-provision servers and play around with these automation tools.
Move this blog
At some point this year I need to get this blog off of this application. This old version of Graffiti CMS uses VistaDB for it’s persistent datastore and the BlogML export functionality is broken.
That’s it! Hopefully I’ve kept the scope small enough that I can actually accomplish all of this. It’s strange looking at my resolution posts and realizing how little I achieve of the small goals that I set for myself. Just goes to show how fast a year goes by and how your experiences can be steered in so many directions along the way.