I’m not big on resolutions. When I’ve made them in the past, I typically last about 3 whole days before they’re broken and forgotten. Besides, there’s something a bit odd about resolutions anyway. After all, why would we wait until a New Year to do something (lose weight, exercise more, etc.), when it makes a lot more sense to do these things *before* the year begins so that we have the benefit of whatever change for the whole year?

Ah, but that’s the neurosis of the Western mind; what can be done about it? Nothing :)

But even though I’m reticent about making resolutions, I have been thinking about the year that lies ahead, particularly from a professional standpoint. Over the last year, I’ve been very productive in my professional development. Particularly in relation to ColdFusion, JavaScript and SQL, I have tremendously expanded my competency, and I feel quite comfortable with where I am as a developer.

However, as we all know, complacency can be a silent killer. While it may not immediately harm a person in relation to their employment prospects, it can be detrimental in the long-term, if nothing else than by souring them to the prospects of learning new skills, exploring new technologies, etc.

I don’t want this to ever happen. I don’t feel like it’s a particular danger right now; I’m a naturally inquisitive person, so exploring new technologies, improving skills, etc. is just something I like to do. However, I do see this problem manifest in others, and I don’t like what it looks like. So, in my pre-emptive attempts to ward off such a fate, I’ve come up with a resolution (or two) of sorts for 2012.

Becoming “Expert”

When it comes to ColdFusion and JavaScript development, I feel very confident in my abilities. For any task, no matter the complexity, I am more than capable of crafting a solution that utilizes these technologies. I don’t say that in arrogance; it’s simply a fact. Ater so many years of using each, I can accomplish many things…and very quickly at that.

But while I am fully capable of using these technologies, I am also keenly aware of the extent (and limitations) of my competency. I have no delusions about my understanding of CF and JS. Yes, I can use them quite capably to do just about anything that is proposed. However, in regard to a more fundamental knowledge about the technology qua technology, I find many gaps in my understanding.

Therefore, one of the things that I want to pursue in 2012 is to begin a journey of becoming “expert” in ColdFusion and JavaScript. To me, the “expert” part that I’m missing is precisely this deeper understanding of how each technology *works* apart from the day-to-day grind of *using* them to accomplish discreet tasks. So this will mean that I will probably be doing a lot more reading about the technologies than actually using them. And you know what? I think that’s okay. The school of “learning by doing” has gotten me a VERY long way in my career. However, I think the next step wil come only by a very deep commitment to learning the bits that won’t necessarily come by trial and error.

You’ll notice I said “begin a journey.” I don’t expect to become “expert” by the end of 2012. However, I do want to determine a path that will get me where I intend to go. If I can accomplish just that, 2012 will have been a success.

Explore New Frontiers

One of the biggest keys to professional development, especially when it comes to web development, is to have an expansive portfolio of skills. This doesn’t mean, of course, that one needs to be “expert” in 7 different languages; that would probably be impossible for most people. However, it does mean that one is open to actively pursuing an understanding of how different technologies work and how each can be leveraged in various situations to accomplish particular goals.

In the coming year, there are a lot of technologies that I want to explore. In order to not get completely overwhelmed, I’m going to take a dual approach.

First, I’ve selected a handful that I want to do more of a “deep dive” into; these will require several weeks/months of exploration each. By the end of the year, I’d like to be able to say that I have a base-level competency with each technology–not something on the basis of which you’d hire me, but a working knowledge expansive enough to be able to accomplish something, and a solid foundation upon which I can build in the future. Here are the targets:

  • Ruby
  • Node.js
  • jQuery
  • Python
  • ORM
  • Git

Second, I want to build time into each week to take an hour or two to make a surface exploration of new technologies/snippets/etc. that I come across in the course of my daily blog trolling. So for example, if a new JavaScript framework is highlighted in one of the blogs I read, I want to explore that. My intention is, at the very most, to devote enough time to make a surface exploration. While this will not by any means make me competent in this or that technology, I think the practice will help to expand my skill set, simply by seeing how other people do things. I don’t have a discreet list for these, as I hope to leave time open for exploration as opportunities present themselves.

Avoiding Blackhole Projects

Over the last year, I found myself buried in blackhole projects. These were projects that I came up with on my own that didn’t have particular goals, or defined execution plans. With each of them, I started with the *intention* of learning/doing something new. However, I dreamed way too big, never accomplished whatever I had set out to do, and wasted a ton of time and effort for nothing except frustration.

In 2012, I’m going to make a concerted effort to avoid projects altogether. I’ve found that projects tend to devour an inordinate amount of time, simply because I end up spending a lot of effort on things that aren’t even central to the project itself (like getting the design pixel perfect, abstracting the 20 lines of JavaScript being used, etc.). So instead of using projects as a way of exploring this or that technology, I’m going to try to focus on simply executing very small, manageable development tasks. Whether this is simply creating a nice “Hello world” or developing some extension/module/whatever, keeping the scope tiny and defined will hopefully help me be much more productive in my learning and exploration.

Blogging

My blogging output in 2011 was a little underwhelming. While I did add some fairly in-depth posts, the number of posts was a bit disappointing. While quantity doesn’t really mean anything, it does reiterate to me the project blackhole problem I had during the year. So one of the things I really want to focus on in 2012 is becoming a better blogger. For me, I think this means being more intentional about regularly positing my experiences, while also not being quite so concerned with feeling like I have to write a novel each time.

Wrapping Up

So, it’s an ambitious plan for 2012. However, I’ve already made one important step: today, I officially abandoned a blackhole project that I had started last week. I’m beginning with a clean slate, and am looking forward to a great year of leaning, improving, and expansion of my development skills.

If anyone has any constructive thoughts/suggestions, I’d love to hear them!