Knowing When to Leave Your Programming Job - Part I

This article is the first part in a series to guide you in deciding when it's best to leave your Programming Job. Part I addresses a host of myths that are associated with staying at a dead-end job, and how to combat them.


ExitingPerson.jpg

There are a lot of .NET programming jobs around in the world, some good, some...not so good.  How do you know when it's time to leave a job in pursuit of another?  Before we address this dilemma, let's discuss a few of the corporate myths that keep you working in the same dead-end programming jobs.

1)  Company Loyalty - At one time, company loyalty counted for something, but no more.  The reason you don't owe your company anything is because your job could disappear tomorrow.  Economic conditions, company earnings, and consumer demand can all have a direct effect on your job.  It doesn't matter if the company is big or small.  Large corporations will do massive cuts to improve share prices for their stock holders.  Small companies will cut positions to reduce fixed costs and to keep their company afloat.  Perhaps the only exception to this is a tenured government job.  Remember, a company's primary motive is not to increase your happiness, but to increase profits.

As an example, this news article about Dell Computer Systems was just released:

(DALLAS) Dell Inc. said Thursday that earnings rose 8 percent in preliminary first-quarter results, but the computer maker planned to lay off about 8,000 employees over the next year as part of an ongoing restructuring.

So even when earnings appear good, the company may still see firing you a way to improve its bottom line.

2)   I Just Had a Good Day - We often rationalize staying in a job we dislike because of an occasional good day that keeps us engaged and hopeful.  "I just fixed that bug in the system so now things will get easier".  Just remember all the days before thatâ€"the overtime, the headaches, conflicts with the boss or other colleagues, spinning your wheels. Keeping things in perspective will give you the conviction to jump ship.

3)  Lunches are Free - There really is no such thing as a free lunch. A company that supplies free food and other consumable perks is trying to keep you on the premises 24/7.  They are getting more hourly work out of you at the small expense of supplying a $5 lunch.  Imagine if you went home for your meals every day.  That would cost the company a great deal more by losing your precious time at the keyboard.

4) My Colleagues are Great - This is a tough one to argue.  If you really enjoy the people you work with and your boss is not an ass, then it is harder to leave.  But if the work doesn't suit you, you should consider exploring other options.

5) Big Benefits - Most jobs have benefits, so if it's just the benefits that are keeping you, then at least explore programming jobs with comparable benefits.  Some will have a great health plan and another might support educational or professional advancement.   When weighing benefits, you should way the costs.  Perhaps a better salary at a new job will make up for the great benefits you are currently getting. Some benefits such as 401K plans are transferable to your new job.

6)  I'm Important Here - If you need the job to boost your ego at the expense of hating your work, then something is wrong.  If you have great skills and experience then people will find you important elsewhere.

7) The Company Cannot Replace Me  - Hah!! Don't think for an instant that your company can't find someone to take your place.  The new guy may not be as good as you, he may not understand the system as well as you, he may never fill your shoes, but he will replace you.  The very definition of a company is an entity that does not depend on a specific individual to survive.

8)  I Won't be Able to Find a Job Elsewhere - We are talking about .NET skills here, not COBOL programming.  And even COBOL  programmers manage to find jobs, so consider all those antiquated systems that need support.  To convince yourself that this is a myth, go on a few interviews while you're still working.  There is never harm in interviewing.  An interview doesn't have to be a scary life-or-death event.  It is a conversation between two technical people assessing each other.  Generally, if the person is technical, you'll find that you have a lot in common anyway.  Interviewing can cure your job-security anxiety.

9) I'm Older  - You're more experienced.

10) I Have too Little Experience - This is a tougher one to argue.  If we are newer to a programming language that companies want, we need to show experience.  It is sometimes worthwhile to "tough it out" for six months. But then start interviewing.  Six months may equip you with enough experience to land another programming job given the current demand for .NET programmers.

11)  I'll Probably take a Pay Cut - You won't know until you start to interview.  However, sometimes a reduction in pay is a small price to pay to free yourself from a programming job that isn't right for you.  The money becomes less important if you love the work.

12) I Think I can Finally Convince the Boss to give me a Raise - Do you want to know the only guaranteed way to get a raise in your current job?  Find a job at another company that will pay you more.  The best time to negotiate your salary is when you land a job with a higher salary.  Then, you can either leave your current job, or let your boss know that you have been offered a job with better pay.  If you believe that you are irreplaceable,  this is the real test.  If you don't like the job, though, a raise isn't going to make you happy.

Conclusion

In this article, the first in a series, we debunked the myths and rationalizations that keep us in dead-end programming jobs.  Feel free to use the list above to determine if you are "stuck" in your current job.  The next article will explore reasons to flee from your current position and how to go about it.