In any given market, there is an average length of time necessary to find a new job. This time should be calculated in hours spent on the actual job search, not the time from when you start looking for a new job until you accept one. Don't allow yourself to be discouraged by others in your field who have been looking for work for a long time, they may not be spending many hours a week looking for work or they may have unrealistic expectations as far as salary or position. If you've been looking for work for a long time without success, I highly recommend a session with a job coach to help you determine how you could better focus your time and goals. Particularly in IT, different skills have different values at different times and what was a reasonable expectation for salary and position even last year may be this year's pipe dream. This can be a good idea anyway. Keep in mind that you are good at IT, not necessarily job searches and hiring out the parts that you are not good at maximizes your effectiveness.
A solid resume is the key to the job search. In most cases, your resume and cover letter provide potential employers with their first impression of you. What employers are looking for varies from year to year and even month to month. I highly recommend that you hire a professional who keeps track of this information to do your resume rather than spend what could be weeks of your time in researching this yourself. Unless you are particularly good at writing cover letters, hire this out as well. You will still have to customize your cover letter for particular jobs, but this is much easier if you have a good generic cover letter to start with.
Networking is also important, many jobs are never advertised but filled only through networking. LinkedIn is designed to be particularly useful for this. It is also a good way to keep track of your former coworkers when you change jobs. If you aren't on LinkedIn, you should be and suggest that your professional contacts join as well. Twitter and Facebook can also be used as part of your job search. However, don't pester people constantly with you job search. Post that you are looking or ask if anyone knows anyone hiring in your field, but don't post just about that. Also, if you find jobs that look good but aren't a good fit for you, share them on your social networks. Job search clubs can also be a useful way to both network and keep you motivated. I usually start my networking process by contacting the people I want to use as references and letting them know I will be starting a job search.
Job boards are a fact of life in IT hiring. There are several services that post your information to multiple job boards for you. This is well worth your time. In addition to cutting down the time you spend posting to job boards, these services also do the work of figuring out which boards are worth your time. I knew about the major job boards, but there are a number of boards I hadn't known about that got me some good leads as well. Putting your resume job boards allows for passive job searches, people can find you and contact you about jobs. Don't count on passive job searching though. Many of the people who contact you through this method are recruiters, not necessarily people who are hiring right now. Companies that are hiring through job boards are likely to look more favorably on you if you contact them to show your interest in the job than if they contact you, because in the former case you have shown initiative and interest in the job. One of the nice thing about job boards is their automated lead emails that send you emails about jobs you would be interested in looking into. Try to spend time every morning investigating and applying for jobs the job board lead generation tools have found for you.
In addition to job boards, you should check other places where jobs in your specialty and your area are usually listed. You probably know where your current or previous employer posted job listings and this is a good hint as to where you should be looking for jobs. For IT jobs, craigslist almost always makes this list. People tend to list jobs on craigslist at the end of the business day, so the evening is the best time to read and reply to these listings. This makes craigslist a particularly good source of job leads if you are undertaking a job search while employed. Your local paper can be a good source as well. Don't just look at jobs in your field, look for companies that seem to be regularly hiring; they are likely to be growing and may need someone in your field soon.
Many employers do not respond in any way to let you know the status of the hiring process, or only let you know with a generic email that they have received your resume. Don't stop looking just because you have applied to, or interviewed for your dream job. I've noticed that it is more and more common for companies to start interviewing and then change their mind about their needs and decide not to hire anyone or start looking for someone very different. Also, if you are really interested in a job, there is nothing wrong with enquring as to where they are in the process (unless of course they have specifically asked you not to, as a number of major tech companies are now.) Keep in mind, you yourself may find a position that is a better fit for you the longer you look. And most of all, don't give up, there is a job out there for you!
For more about resume writing, check out my article New Resume For The New Year.
LinkedIn - social networking for professionals
TunaRez - the company I used for resume and job posting services in my last job hunt.