As I begin 2009, I&apos;ve been pondering quite a bit about which direction I&apos;d like to take my career in. At the age of 40, I&apos;m certainly not a spring chicken but I do feel that I&apos;m at a great point in my life where I have a tremendous amount of experience while still feeling the fire to learn more. For the last 19 years or so, my career has revolved around development. Basically, I&apos;ve been a coder most of my career and apart from some short stints in a business development role, I&apos;ve really focused on the development side of things. This isn&apos;t a bad thing by any means and I think I&apos;ve been fairly successful at it. I do feel, though, that it&apos;s time to expand a bit and 2009 will be the year to do it.


<h1>Product Management</h1>

I want to get more involved in product management. Taking a product from inception to production is REALLY challenging. I&apos;m not talking about coding it. I&apos;m talking about overseeing the process of taking an idea and helping drive it to market. That means more interaction with users, marketing, biz dev, PR and media.

The fact that I have a strong technology background, in my opinion, will help by being able to understand the bottlenecks in the process and helping any team that I work with overcome those hurdles.

My new boss, Nick Nguyen, has already started mentoring me on this and I believe he&apos;ll be able to teach me quite a bit.

<h1>Technology</h1>

My bread-and-butter has always been my technical side and I can&apos;t ever see that going away (although diminishing in importance slightly). 

<h1>Firefox Add-ons</h1>

Apart from a focus on product management, I think that becoming "Mark Finkle" knowledgeable in add-on development will be the single most important goal for me in 2009. It&apos;s such an important part of my day-to-day and will go a long way in helping me support the add-ons community. Having a solid understanding of the development process will help me do a better job of being a product manager in the future. 

<h1>ColdFusion</h1>

For the last 10 years, I&apos;ve been knee deep in ColdFusion and, if I say so myself, one of its biggest supporters and flag-wavers.

While I love ColdFusion and think it&apos;s an amazingly powerful application server, I also feel it&apos;s time for me to explore other server-side options. When you look at the landscape, there&apos;s an abundance of very hot languages and frameworks which are not only feature-rich but monetarily appealing. The demand for Python, Ruby & PHP skills, especially when coupled with Django, Rails/Merb or CakePHP, has grown steadily and the need to diversify is pretty obvious. There&apos;s still a great demand for ColdFusion developers but I think to keep yourself fresh, you need to try new things (even if they&apos;re more painful than what you&apos;re used to).

With Mozilla heavily vested in PHP & CakePHP, chances are that I&apos;ll go that route although the other two server technologies are very appealing.


<h1>jQuery & JavaScript</h1>

I think many of my blog readers know that I&apos;m a member of the jQuery Project Team and it&apos;s something that I&apos;m very proud to be a part of. The project has skyrocketed in part to the amazing team that we have and I firmly expect to continue to push the jQuery message into 2009.

Just before I started using jQuery, I was a server-side developer who wanted to expand in to JavaScript and client-side development mainly because of Ajax. So I bought a book and started hacking at JavaScript, DOM and XHR. Shortly after I discovered jQuery and it was like the sea parted and I saw the road to the client-side. I jumped onto the jQuery train and never looked back. 

With that said, of recent, I&apos;ve felt a bit of hole in me. Over the last 2 years, I&apos;ve met some amazingly smart JavaScript developers and read some really awesome JavaScript articles and it hit me how much I want to learn more about the JavaScript language. Mind you, I&apos;m not interested in being the next John Resig or Peter Higgins but I do want to develop a much stronger understanding of the techniques and patterns that make libraries such as jQuery, Dojo, YUI & MooTools so helpful. 

The great thing is that my time with jQuery has really helped me understand so key concepts of the JS language but I also know there are techniques that I am not fluent in and I think understanding them will help me dramatically improve my contributions to the project & community as well as my own development work. Does this mean I&apos;ll stop using jQuery? No freaking way! jQuery continues to be a God-send and I couldn&apos;t picture having to hand-code all of the script that jQuery provides in one small method call. And if I want to learn how to do it, I have no better teacher than John Resig himself, whom I can call anytime and ask him for help. In other words, jQuery FTW!

What it does mean is that I will start practicing straight JavaScript a lot more and going back to the basics to make sure I understand things clearly. I&apos;ve already started by cracking open Christian Heilmann&apos;s book "Beginning JavaScript with DOM Scripting and Ajax". I&apos;m planning on following that book up with the following:


<ul>
<li>Pro JavaScript Techniques by John Resig</li>
<li>Pro JavaScript Design Patterns by Dustin Diaz</li>
<li>Object-Oriented JavaScript by Stoyan Stefanov</li>
</ul>

I&apos;ll also be hitting up the <a href="http://developer.yahoo.com/yui/theater/">YUI theatre</a> since they have some really awesome videos by Eric Miraglia & Douglas Crockford.

Getting a better grasp of JavaScript will also help me in achieving my goal of knowing the Mozilla add-on platform at the guru level.

<h1>CSS</h1>

One of my biggest weaknesses is my lack of advanced understanding of CSS techniques. I can certainly use CSS and create a basic stylesheet but there are so many dimensions to CSS which I don&apos;t know. If I could be half as talented in CSS as Bradley Sepos or Scott Jehl, I&apos;d be happy and I think that achieving that isn&apos;t unattainable.

I&apos;ve bought a couple of books including a video tutorial by Eric Myers and yep Sitepoint books, all highly recommended. 


<h1>Writing</h1> 

One area that I&apos;ve been falling behind on is writing more articles and blog posts for my personal blog as well as <a href="http://ajaxian.com">Ajaxian</a>. Ajaxian is extremely important as it allows me to share techniques and code that I find useful, in the hopes the community will also find it beneficial. It&apos;s a great soundboard and I really need to dedicate some time to it.

The <a href="http://blog.mozilla.com/addons/">AMO blog</a> is another site that I plan on giving more attention to especially as I become more proficient in add-on development. 

Finally, I want to contribute more content to <a href="http://LearningjQuery.com">LearningjQuery.com</a>. My good friend Karl Swedberg has done a great job building that site and I need to do a better job of supporting him.


<h1>Next Steps</h1>

The next logical step for me is to decide how to prioritize what I learn. The product management side of things is easy since it&apos;ll be part of my daily work and I have good mentors including Basil Hashem and Nick Nguyen.

Learning another server-side language may ultimately fall to my lowest priority simply because I see a greater value proposition by becoming strong in add-on development and JavaScript.

The nice thing about my job is that I can expand into a non-technology role (at least not coding) while still being able to dabble in technology. 

I have some planning to do in the next week or so so I can set a workable schedule.