Our agile team sometimes makes a conscious decision to work a little harder in week one of a two week sprint so that we have more time in week two to review upcoming design issues with our user base. The other hope is that we can work a little less in week two to balance out to a truly sustainable pace. This was one of those sprints. In fact, it went so well that I was able to take today, the last day of the sprint, off.
So what am I doing on my day off for fun? Why, I’m working on a little side project I’ve been tinkering with the last month or so using node.js and other technologies that have nothing to do with my .NET-focused job.
I’m a good programmer mostly because it’s one of the things I do just for fun. It’s been that way ever since I discovered programming using punch cards on an IBM 1620 back in high school. Nothing floats my boat quite like creating cool or useful applications. I consider myself lucky in this way. I enjoy going to work almost every single day at least as long as I don’t let myself drift into mostly hands-off management roles.
Now there’s a serious side to what I am doing too. I believe that programmers have a responsibility to keep themselves current. I have absolutely zero sympathy for those who fall behind because they claim their employer did not provide training and other resources to help them keep up. I’m not saying the employer should not help out. When I owned my own company I made sure to help my employees stay up to date. However, if you find yourself stuck in a dead-end job, you have only yourself to blame.
So how do you get out if the skill you use at work every day is not in demand? Well, you get skills that are in demand and you do it in a way that lets you demonstrate those skills. You can take all the classes you want and get certified but that’s just not very impressive. You need to put your skill to work. One way to do that is work on an open source project. There’s thousands out there right now that need help. Heck, in my experience almost all open source projects would love some help. Another option is to put together a reasonably substantial application of your own, host it online for pennies and put the source on Github so you can show it off to potential employers. Nothing says competent developer more than an impressive application and the ability to discuss the implementation intelligently and passionately.