Not every day is going to be a good one, but not every day should be a bad one either. Some days it seems like you get up and follow the same routine, almost mindlessly. You get to work, your boss is an as***le, your work is boring, blah blah blah. A steady paycheck is good, but you can’t wait for the weekend to come. You spend half the weekend de-stressing from the week and worrying about going back to work. It sounds like an advertisement for an anti-depressant, doesn’t it? All you need is a hound dog to stare at you and the picture is complete.
I’ll be the first one to tell you that the grass is not always greener. Sometimes, it’s just a different kind of grass. Sometimes, it’s AstroTurf. It’s natural, however for a relationship with your company to run its course. You’ve developed the same kind of code and done the same thing over and you need a change.
Remember, it’s easier to look for a job when you already have one. Why? Well, first, you’re less desperate to jump at the first opportunity. Second, you’re clearly employable.
Life’s too short to be miserable for a long period. Now, what’s a long period varies from person to person. Even so, if you’ve been miserable for more than a year, it’s probably time to at least start putting your toes in the water to look for something different. You may want to switch domains, learn new skills, switch to management or QA. You might think that your company is looking out for you, but rest assured, unless you’re a part owner, the company is looking out for itself. If profits are down or the stock price is down, the CEO is going to be looking to boost both, because his or her income is usually based on stock options. When the price is down, so is the income. If your company is looking to downsize, or already has, you can never feel safe. Even if you’re the best coder in your group, who’s to say that the whole group isn’t going to get chopped.
It never hurts to have your resume up to date. Keeping it fresh and current takes time, so don’t hesitate to get started today. If you’re looking around, look for somebody who’s hiring. Sure that sounds like a “duh” thing to say, but they may not advertise jobs in your field. However, if they’re looking to expand in any area, then they’re thinking about the future. Richard Bolles (author of What Color is Your Parachute) recommends that you find a company you want to work for, find the proper managers (start calling your network of friends and colleagues to get the names), and give them a quick call. Even a friendly conversation if they’re not hiring right now can pay off later when they are hiring and remember you.
I don’t think it’s unhealthy to say “Is it time?” now and then. If the answer is an absolute “no, I love my job”, that’s okay. If the answer is “maybe”, well then maybe it’s time for a little exploring. Keep your eyes open, sign up for some automated job board emails, talk to your friends and have them tell you when they run across another software engineer. Build your network. And good luck.