Skip to content


Who you are is a function of what you do; your actions determine your character because there is no other output of your character. People who do bad things are by definition bad people; people who do good things are good people. So being careful about what you do is really about being careful about who you are.

I’ve just gone through a two-month period of job searching with a resume that was very careful about laying out what I did because I didn’t want to be hired for a job I’ve done before and hated; I didn’t want to be the version of me who works on technology I am constantly annoyed by; I know who I am and want to be careful about it.

So while I can write Swing Applets, I’d really rather work on HTML5 apps; I can wrangle XAML but I’d prefer to be hitting up RESTful JSON services; I can write in whatever language you’re using but my favorites are Ruby, JavaScript, and Objective-C.

Those three languages are the ones I want to work with because those three are a part of my identity: their designs match my tastes and my philosophy, their communities are fun to engage with, and the web is aglow with interesting new things to do in them.

So when I landed a job last month doing Ruby on Rails development where we’d be doing green field development with the versions released a week prior, I was pretty near ecstatic. I could be the version of me that I’ve always wished paid the bills and actually pay the bills.

So it was quite a blow when, one week into the job, the world exploded. The tech stack we had been assembling was thrown aside and we were told we’d be doing Groovy on Grails instead (That the framework is named like a parody was salt into the wound). My tastes and philosophy were aghast at the JVM and its demands; the lack of community was staggering, and the web contained only years-old articles about uninteresting copies of even-older Rails features.

But the larger blow was the loss of identity: I went into work for a week happy to be doing what I was doing, and happy to get a chance to do what I’d wanted to do for years. Then, suddenly, I was just another Java programmer again; thrown into a world I had escaped five years before. Worse, I went from being a confident Senior Engineer to being a very opinionated novice.

One week more has gone by, and the room has stopped spinning. I’ve picked up enough Groovy and Grails to feel confident that we can make our deadlines, but not enough that I’m satisfied with my understanding of anything. Finding the clever parts of a new language and framework is always fun, and I’ve had moments of appreciation in the past week, but if I had my druthers I would switch us back to Rails in a heartbeat.

But I don’t, so instead I’m trying to roll with the punches; this is not the situation I would have chosen to jump into but it’s the situation I’m in, and so it’s the one I’ll make the best of. Learning new corners of the industry is kind of my schtick, so I’m at home exploring documentation and writing test cases for obscure language features. But I miss the version of me that I got a glimpse of for a week– that guy leapt out of bed a lot easier, and found his flow quicker, and was obviously having a really good time. Maybe someday I’ll find him again. Because I thought he was pretty awesome.

The title of this piece is an incredibly geeky programming joke, for which I apologize.