Despite what some people may think, the ideal time to start looking for a new job is not January... or when you "need" a new job (for example, the day after you've been fired or resigned)... or even when, although there's no urgency, you've decided that it's time to start looking for a job...
The best time to start job hunting, is, in fact, when the company you want to work for has just decided it needs to employ someone for the position you want.
But let me clarify something: the ideal time is not when the company has hired a recruitment agent or is already advertising for the job... it's when the company has JUST realized that it needs a specific position filled.
It follows that this is the time for you step in and say, in effect, "I'm ideal for the job and can start straight away." And what a relief for the company to know that it doesn't have to pay recruitment expenses, suffer through an inordinate number of interviews, and wait weeks, maybe months, for the right person to come along. After all, here is someone (you!) with all the expertise, credentials and experience it needs! It's probably only if you ask for a too-high salary or there are some unforeseeable internal political reasons that you won't be hired.
Of course, if you've done your homework you'll know what asking salary is likely to fly or not, as well as what the corporate political environment is like...
Of course, it's all a bit "chicken and egg" though, isn't it? I mean, how do you know to position yourself for the job... if you don't see the company advertising or actively recruiting for the job? And, how do you know whether you want to work for that company, and do that job, anyway?
Well, it's a matter of a little self-discovery and research. First, you work out what kinds of skills, knowledge and experiences you'd like to attain (or, alternatively, what work you'd like to do). Second, you determine which company or companies offer those experiences.
Let's say, for example, you wanted to develop project management skills and were particularly interested in working in the software industry. Therefore, you would identify medium to large sized software vendors where there were likely to be project management roles on offer.
Next, you would do as much research as you can on each of the firms you've identified, taking into account both their internal and external environments. You would also place yourself in situations where you could meet people who worked at those companies - perhaps by attending industry events or being introduced by someone you know who knows someone who knows someone... you get the idea! The idea is to get to know the people within the company, so that they get to know YOU... and will keep you in mind when a position comes up.
If you maintain a solid understanding of, and relationships with, the company and its key staff, then all you need to do now is monitor developments at the company and be ready to take advantage of developments that may create a job opportunity for you. For example, if you learn that the company is about to launch a major new product, then it may be the case that the company will need more project managers. So why not call your contact(s) at the company and find out if that is indeed the case? And if so, you can "remind" them of all the skills, knowledge and talents that make you ideal for the job!
Of course, as far as how, who and when to contact the company, you'll know the best approach to take in the circumstances.
Okay, so this approach may not be the best way to go if you need a job and you need it NOW (who knows when the companies you're targeting will need to hire?). However, it really is the approach to take in order to land your dream job... and only requires a little research, patience and the confidence to talk to people to do it. Try it!