When it’s time to move on

You’re a problem solver. You’re one of these people who will pick up a rope that’s gotten all tangled up and spend an entire day untangling it because it’s a challenge, because it defies your sense of order in the universe and because you can. – Sometimes I try to picture you sitting on a beach with absolutely nothing to do… The picture always ends with your head imploding.
— Delenn, Babylon 5 – Epiphanies

In an attempt to stop my head imploding, I’ve decided to leave my current job. I’ve spent the last three years solving some great problems and untangling a whole heap of stuff. Just recently I’ve begun to feel that I’ve gotten everything in order and there’s just nothing left to straighten out.

I reckon that if I stay where I am for 12 months, I’ll get bored and start hating the job. So for my own sanity and for the sanity of my colleagues – whom I’ll miss a great deal – it’s time to go.

I’m really looking forward to moving on. I could do with being out of my comfort zone for a bit. I’m quite looking forward to working with one or two technologies that are new to me – Tapestry in particular sounds pretty smart. I was massively impressed by it when I had a quick look as interview preparation. Most impressive (though it’s unlikely to be of long term benefit to me) was that I could set up a working example webapp inside of ten minutes starting from nothing but a Maven 2 installation. See my recent article on the Tapestry Quickstart Maven archetype.

I’m also looking forward to seeing familiar technologies in a new context. I’ve been using Hibernate for 18 months or so but only for fairly small simple objects. I’ve yet to see this do some serious heavy lifting. A problem for me using HibernateĀ  (and many other technologies) is that I’ve had no-one to learn from. I was the first person in the company to use it so I made all the mistakes. Some of them I hope I’ve corrected but I’m sure I’ve not always done things the best possible way, just because I’ve not had other people’s experience or a code base to keep me right. In this last year, our company has lost several great developers through redundancies and resignations so this lack of mentoring would only get worse for me if I stayed.

I think what I’m most looking forward to though, is seeing an alternative take on how to create software. As I’ve been in my current job for five years now, I know our way of doing everything. I know all our policies, processes and procedures inside out. What I don’t yet know is if they are the best way to do things. As far as I’m concerned, they’re the only way to do things. I’d like to know what the alternative is. How else can you structure a team? How else can you design systems? How else is quality controlled?

It doesn’t matter too much if things are better or worse than what I’m used to. I just want a change and an alternative viewpoint. Where I think the new processes and techniques are worse than the old ones I would hope that my new employers will accept my constructive criticism. After all, that was always something I looked forward to when we brought in a new member to the team. I always wanted them to bring their experience with them rather than blindly follow our way of doing things.

Even if things aren’t better or worse, even if they’re just different, I hope at least I won’t get bored. Because I get bored when I’m too settled in routine. And being settled in a routine seems dangerous in an industry that deals largely with managing change. I don’t want to be settled. I want to be moving towards something better, I want to challenge our current ways of doing things and I want to fix things that aren’t as good as they could be. I can only do that if I have a good understanding of what my choices are.

Leave a Reply

Your email address will not be published. Required fields are marked *