Last week I wrote about what I had been up to during 2010. In order to have something to compare the results to when writing the same kind of post in about 360 days, these are my goals and plans as a developer for the new year that has just begun.
Speak at a conference
I really enjoy going to developer conferences but while I’ve spoken at some user groups and EPiServer’s partner summit I’ve yet to speak at one. That is a challenge that I would love to take on. Luckily, I’m not to far away from reaching this goal as I’m already booked to speak at DevSum11. There I’ll give a presentation titled Progressive EPiServer Development.
I’ve also submitted a paper for consideration to the committee for NDC 2011 for roughly the same talk, but I guess that’s a longshot :)
Attend a few great developer conferences
Did I mention I love going to developer conferences? I feel that there are few better ways to improve myself as a developer, learn new techniques and share ideas with great people. Not to mention getting inspired.
Release a new major version of Page Type Builder
As I’ve previously mentioned I’ve begun planning for version 2.0 of Page Type Builder, my “main” open source project. Development is slowly under way and one of my most concrete goals for the upcoming year, or rather the upcoming spring, is to complete it. I’m currently working on some interesting end-to-end tests for it that I hope will provide a safety net while I modify existing functionality.
I’ll post more about those tests and my plans for the new version in the coming weeks and months.
Contribute to a mainstream open source project
While I run a few open source projects of my own they all have a pretty narrow focus as they all extend EPiServer CMS in one way or another. During 2011 I would like to contribute to at least one more general, or mainstream, open source project. Interesting candidates at the moment would be MSpec and Phantom as I use those quite extensively myself.
Learn a new programming language
I believe that it’s a good idea to try to learn a new programming language every year in order to get inspiration and know what is going on outside of the fish bowl that I’m currently in, in my case the .NET bowl.
I would really love to learn Ruby. In fact I often feel that I need to learn Ruby considering the currents in the .NET open source community. However, knowing myself it’s best to keep the goal less specific and just say that I should learn one new language without specifying which. And after all, Boo sure looks cool. And F# looks interesting. And Clojure looks…
Automate, automate, automate
No matter what plans I make or goals I set there never seems to be enough time. That’s been especially true since my wife and I had our daughter in 2009 and with another one on the way I anticipate that I’ll have even less time.
Looking at many of my role models as a developer they all seem to get a helluva lot done. The common denominator seems to be that they automate as much as possible. As soon as they find themselves doing something repeatedly they find a way to automate it. While it may have a steeper cost in time up front compared to doing a task manually it soon pays off and once you have removed a lot of friction caused by manual labor you can be a lot more efficient. So, one of my goals for 2011 is to remove friction from the things that I do by automating repeating tasks.
Ayende wrote a post on this topic a while ago. I found it very inspirational and I don’t think I would have set this goal if it wasn’t for it. If you read the post you’ll find a story mentioned titled The Tale of the Man Who Was Too Lazy to Fail by Robert A. Heinlein. It’s from his novel Time Enough for Love. I know because I just ordered it :-)
Write 50+ blog posts
This really isn’t a new goal since it puts me on par with my current rate of blogging. I would really love to blog even more though. Perhaps if I succeed with the previous goal of automation that can happen.
Write a book
I should have at least one overly ambitious goal, right? ;-)