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.