Questions on Programmers Stack Exchange are expected to relate to software development within the scope defined by the community. Consider editing the question or leaving comments for improvement if you believe the question can be reworded to fit within the scope. Read more about reopening questions here.
If this question can be reworded to fit the rules in the help center, please edit the question.

1

This can apply to any job in the mortgage industry thus it is offtopic. I am voting to close.
–
maple_shaft♦Jul 28 '11 at 16:50

7 Answers
7

The best security a programmer can have is to be very employable. Keep your resume up to date, work on your LinkedIn profile, and do the best work you can. Job security feels nice while it lasts, but career security - the ability to find a job anytime you need one in your chosen career, earning a good salary - is much, much better.

Don't try to keep quiet and avoid making waves, but focus on doing the best work you can and expanding your skills. Your best long-term job security is being able to describe your accomplishments in 2 to 5 sentences. If you aren't getting opportunities to stretch at work, you need to either (a) push for changes to the business that allow you to use newer technologies or (b) do projects at home that challenge you.

Doing great work to the point where you can be replaced with a lesser programmer looks great on your resume, even though it could lose you your job. More likely, the company will keep you and move you to a new position where you can do the same thing again, allowing them to lay off or move around other mediocre developers who are struggling to innovate and automate - possibly because they are trying to just keep quiet and avoid making waves. Smart companies keep the great employees as long as they can.

+1 for focusing on career security rather than job security
–
Bruce AldermanJul 28 '11 at 17:35

Ditto. Focus on your own prospects; there's not much you can do about the economy or the company.
–
Scott WilsonJul 28 '11 at 17:38

1

Doing great work to the point where you can be replaced with a lesser programmer looks great on your resume, even though it could lose you your job. Amen to that! I want to be replaceable..."...so that I can focus on doing new, original stuff without being distracted with worries about what left behind."
–
gnatJul 29 '11 at 0:22

Coming back to this answer three years later and in the same situation again, this answer is still very true.
–
rlb.usaJan 7 at 23:50

How do I protect myself from EVER experiencing prolonged unemployment?

The Answer:

You need make yourself Marketable to the Job Market NOT to your current employer.

Getting layoff is just a fact of Life, EVERYONE experiences unemployment at some time in there career (at least short term). Simply accept that, as fact, and work on your marketability, and live worry free.

You just started the job, so I would not worry too much about getting laid off just yet. Of course, you could get laid off, but you are already in that probationary trial period to begin with. Being new puts you at a huge disadvantage to begin with in a lay off situation, since seniority is often a pretty powerful anchor. Instead, focus on doing the best you possibly can at your job; making friends and impressing your new coworker/bosses whenever possible (humbly, of course).

It is hard to find people who are smart and get things done, so why not try to be one of those people?

Make sure you are focused on what your immediate supervisor thinks is important. You don't want a disconnect between his/her goals and what you think they are. You can be a great programmer, but if you supervisor cannot manage the complaints from superiors that you are too slow, you could be out of a job. There are tons of examples. An over quiet person could be perceived as not getting along with others.

Limit their pain. Help them get promoted. If you're boss can't get promoted, you probably won't get promoted. Who wants to be the person hired by an idiot. It's tough to climb ahead of people on a ladder. They just fall on you.

If you like your current job and want to stay there, then the best way to encourage this is to make your boss realize that, no matter what he's paying you in salary and benefits, he cannot afford NOT to have you around. You do this by immersing yourself in the company at all levels. Learn the business practices. Cultivate relationships with your coworkers and customers. Dive deep into the codebase and learn how things work better than anyone else. You will, after some time, become invaluable as a resource to the company; if they were to let you go they would lose an incalculable amount of knowledge and experience that they may not be able to survive.

Understand that this strategy relies heavily on your visibility and the corporate culture. You may be the only person who knows how half of the codebase works. If the person with the axe doesn't know that, it is no help to you unless your boss is willing to speak up for you (and has the power to affect those decisions either directly or indirectly). This works very well in small businesses; distinguish yourself in your job and if/when budget talks start, the boss will hear your name and immediately think "no, we can't get rid of him, he's one of my best people!". If you are more than a couple of levels removed in the supervisory chain from the person who makes hiring/firing decisions, it doesn't work so well; you have to be so good that your boss' boss' boss will have heard about it.

Also understand that this does not mean you should "write yourself into your job" as a programmer. A lot of coders think they can attain job security by writing obfuscated or unnecessarily-complex code only they can understand. This only works as long as the boss knows no different. As soon as someone is hired who takes one look at the morass and goes "there's a better way", you're on your ass.

(2.) Make yourself a hot commodity in the industry in general

Whether you like your current job or not, the first strategy is never going to be 100% foolproof. If pillars of the American economy such as Lockheed and GM can lay off tens of thousands of knowledge workers in a desperate attempt to stay solvent, you can find yourself out of work despite your own best efforts and those of your chain of command.

So, when strategy 1 doesn't work, or if you hate your job anyway, then strategy 2 is to make sure you never have to look very hard for new work. You do this by looking very good on paper, to score those elusive interviews, and also BE good, so you leave the interviewer with the impression that his company simply cannot let you slip out of their hands. So, learn your primary programing language like it was your mother tongue, and that language's runtime as if you lived there. Keep up with other languages too; if you're a .NET programmer, stay up-to-date on what's up with Java, and vice-versa. Learn some "general-purpose" scripting languages like Ruby and Python. Get functional with Haskell or Erlang (there may not be a great market for new Erlang devs, but in learning a functional "duck-typed" language you learn how to solve problems in an entirely new way, much of which can be applied to "imperative" languages like the C family).

Be careful not to over-specialize; technologies do "die". Being a .NET WinForms programmer is counting for less and less as WPF gains popularity. Being a Java Servlet programmer's great, but when your boss asks you to develop an Android mobile app ("Hey, it's still all Java, right?") you better at least have an idea of where to start.

If you're so concerned about getting fired, you'll never get promoted. If you're invaluable to your employer on task XYZ, they won't move you in fear of it going to all heck. So your best bet is to do what everyone else has said.

Keep the resume up to date, try to stay up to date with the industry, always strive for improvement. If you're not getting better then you're getting worse.