It's true that there are more applicants than open positions. Many companies are now able to get "free upgrades", hiring highly skilled, senior people for lower pay. Keeping your skills fresh and doing your homework on the company is important; resume buzzwords may get you in the door, but you still need to ace the interview by showing technical mastery, and "selling yourself" as the best candidate. This can be difficult for some people, but sadly, your work will not "speak for itself" -- you must. Personal networks are THE best avenue of success. Also, you may need to transition into a new field (from design to applications, for example). And yes, age discrimination is still prevalent, largely for cost reasons, so only list the last 10 yrs employment history on your resume.
Stay away from the big companies!!!. I've worked for some well known firms such as Nortel and Emerson Power and I can tell you that the bigger the company, the more idiots you will have to deal with on a day-to-day basis. I currently work for a small outfit here outside Toronto that has 44 employees. Just the right size. The pay could be better, but I love my engineering job here. We don't even have an HR person to mess things up. The big boss, who owns the company, does all the hiring.
Is he proactive, i.e., does he have regular contact with academia and request they teach the skill set he needs? Or does he not know what they will need until the day they write the job posting? Reactive types (and companies) are crisis driven. New hires are expected to hit the ground not just running, but sprinting and singlehandedly rescue the company by afternoon coffee break. Management should expect no less from the optimal candidate, selected by their HR software - right? It's more wishful thinking than science.