in reply to (OT) Programmer Job Search How-to

Several tips.

First he has to accept that he is starting at the bottom of the totem pole. Internship has been suggested - that is a good idea. When I was in his position, I took a job with a churn and burn consultancy. My boss started by doing QA. Another coworker started with help desk. None of these were very rewarding jobs, but they were jobs in the right field. If you're good, you can move up from there.

Secondly he has to reassess his own position in the programming hierarchy. He may think that his GPA and alma mater mean that he is a hotshot programmer. The odds are very high that he's wrong. He has probably never worked with a significant code base. He lacks real world experience. He's going to have to learn some basic lessons the hard way. And all of these factors make him less valuable for potential employers.

And third, he absolutely must do something other than the big online job boards. It is easy to waste a lot of time on Monster et al. But before doing that, read this article. All of the big job boards combined are responsible for less than 10% of job placements. But virtually everyone puts their resumes there. What are the odds that yours will stand out?

But what else? A number of people have mentioned open source work. I agree with that as a long term strategy. First of all because it gets your name out there, and some code out there. But secondly because you're going to get valuable feedback and experience which will help you improve. (Most working programmers just stagnate after a fairly short while. They may not think they are stagnating, but they are. Open source work is a way to avoid that trap.) However that won't help him in the short term. Because it takes time for that virtuous cycle to start working for you. If he had been doing it through college, he'd be fine now. But he didn't and he isn't.

Another important long-term strategy is to start a continual process of self-improvement. For instance he could read Code Complete. Or learn another language. Or pick up a technology. And when he finishes, pick something else to do. After a while this will add up. Unfortunately this is a long-term process, and in the short term it won't help him much.

That doesn't mean that he shouldn't start the long-term strategies now. Eventually he'll need to do them, and there is no time to start like the present. Plus he has more downtime now than he will later. (Though not as much as he might think.)

But what can he do for the short term? Here are some ideas.

  1. He should try to figure out what kind of job he thinks he can get, and find out how to enter that job market. For instance pursue the intern angle.
  2. Network. For instance go to a perlmongers meeting, or a Linux user group. When he goes there, he should not just hang out. Try to make good use of his time. For instance he can go with the goal of trying to find the name of a good headhunter. (Yes, they are slime. But they are helpful slime.)
  3. Improve that resume. Resume's are important. And it isn't obvious how to write them. When I first had to do a resume, I started by reading a couple of books on how to write resumes. I picked a style that I thought might work, wrote it, then showed it to people I trusted, like my wife and brother. Then rewrote it multiple times based on feedback. It was a lot of work, and I think it was worth it.
  4. Follow a schedule. It is easy to just get depressed during a job search. After all you aren't getting a lot of positive feedback, and you've got a lot to be depressed about. But if you set a schedule for yourself, you can keep yourself busy in a productive way. For instance you might decide to go to the library on Monday morning to get books on job hunting, spend Monday afternoon going through job ads in the paper, spend Tuesday morning reading a book on job hunting, and schedule a get together with someone who is a programmer for Tuesday evening to pick his brain about what he did.
  5. Network some more. He presumably knows people from previous years. Try to track some down, get their advice about what has worked for them. Don't be shy, people generally like to help. Particularly if you're asking for something they can give with little commitment on their part, get it.
Oh, and make sure that he gets out a little and doesn't get depressed...

Good luck.