LMXM

About UTE UTE Maven Plugin Suafe

Personal development days

After working as a freelance developer for the past 8 months I've come to realize that in order to retain my sanity and to stay fresh I have to take the time to improve myself both personally and professionally. This means dedicating some of my time usually allotted for client work to use for my own personal development. For anybody in the software development industry it is a must that you keep up to date with all the new technologies, or you're likely to miss out on new developments. Dedicating your work time towards personal development is a double-edge knife where you potentially lose income, but gain some new knowledge. It's not an easy change for us workaholics!

When I made the leap from full-time office work with part-time contract work to full-time freelancing I found that I both gained a lot of new freedoms and opportunities, but lost a lot as well. I went from working on a large variety of projects that ranged from basic Java console applications to full fledged suites of Java portlet applications, to a single, complex Java application. This ended up keeping me out of the web development world for nearly 8 months. I felt my web-fu getting very rusty and my skill set slipped considerably. I knew this was a possibility when I started freelancing, but I didn't expect it to happen so suddenly and drastically.

The first step in dealing with any issue is to realize and accept that you have a problem. During the past few weeks I've discovered that my problem is that I've let myself slip out of a complex, multi-faceted work environment into an isolated, single-facet environment. That is not the fault of projects that I'm currently taking on, it is my own personal fault in that I didn't push myself to keep up with the world around me and to continue to self-educate. I admit that and want to inform other new freelancers that it is up to them to keep up with technologies. It's a no-brainer that we probably all know already, but like me, I suspect others, may forget as well.

My solution to this problem is to create what I call "personal development days". I'm sure that I'm not the first to use that term, but it's new to my lexicon. A personal development day is a day or part of a day (depending on other priorities) dedicated to personal development and improvement. We all know the areas where are our skills are lacking and those are the areas we should focus upon during these days. Personally, I'm starting to focus on the web development world that seems to have passed me by all of a sudden. I find it personally fulfilling, but keeping up to date with the web world keeps me more marketable.

My focus is on web development and related technologies. I spent of lot of time doing JavaScript development and there has been a lot of improvement and new frameworks that utilize JavaScript. Here is what am currently learning more about over the following weeks:

Jekyll

Jekyll is a Ruby script based, static website builder. Many years ago I wanted to write one of my own static website tool, but for various reasons I was unable to dedicate the time to do it. Thankfully, others saw the need and Jekyll is one of many excellent static website builders. This website used to be run on WordPress, but is now written in Jekyll. I have no regrets moving off WP to Jekyll. There are no more worries about keeping up to date with WP changes just to stay ahead of the spammers.

AngularJS, Backbone.js and Ember.js

These JavaScript web frameworks provide an amazingly simple, yet powerful way of creating websites that rely heavily on JavaScript. It's amazing to see how powerful these frameworks are and with so little developer input. I have a long history of writing web applications using low-level Ajax, and later on using jQuery, which was new at the time. It is refreshing to see that so much of the hard work is no longer needed and developers can focus on writing applications rather than dealing with JavaScript and web browser idiosyncrasies.

Node.js

It's hardly new in the JavaScript world, but in the IT development world node.js is still in my opinion bleeding-edge. Having not reached version 1.0 level yet node is still infantile. That doesn't mean it isn't powerful and worth learning and using. I've always been intrigued by using JavaScript on a server-side application and am yearning to use it in some projects. I'm looking forward to digging into node.js and writing something using it.

posted 06 Mar 2014