Some time this year, I realised that my progress as a developer was stagnating. Rather than settle for coasting, maintaining my current skill level, and doing “okay” at my job, I resolved to make the transition from being an adequate developer to being a good slightly more adequate developer.

Since making the decision to bring myself up to speed with the latest and greatest of web development, I have felt… worse. It seems like there are so many tools, languages, and frameworks that you need to know to be considered a “competent” web developer. It’s all a bit much!

In the last couple months, I have been playing with ruby. More and more of my side projects contain ruby code, and my first jump into Ruby on Rails was daunting but rewarding. Unbelievably, despite using PHP as my primary language, I have never seriously tried a PHP framework. Understandably, this made using Ruby on Rails quite a surprise. It was also my first serious go with a real MVC framework. A lot to learn.

I’ve also been developing my understanding of tools like npm, grunt and SASS, thanks mainly to this excellent post by Chris Coyier, and have been phasing them into my workflow. I really like the results, and it was surprisingly easy to get into. There’s a deep feeling of satisfaction going through old CSS, refactoring it into appropriate files, improving the format with sass, and knowing at the end, it will all be automatically combined and compressed into a single .css file for easy loading over a single HTTP request.

Still, I have a long way to go, and I am thinking hard about the best way to go about it. My plan for now is to write a list of all of the things I’ve heard of, wanted to investigate, and never found the time to dive into fully. Then, over the course of the next however long, I will devote a few days of quality time to each item, repeating, mixing and matching as necessary until… well, until I know enough!

Here is my list of “things I want to learn in 2014.”

Javascript

Ruby

PHP

CSS

  • SASS - CSS Preprocessor
  • CSS Animations

Tools

  • Yeoman - Yo, Grunt & Bower
  • Proper testing in general
  • Karma - JS Test Runner

Depending on how you look at it, that’s either far too much or far too little to learn in a single year. Still, that’s enough of a list for now, I reckon.

Happy new year.