Well, it’s been a while since my last post; I’ve been in the process of transitioning from one job to another, and I’m about to set off on a new life as a software developer for a consulting company on Monday. While I won’t divulge the name of the company here, I can say that I’m really excited to be able to work for them for a number of reasons, not the least of which being that they actually care a lot about software development. This is just the latest step in a month full of personal transformation and growth; two months ago, if you’d have told me this is how my life would be unfolding right now, I’d have laughed in your face. However, things have gone remarkably well for me, and I’m extremely thankful for everything I’ve been given in the past month.
That being said, I’m in the process of updating myself and becoming more familiar with Spring MVC, since the framework is essentially the lingua franca of the company I’m going to be working for. Readers can follow along on Github.
Now, at my last job, we worked exclusively with Struts 1 and Struts 2 (and a teeny bit of Grails) as the MVC web framework of choice; I have many things to say about Struts, and few of them are good. Having the opportunity to learn a newer Web framework is so much fun, after the drudgery of Struts 1. However, I’d like to state for the record that the Spring MVC tutorial provided by the developers of Spring is rather outdated; I made the unfortunate assumption that it wouldn’t be as bad as a third-party tutorial, but I was wrong. Come on, Spring guys, would it kill you to write a new tutorial? At the very least, Stack Overflow has provided quite a few answers to the problems I’ve encountered thus far, so maybe the age isn’t all bad. Maybe tweak your existing one to use Tomcat 7 or 8, JUnit 4, and either Maven or Gradle, and you’d eliminate the vast majority of the issues I’ve encountered with the current version.
I’ve also been dabbling in Ruby development a fair bit; it’s such a fun language and ecosystem to play around in, I don’t know why I hadn’t started playing with it sooner. A group here in Milwaukee called RubyMKE has been hosting meetups for the language, and I’ve attended one so far, as well as poring over _why’s Poignant Guide to Ruby. I have to say, that book (graphic novel? cartoon? creative hemorrhage?) is one of the best programming guides I’ve ever read. For those who’ve never heard of why the lucky stiff, he’s a fascinating character in the Ruby community who, unfortunately, disappeared from the Internet in 2009; his content and teachings have taken on a life of their own, as recompiled by his followers. My own involvement in Ruby so far has been mostly working my way through Ruby Koans, Ruby Monk, and Rails for Zombies, and messing with Gosu in an attempt to make a sort of haunted house attraction simulator game, which I’m calling “Spookhouse“.
Stepping away from programming for a bit, this last point is kind of near and dear to me; I’ve worked in the same haunted house, Hauntfest, for the past five years, with my girlfriend and many of my close friends joining me in the spooky revelry this past month.
This year was especially meaningful, since one of the original actors, Ted Hembrook, passed away last July. We had to celebrate his birthday in October without him, sharing his traditional batches of ghost pepper brownies before opening for the night. Hauntfest, and Ted, are both big inspirations for me and for my game project, and without my involvement in the haunted house, I probably wouldn’t be the person I am today.
One of the things that I’ve found to be the most difficult about making a game so far (as early on as I am) is the disconnect between the programming work and the graphics/sound work. Yeah, I can code an animation system, or hack together a 2d raytracer, but I’ll never be able to draw well or consistently enough to have production quality art on my own. As it stands, I’m still trying to work out the core gameplay details, but in short, imagine tower defense meets The Sims’ design mode, with a patina of classic Midwestern haunted house and a sly sense of schadenfraude. Then there’s the core question of game development: Is it fun? Right now, I have no way of answering that. I’m just setting out to try and make a game that I’d like to play; hopefully something fun and complete comes out of that.
I’ve also had a rather interesting experience with the job interview process, which for many reasons I won’t go into details about, but I’ll say this: I’ve never had so many reasons to feel bad about turning down job offers. As I detailed on my LinkedIn account, I’ve had time on my hands. And boy, have I made use of it.