Do you program for FUN?

2016-06-08

I grew up programming - first on an Apple IIe, then on a 286, then on through the years. I always wanted to be a programmer.. and here I am, thirty-odd years later, still living the dream.

But I'm an enterprise programmer, which can be a grind sometimes - there's projects that are awesome, cool and new and then there's times where you are grinding out some maintenance stuff. Sometimes you're learning stuff like crazy in your day job - and sometimes you feel like you are treading water. But we all know (or at least, I hope you do) that programming can be amazing - you are doing as close to magic as is possible in this world. You are taking nothing and making something happen. It is an awesome thing and it can be serious fun, and the way you make it happen is by making it happen in your spare time, since it won't always come for work.

So, with that in mind, how do you program for fun? I've always done pet projects - silly games, web stuff, toy projects to learn new languages or technologies, microprocessor stuff for electronics projects. What I've learned over the years, though, is that I need to tailor what I'm doing at home to what's absorbing my brain at work. If I'm in a grind at work, then at home I will be doing things that are ambitious - a big game project, a new language that is hot right now, a framework I might want to learn - even the fancy new features of the next version of Java, if the project I'm on is dragging its heels about upgrading. On the other hand, if I'm drinking from the firehose - new things are coming fast and furious, like if I'm starting a new project with new technology at work, well then that's the time to have a change of pace at home, something more bite sized.

My favourite little bite sized bit of programming is to grab a microcontroller and a programming language/framework for it (I'm currently keen on Sming - a C library for the ESP8266 microcontroller, which is a $2 jelly-bean micro with WIFI and decent general IO). The challenges with a microcontroller are so different than my daily job, it makes the perfect change of pace. And it is an excuse to break out the soldering iron and make something that does something physical.

Of course, microcontrollers may not be your thing. But I encourage you to figure out what does work for you for the bite-sized chunks. I think it is important to get in a habit of working on projects at home - work stuff is work stuff, but having your own stuff lets you remember the magic that programmer really is.

-cdr