Several years ago I was visiting a college and the professor I was meeting with told me he assigned a slot machine project to his students. That struck me a a very fun thing to do. At the time I didn’t have the time or the motivation to write one myself but the idea really stuck with me. I haven’t written a lot of code just for the fun of it for years. And quite honestly I’ve missed it. Other things come up and while I have written a lot of code it has all had some serious goal. A demo, a sample for students, or a book. or a workshop or any of a dozen more or less work related goals.
Now that was not a bad thing and I can’t deny that I have enjoyed writing some of that code. At the same time though I wasn’t doing it all to satisfy a creative urge of my own. Last night I decided that I really had to do a project of my own for nothing more than the personal satisfaction of doing it. Since an accident of scheduling had left me time during the school day to catch up with grading and lesson planning I decided to take some time to start on my own slot machine program.
Once I get it all working, it is no where near feature complete after just a few hours of coding, I’ll look into making a Windows Phone version and perhaps a Windows 8 “Metro” version. But for right now I am happy just writing some code (C# and Windows Forms) and having fun working out all the algorithms.
Now I am getting some refresher on some language features that I do plan to introduce to me students so there is some practical value. But I could have done that with a boring project as well. The goal for me is just to get back to having fun though. That is what hooked me on programming and computer science in the first place. I feel like I am getting back to my roots.
What do you do to keep software development fresh and fun?