So recently people have been saying “this is such a bad time to be looking for a job” all the time – and I agree with them. In the software design biz, however, I think it is not for the reason most people assume.
As someone who was recently responsible for interviewing people and participating in making hiring decisions, I can say that in my experience, the problem is not only a lack of jobs. Sure, many companies are scaling back hiring a little, and scrutinizing new hires more closely to ensure they are of the highest quality, but that is just a effect, not a cause.
The cause of this, that job seekers should realize, is many of the job seekers out there are seeking a job because they were “the first to go”. Nobody is going to lay off a highly valuable employee right now (I would hope!). Rather, people who were on shaky ground to begin with are the people now looking for work, and there is a real deluge of them to sort through.
Thus, to get hired in this environment, when the hiring managers and interviewers know most of the candidates out there are in this position, you have to prove you aren’t one of the “bad apples”. How does one do that? There are a couple ways. Mostly, it is a lack of warning signs, but there are also lots of affirmative traits as well.
First off, your resume should have certain attributes. Be specific, don’t just throw out an alphabet buzz-word soup, but put everything down that is relevant. It isn’t necessary to list HTML or “Microsoft Excel” or “Internet Explorer”, or for that matter, even something like “AJAX” unless you are a super rocket scientist at it or something. What programmer can’t figure out how to use Microsoft Excel? Everything that is listed on your resume, you should be able to answer the question “Why is X relevant?” with an interesting, well-thought-out answer that includes a specific example of your experience with that item.
Another important thing about your resume is it should include that experience. You don’t want your resume too long, but as much as will fit, you want a specific project or example of each of the types of experience you have. If you put down C++, you had better list a project where you used C++ and are able to talk about what it involved, and how you were instrumental in its success.
A resume lacking in experience, or dripping with buzz words and alphabet soup, sends up a huge warning flag. Beyond the resume, however, there are lots of other warning flags recruiters look for. For example, any programming job is going to expect you to answer some questions, write some code, or somehow demonstrate your skill set. Do not shrink away from this. Always think carefully about your answer, but try to think out loud as well so they can see your thought process. If you don’t know, admit you don’t know, then try to “get partial credit” by working through it anyways, or taking a different approach. Don’t be a defeatist, don’t give up, and don’t demonstrate you are not confident in your abilities. If you really are so under-confident that you can’t at least act confident, you aren’t right for the role anyways.
Also, be thorough. Ask for more details when appropriate. The difference between a “strong coder” and a “rock star” is largely in the details. Instead of making certain assumptions, question them – or better yet, say “I am making this assumption, but if I didn’t, it would have the following effect on the answer”. Discuss alternatives and why you make the decisions you make. Remember, coding isn’t about knowing everything, it’s about knowing what you need to learn and apply the tools necessary to get the job done, quickly.
Finally, if they ask, and possibly even if they don’t ask, don’t be afraid to talk about why you left your other job (that is, assuming you aren’t one of the “bad apples” I previously mentioned). Talk about the success you had at that job, and why you decided to move on. If the only thing you can say is “I hated it there” or “they weren’t happy with my performance”, that’s going to send up a big red flag, and I often asked that question for that very reason. Examples of really excellent answers I have gotten include “I wanted to have a larger impact”, “I wanted a change of pace but there was nowhere else to go at that company”, “I didn’t like the direction the company was going in”, or even “I didn’t feel my growth was recognized” (which is a nice way to say “I didn’t feel my compensation was fair given my experience”).