Many programmers, software engineers, and other technology professionals are out of work, facing layoffs, or are unprepared for layoffs though they feel secure right now.

  • What should every programmer do right now (even if secure in their current job) to prepare them for layoffs down the road?

If your boss came to your cubicle while you read this and laid you off:

  • What would you do immediately after?
  • What would you do tomorrow?
  • What would you do next week?

It obvious that one should always have an up to date resume, always get recommendations from people when they see you at your best (not when you're looking for a new job), etc.

What are the things, step by step, that every programmer should do (or should consider doing) long before they are laid off, when they're laid off, and shortly after being laid off?

This is a question with many possible facets. While I want to encourage discussion to center around programming career based answers, please reconsider before downvoting someone because they're thinking in terms of how they're going to prevent going into debt.

Bonus catch-22 type question: You can study a new language or technology while out of work, but most places want you to have more than 1-2 months experience in a working environment, not just from a learning exercise. Is it worthwhile to place a priority on new (ideally in demand) skills, or should you instead hone existing skills?

25 accepted

If you get laid off today:

  • Today: Go home, play some loud music, and relax.
  • Tomorrow: Update your resume and your LinkedIn page. Pull together all of those unsolicited recruiter emails you've been getting over the past year. Start contacting friends.
  • Over the next week: Consider what it is you would enjoy about your preferred job - languages, technology, area of discipline, etc. Start researching and contacting companies that are in these spaces.
  • Over the next month: Go on interviews. Make sure any cover letters you send are targeted to an opportunity - don't just fling 100 resumes out aimlessly.
  • Over the next year: Try to layoff-proof your skills. Learn additional languages that you know will be worthwhile. Make additional contacts so if you get laid off again, you know who to talk to immediately.

Starting now: look to save about 6 months salary "just in case"



  • Decline to sign anything more substantial than a receipt for papers they give you. It's 99% sure that the papers they ask you to sign are harmless, but you're probably not in a good mental place for making wise decisions.

  • Go home, have a beer, cry a bit, yell a bit, sulk and mourn. It hurts, even if you know it's not personal.

This week:

  • Make sure everyone knows you're looking for work. All your friends, all your wife's friends, all the parents at the soccer game, all the people you have worked with, etc. When it happened to me, I felt a little awkward, but people are very supportive and that helps.

  • If your severance package includes out-placement services, use them. Most of what they told me was bland pap, but it is a place to go (and getting out of the house sometimes is a good thing). You do meet people and share stories. And the service may even have resources that you can use (printers, proof-readers, etc).

  • Get a clean resume out to everyone you think might remotely have a chance of knowing someone who might know of a job. Keep track of what you send out (the emphasis may differ for different companies) and when you sent it, what response, if any, you got, etc. Hit Dice and Monster, but don't stop there. Follow up any and all tips and whacko suggestions.

  • Get a clear sense of your financial situation. How long can you last before you start eating yourself? What resources do you have? Are you (and your spouse) ok with moving? Selling the house? Do you have friends and family who can help? What does unemployment pay, starting when, for how long?

  • exercise (and you can stop having those beers now).

In the coming year

  • Be frugal. Don't cash out your IRA/401K if ayou can possibly help it.

  • Read and write as much as you can, keeping in mind that future employers may well google you. Try to make it reflect your good side (so be nasty and stupid using a pseudonym).

  • Keep in contact with people. I'm told that people with strong religious faith do better in these situations, so you might try to cultivate that (didn't work for me, but still worth a try!)

  • Don't give up.


Start a company - what else would there be to do?



  • Today almost no one places ads.
  • Very few use recruiters.
  • Most jobs are filled by someone who knows someone.
  • Get to know people.
  • call old friends, coworkers, former employers, and so on.
  • They won't be hiring, but they may know someone who is.

Have skills in a high-demand technology. In other words, specialize in something. Once you land somewhere, you can use your secondary skills when possible, or learn new ones, but set yourself above the rest of the crowd in SOMETHING.

I say this from experience because when I was laid-off in 2002, I was at the time a "jack of all trades, but master of none." I knew several different technologies because that's what my job called for. But when I had to get out on the job market again, there was always somebody better in a specific technology that the employer needed. By specializing in one high-demand area, I have found myself much more employable.


A year ago (or even a month ago) keep your customers happy and build relationships with them. When my employer in 2003 was no longer financially viable, two of my key customers asked me to continue my services to them as a contractor. One of those customers is still my customer as of late 2008.

Be nice to people, as much as possible. You'll never know who's going to be useful some time in the future.

Today, tomorrow, next week, next month: start making calls. Let your customers know the situation. Both old and present. Use your network and spread the word that you are looking for new challenges.

If you get a job offer, don't be too picky. If you get a better one later, you can always get out of the first one with minimal damage.

If the thing drags out, stay busy. Write code, write articles, do your own thing, get exposure, go to free seminars, meet people. Keep normal hours. Keep your place tidy. Stay healthy and sane.


Today First up, even though I feel secure right now, these are things I'm consistently doing:

  • Make sure my resume/cv is up-to-date and reflects all my skills and experience.
  • Make sure I have the kind of references that I would like to get from potential employees if I were in a position to hire.
  • Make sure your LinkedIn (or other networking resources) are up to date.
  • Make sure you have a reasonably up-to-date portfolio of your work.
  • Constantly evaluate what keeps your wheels turning and turns you on about your current position, what turns you off. Keep a list and review it periodically to make sure it's still relevant.
  • Keep up to date with ads placed in the paper and placed on websites of any major corporations you'd be interested in pursuing.
  • Find out who is in charge of I.T. positions at your favourite companies and make an effort to get a relationship going with members of the team there.
  • Use sites such as this one to build a visible reputation so that if and when the time comes that you need a leg up, your name will be known and you can demonstrate that you're a reliable and consistent candidate.
  • I like to make sure I keep in contact with a handful of headhunters and keep in the loop as to what's going on, what jobs are out there and what skills are required. Especially headhunters for whom I've provided services in the past. I like to try and go for lunch or at least a coffee with one or two of the once to twice a month. If your face is always there and you have a good relationship with them, they will remember you when things come up. Lots of companies use headhunters (despite comments to the contrary).
  • Network with other programmers. The same thing goes as for headhunters - if a position comes up at your company, you think of your friends first, and then previous colleagues. Other people do the same thing. You could do this online, in the real world, through Facebook if you wish - anything you do as far as networking is better than doing nothing at all.
  • Keep a list of potential clients/agencies/employers that have projects or positions that would be of interest to you if you were to be laid off today.

Today (After you got laid off):

  • Make some calls and put out some feelers to programming friends and headhunters to find out what the scoop is for potential positions.
  • Create a plan of how you intend to get that next dream position... be aware that your plan needs to be somewhat liquid as you may need to adapt on your feet should nothing pan out.
  • Update all the jobsites that you are registered with with your up to date resume.
  • Go for a beer with some of your programmer friends and celebrate your new found freedom. Find out what they're up to and what gaps there are currently on their teams. Inside information is always an easy foot in the door.

Tomorrow (assuming you got laid off today):

  • Call the headhunters you have in your pocket and get the word out that you're interested and get them to hit the ground running.
  • Make a list of employers you would like to work for and find out who is in charge of the teams that are completing current I.T. projects. Call, email or write to them directly by name and let them know that you're familiar with their project and that you'd really like to provide any assistance you can. Get a resume out to them and let them know of your interest and availability.
  • Make sure you're aware of your financial position and what financial options you have, for instance unemployment insurance (when it starts etc.), vacation pay, expendable savings. Don't make the mistake of living off credit cards unless you've got a secure means of paying them off. Been there, done that, don't recommend it. You don't need the added stress of creditors harassing you for payment on top of existing stresses.

The next week or two

Since you hit the ground running because you were already organized, you should find it relatively easy to organize at least a handful of interviews, hopefully more. You should be able to drag interviews out for a week or two. I usually try for at least one interview every other day, if not one a day for at least a week, or hopefully two.

Side note

If you specialize as I do, then it can make things a little easier, you should probably have knowledge of at least a handful of major corporations that require your skills for their projects. On top of this, find a bunch of contract companies that require your specialty and get to know them and their employees. Make sure they have your resume and are aware of your availability.

For the bonus Catch-22 question

My wife suggests: You should learn the new skill and lie about the experience you have in it. Figure out a plausible reason for having used it in a previous project to bluff your way through the interview... she's a card for that. She picks a job out of the paper that she thinks would be amusing, learns enough to bluff her way through the interview, lies about the amount of experience she's got knowing full well that by the time they catch on she'll have it figured out anyway. Her mother and I are always constantly horrified, but she does always have the most entertaining "you'll never believe what happened to me at work today!" stories.

If it were me, I'd learn the new language/technology for different reasons. I spend my whole life honing my skills on the job. Take your off-time to learn something you wouldn't have time to do on the job. You know how it is in the trenches, you do what it takes to get the job done, what little other time there is, you spend with your kids, with the wife, doing enough housework to keep the complaints down and sleeping.

The only other acceptable options are sleep or find a good book. Being unemployed is the busiest time of your life, don't waste what little relaxation time you're going to get by working more - take a rest before you burn yourself out.


Having survived at least 2 rounds of recession in this business;

I never see the people who get laid off early in recessions coming back. So don't get laid off early ;)


Look to save for a rainy day. Most financial advisers will tell you to keep about 3 months salary available for this possibility.

Look for small contracts you can pick up on the side.

Start networking, make sure to keep in touch with coworkers and ex-coworkers in case they hear about a position that would interest you.

Keep your skills sharp by learning new aspects of technologies you're already comfortable, and with new technologies so that you can demonstrate more than a basic familiarity with the language.


I keep my resume up to date all the time. So first thing I would do would be to check Monster.com, Dice.com and changed my LinkedIn status to "looking for a job". Second thing would be to try to remember which of the local pimps are less evil that the one I'm contracting for right now, and get back in touch. I'd also contact my friends and former co-workers who are working at different companies.

Longer term, I'd probably try to get some certifications or learn python.

  • Today: Go home, get some beers, relax.

  • Tomorrow: Go to work (up until the date of layoff). Build an argument for getting a large redundancy package. Ensure I have copies of my work. At home, work out finances.

  • The next week: Update my CV. Create a linked in profile. Reactivate the job website CVs and update.

  • The next month: Where is my CV deficient - learn new APIs to keep you current that weren't used in previous job. If job interviews aren't happening, open up to doing contract work. Inform mortgage company of redundancy and potential to claim on the mortgage insurance. Get advice from job bureaus. Expect to finish work sometime, with payoff of 1-3 months wages and full expected bonus for the year. Hope the company didn't go bust and thus have nothing to pay! Put any money obtained into a savings account to tide me through until the next job starts.

  • The next year: If full time work doesn't come, then do contract work if it is available. If it isn't available, then build up code libraries for such work and spread the job search further. Hope it really doesn't come to this!


I have been in that position a couple of years ago. And I started finding a new job the same day.

The next day was filled with all the formalities.

The next week more jobhunting.

A couple of months later I found a new company.

Just my advice, spend all the time you have jobhunting and imporving your skills. It will pay of in the end.


First, I'd try to locate my copy of Ask the Headhunter by Nick Corcodilos. If I couldn't find it, I'd order a new one. I'd reread the whole book; it's been a few years. I'd go dig through the Ask the HeadHunter website as well, and resubscribe to Corcodilos' newsletter, which is spectacular.

Next, I'd pick out two or three companies that I might want to work for, and start researching them. In my case, I'd start with companies that a couple of friends of mine work for. But if I had no idea where to start I'd go to the library and/or pick up the business section of the newspaper and start reading!

Once I had two or three target companies in mind, I'd start checking out their financial condition and any other information about them I could get my hands on. I'd start looking for my angle: how can I help this company? Who do I need to talk to to let them know what I can do for them?

Along the way I might find that one of the companies on my list is not a good fit for me, in which case I'd drop it and look for another.

Then I'd start sending emails or making phone calls. In the case of the companies I have in mind, I'd start with the people I know. If I didn't know anybody, I'd start with names from a newspaper article, or from a website. If I didn't feel absolutely confident that I could (yet) meet with the person I'm talking to and show them how I can benefit their company, I'd start by just calling people for more information, and stay in research mode until I can make such a case.

Finally, I'd expect some of these communications to pan out into a chance to demonstrate. If asked for a resume, I'd build a custom one for that contact at that company. If and when I got the chance to be interviewed and talk to people face to face, I'd show up willing to code or otherwise demonstrate how I can benefit the company. I'd spend a lot of time asking people questions about what the company is doing to produce value, showing my interest in the company's operations and looking for chances to demonstrate how I could fit in.

Finally, if I was still interested in the company that was talking to me, I'd tell them straight out, "It looks like you're doing some great work here, and I'd like to be a part of it."


Most developers (me too) don't have their resume updated & don't look outside when they are on a job (settled/satisfied with what they are on).

I think, one should always keep the eyes open for new positions (even if the work at current position is good).


On the topic of preparing before the event:

  • stay in touch with former colleagues (they're a great and easy network)

  • never stop learning (a little fear is a helpful thing)

  • keep frequent backup copies of you work if you possibly can

  • go to conferences all the time (more networking, more learning)

and I think others are on the money (ha ha) when they say to make sure you can afford to be laid off if you can.


To do right now (even if secure in your current job): develop a reputation for being able to quickly become proficient in new technologies, and show that you can solve problems regardless of the technology used. Granted, certain technologies are more suited to certain problems than others, but you shouldn't let the fact that you're using a language (for example) different from the one you've always used stop you from doing your job.

Technology/languages/etc. change quickly, so being able to pick up new tools or ideas and put them to use right away is a valuable skill. If you can do that, then you can say to a possible employer, "Ok, I don't have much professional experience in technology Q. But as you can see from my history, I was able to learn X, Y, and Z in a short amount of time, and I used them successfully on projects A, B, and C. I am confident that I can do the same with Q, and that my overall skills will make it worth your while.".


focus more on certain business logic.If your are dummy programmer just do whatever you boss ask.It fail for you.Same as object oriented term.Reuse any knowledge to do faster job and implemtation, ** Lack of programmer this day.hard to find good one.


If I did get laid off:

  • Today: Drink some wine and relax (I'm doing it anyway :)

  • Tomorrow: Update my CV and start sending it

  • Next week: Keep sending CVs. Statistically it takes more than one week for me to take a new job. And I'd double my time estimate anyway for this recession year.

Bonus question:

  • You may plan for a C++ job and find a C# one, you may plan on getting new skills and still find a job in what you're most expert in... really, never mind, just keep learning in what you like or are most interested in, and don't sweat your job security strategies too much - the climate change will bring crisis anyway :)

This is a very subjective answer, but as said, "this is a question with many possible facets". Besides, I guess most general-use advice on programming career advancement has already been mentioned. :)

If that happened to me, I'd use the opportunity, now that there's finally more time, to:

  1. think a bit more about what to do in life in general
  2. travel around (a lot more than what's possible on summer vacations) while not hopelessly too old for that
  3. after that, at some point, get back to work, perhaps trying to get a job abroad (a new experience for me)


  • Try not to think about the whole thing too much right now. Maybe see someone and talk, or just relax alone, depending on what it feels like then.


  • think about good people I haven't seen in a long time, but should
  • think about places in South America and elsewhere to visit in the coming months
  • I wouldn't make any specific plans, only play around with ideas and endless possibilities

Next Week:

(Apart from meeting those people and booking flights, etc):

Update LinkedIn page:

  1. add more details about the latest job (in my case, I loved it and learned heaps, so there are many things to tell)
  2. ask for recommendations from colleagues, especially the ones I respect the most
  3. at the top of the profile, explain my situation and mention that after a certain period (say, 6 months) I will be available for such and such position, mainly in Helsinki, but why not in London, Dublin, Amsterdam, or other European capital.

That would be the only resume updating I'd do in the short term. And it's not a big task, since (in my experience) LinkedIn is quite naturally kept reasonably up-to-date all the time. When nearing the return to the corporate world, I'd get into all that more deeply.

In the following months (occasionally, in an internet cafe somewhere):

  • Respond emails from recruiters I got while still working (mainly because of Linkedin profile), and (hopefully) those received during the break. Perhaps preliminarily start arranging an interview somewhere, if something interesting comes up.

Of course, for most people, this kind of reaction to getting laid off is not possible without:

Whenever you have a job that pays well (i.e., more than you really need for day-to-day living):

  • Put some money aside so as not to be financially dependent on having a job all the time

Some might say this is risky, and that taking a long time off might lessen your chances of finding a good programming job again. Perhaps, but you can also look at it this way: Right now, with this global economic situation, it is not the best time to find a new (good) job. Several months later we're probably a lot wiser about where all this is going. (Of course, it might turn out to be even more difficult to get a job then.) Anyway, it may be just the right moment to do something completely different; something you've thought about, but never done because of being a bit stuck in a rut with your career, or afraid, or just too comfortable with status quo.

Whatever that would be in your case; for example if you're an entreprenurial type, why not take the chance to start your own company (perhaps with colleagues also laid off or otherwise interested joining you). Read this, if you do. :)


First, don't sign any agreement at the time you're being paid off. I almost lost a significant amount of money that way, and a friend lost considerably more. I can call my local bar association for a short but fairly inexpensive consultation with a lawyer, and would in any future case like this.

Second, you're likely going to feel depressed and unhappy. This is normal. You may want to be somewhat self-indulgent with time for a while. Just get out of the habit of being self-indulgent with money.

Third, check on unemployment benefits. The system is there for just such an eventuality, and you've been indirectly paying into it.

Fourth, decide on what you're going to do fairly quickly, and do it. You might want to see about starting your own company. (I did, and found I can't run a successful business. Some people can, some can't, some can but hate it. You can find out which category you're in.) Whatever you do, start it quickly. If you delay, you'll just make it harder on yourself.

Fifth, let your friends know, and ask them to keep their eyes out for something for you. I got an adequately lucrative contract through a friend after being laid off, soon enough to avoid bankruptcy. (2002 was not a good time to be out of work.)

Sixth, keep busy doing something. If you're interested in an open source project, this would be a good time to see about getting involved. If all you do is hunt for jobs and get rejected (and most jobhunts do result in rejection), you can get dejected. Find something you're good at that has real consequences (raising your kid, house repairs, open source programming, whatever) and do it.