Code Renaissance is about building great teams and great software. By exploring best practices, team interactions, design, testing and related skills Code Renaissance strives to help you create the team and codebase that you've always wanted.

Jump the fence or bloom where you're planted? When to move on to another job.

After only six month at my current job I've accepted an offer at another company. If you follow my blog you may remember my last job change and my excitement at finding a good job close to home. It was a very good job. I had a good team, a good boss, and a reasonable workload; I was very happy there.

Then, just before Christmas, my company let go of a bunch of contractors. Though I wasn't one of them and though my boss assured me that he was very pleased with my work, my confidence in the security of my job there as a contractor was shaken. I didn't immediately start a job hunt, but planned instead to reassess things toward the end of February and make a decision then.

Providence intervened however. In mid February I received an inquiry through LinkedIn asking if I was interested in a web development job at a small, growing company in Ponte Vedra Beach (just 20 minutes from where I live in Jacksonville, FL). A growing company in this economy sounded really appealing. Long story short I interview and loved what I saw and heard; two days later I accepted an offer and gave notice at my current job. Perfect opportunity, perfect timing.

All of this upheaval got me to thinking, though. Is there a fixed set of criteria that people can use to judge when it's time to move on from a job? What are the things they should look for?

You've heard the saying "the grass is always greener on the other side of the fence", which is to say that things always seem better elsewhere, though they seldom are. Often it's just a matter of trade offs. If you work for a solid company, have a reasonable boss and interesting work then you should overlook the little things and strive to make lasting changes in your company for the better or, as I heard a preacher say once, "dig in roots and bloom where you're planted".

Making the most of the job that you have is usually the right move, however, I've come up with a short list of things that I think signal that it may be time to move on:

  1. If the company that you work for is unstable. If you are in a company that is on shaky ground then you need to try to get out before things hit the fan and you end up looking for a job with a large group of your peers. Feelings of loyalty can be compelling, but if you're married, especially with kids, and don't have a generous rainy day fund to fall back on then you need to start weighing your options immediately. Remember that your duty is to family first, work second... Always. Remember too that it's easier to find a job when you have a job, if for no other reason than that time is on your side. Just be careful and make sure that the company you're moving to is more secure than the one you're leaving.
  2. If you have an unbearable boss. Maybe your boss is truly evil or incompetent in a dilbertesque kind of way or perhaps there is simply a personality conflict or idealistic differences between you. In any case, if you can't resolve the issue, if you can't be at peace and if there is no end in sight then you need to move on before you grow bitter and hurt your reputation. Oh and if you and your boss are at odds, you can be sure that you'll be the first on the chopping block when it's time for cutbacks.
  3. You are working insane hours. We work in I.T. and in crunch time we do whatever it takes to get the job done. I'm sure you all have your own war stories of long nights and 24 hour days. We're proud of those. They're badges of honor. But those should be the exception not the rule. If everyday becomes crunch time and unrealistic expectations are the norm, then you need to get out. It's a tough call to make. I've been there. Your boss promises that you're almost over the hump and then it'll get better.... months later he's still promising it, with genuine sincerity, but in your gut you know there's no end in site. It's time to move on before you burn out and it starts affecting your health, your work or your relationships.
  4. If you're not learning anything. If you are no longer challenged and if most of your learning comes from off the job then it may be time to move on. Technology is moving faster all the time and if you aren't moving forward you're getting left behind. This is one situation that can respond well to a frank talk with your boss about your concerns, but if you've exhausted all other avenues you need to consider making a move, before you get trapped in a dead end career .
  5. You are grossly under compensated. Money isn't everything, but then again you don't want pay inequities to be abusive. If there is a significant difference between your salary and others at the same level in your industry then it may be time for a change. I worked a company once where where every few years people would take a job somewhere else and come back in a year making significantly more money simply because the pay structure favored new employees over loyal employees (i.e. base rate increases over time dramatically outpaced yearly pay raises). If your efforts to address the inequities have been ignored or rebuffed then you may want to consider your options.
The above points can be categorized as Security, Environment, Workload, Skills and Pay.

If you're having one or more of the above problems with your current job then I'd say it's definitely time to start looking for other employment, even if, given the current economic situation, it's a slow steady search over time.

As a wise man said recently, YOU, and NO ONE ELSE, is responsible for your career.

Be careful that you never allow yourself to be be paralyzed by either the comfort of your current circumstances or the fear of change. Change is inevitable; change is life. If you're comfortable now, don't become complacent; hone your skills and build your experience... change is coming.

Update: Shortly after writing this post and moving on to my new contract to hire position, my new employer (owner/developer in the small 2 man shop I signed on with) decided I wasn't a good fit. No really satisfactory reason given... he was the owner, he got a gut feeling... that was it. I received the call Monday morning as I was leaving the house not to come in that day.

It was a gut punch. With the economy down I knew there were only a handful of positions out there and I felt the world crashing in.

Fortunately I was in good standing with my old employer and my old boss and his boss jumped through a bunch of hoops with HR to get me my old job back (especially tough since 2 rounds of layoffs had just happened). I am grateful and very personally touched by the effort made to bring me back.

In this midst of this I immediately pulled the above post, not wanting anything to jeopardize my chances coming back. I finally feel comfortable putting this back out there (as of 6/22/09). Having gone through all of this and had time to reflect on what I wrote I still think I got it right, but with a few caviots:

  • Be very careful about your decision to leave; a job is a very precious thing.
  • Be very careful how you leave; don't burn any bridges.
  • Be very careful what you put on your blog when you leave; many people at my work read this blog post after I left... I'm so glad I didn't, even accidentally, write anything questionable or anything that offended anyone. Even so I rather wish I'd waited a month or two before posting it.
And finally: Thank you again to those who helped -- I am both humbled and touched by the decision to bring me back.