My first post-university job is nearly 30 years ago, so it was different climate back then. However when I first started out, my interviewing skills were very poor. I must have gone to 10 or so interviews without getting an offer. I ended up going to the library and reading some books on how to do job interviews. It was really helpful. From that point on I tended to get offers from between a third and a half of the people I interview with.

A couple of quick pointers. First, when you are just out of school, you are likely to have no reasonable experience. So the question you have to ask yourself is why would someone want to hire you? Some likely answers: because you are cheap, because you have potential, because the team needs some inexperienced people to balance the experience they already have. You might be able to think of other reasons.

Once you understand why someone might want to hire you, you should write your CV/resume so that these things are obvious to the person potentially hiring you. Ideally you should write a CV and cover letter specifically for each job you are going for. That seems like a lot of work, doesn't it? And it means having to do research about the place you are applying to so that you can adjust your CV appropriately. You should treat looking for a job as your job. Spend 8 hours a day on it -- doing research about all the companies in the area you want to work for, hand crafting each CV and cover letter, writing a blog, programming and making a portfolio, etc, etc.

If you do a good job, you should get interviews. Now the most important thing to realize about an interview is that by the time you get there, the job is yours. What interviewers are looking for is: did you lie on your CV, are you incapable of doing real work, is your character going to clash with their culture? Your job in the interview is to show that all the answers are "no".

The first one should be easy: Did you lie on your CV? However, exaggerating even by being clueless can easily lose you the job. I once interviewed someone who put emacs on their CV. Of course I don't really care what editor someone uses, but emacs is potentially a fairly big investment and so interesting to me as an interviewer. We had a pair programming section to the interview and I set up a machine with emacs for him (since that is what he claimed to prefer). He didn't know how to open a file with emacs. He had simply used it once before and haphazardly added it to his CV, without realizing the potential downside. As an interviewer, you want to try to dismiss stuff like that, but it leaves a really bad impression that is hard to shake.

The second one: are you incapable of doing work? From my own experience this time. I took 5 years off to teach English in Japan after 20 years as a programmer. I worked on my own projects in my spare time, so I felt pretty confident in getting back into the industry. In my first interview I came up against the dreaded whiteboard coding challenge and I froze. I couldn't code to save my life. Again, as much as the interviewers want to give you some slack, this is pretty much going to lose you the job. Personally I hate that kind of interview and think it is ineffective, but that doesn't matter. Your job is to look good. So make sure you practice. Grab coding challenges off the net and do one every day. If you have some friends who are also looking for work, get together to do it so that you can practice in front of people.

Finally, are you going to be a problem for cultural fit? I'll give you a kind of trick here. Interviewing people is really hard, tiring and frustrating. Trying to come up with good questions that probe what you are looking for is difficult. The absolute worst is when you have a candidate that is just staring at you and answering questions with monosyllabic answers.

The trick is that you don't have to wait for a question to give an answer. In fact, you should always try to segue every question that is asked into a direction that is favourable to you. For example, if someone asks you if you learned about the software development life cycle in school, but let's say that you feel your strengths are in coding you can say something like, "Yes. I learned quite a lot about traditional SDLC in school. In fact, in my compiler course I tried to apply the concepts to this compiler I was writing. It was quite a fun project. " and then talk about your fun project. Don't stonewall the question (as my example probably implies). Answer it fully, but always lead the interviewer on to a subject that you want to talk about.

An interview should be like a tea party. It should be light, fun, and engaging. If you are constantly talking about things that are interesting to you, your passion will show through. Like I said, when you are right out of school, you have virtually no useful experience so the interviewer is looking for something else -- a spark -- that will make them feel like hiring you. If you leave the interview and the interviewer is thinking, "Wow. That was a lot of fun.", you will almost certainly get an offer. (Very occasionally you may end up in an interview for which no candidates can be hired. It sometimes happens that for political reasons senior management requires an interview to happen, but that middle management will refuse to hire anyone -- or vice versa. So the "fun == job" is not always the case).

So how long will it take? If you are cold calling then getting an interview for every 20 applications is probably not too bad. If you are responding to ads that are specifically looking for new grads, then I would worry a bit about my CV if I don't get a 1 in 5 rate of interviews per application. If you are meeting people and they ask for your CV, you should be expecting a good 80% of them to set up an interview. Make sure to get their contact details to follow up if you are not getting called back (sometimes they just get busy and after a week or two assume must already have a job).

When you get to the interview stage it is your job to loose (as I said). Sometimes it is obvious to both sides that there is not a good fit. Be confident and don't worry when this happens. I've even terminated interviews early when it was clearly a bad fit (one time a recruiter sent me to a Windows job interview when I only had X-Windows experience -- I voluntarily left that interview after 15 minutes and then turfed the recruiter ;-) ). There are still lots of jobs out there, so don't get into a panic and try to get every job.

You should count on something like 1 in 3 interviews ending up in a situation where both sides want to move forward. If you find that this isn't happening for you (for example if you do 5 or 6 interviews in a row without a job offer) you know that you need to work on your interview skills.

So doing the numbers, I don't think you have to panic. However, I might start to look at trying to improve the numbers of CVs you send out. And if you are meeting people and giving out your CV, I would try to improve your conversion rate for interviews for that. I would concentrate a lot in the next 2 months because there is a time when you will appear "stale". If you get up to 5 or 6 months without a job offer, then some people are going to wonder why it is taking you so long. This can work against you. Several times in my career I have intentionally taken 6 months off after a job and it's always a bit of a struggle to get people to understand why you have that gap.

Anyway, good luck. Keep working at it!