I think the shortage is exaggerated. Employers are trying to hire only those who have done the exact job rather than hire someone who could quickly learn to do the job. Most engineering and programming work is highly-specialized and the skill set frequently changes.
Older workers can learn new skills.
However, they may not be as willing to work the many hours of unpaid overtime that high-tech employers seem to expect. I have never worked with any immigrant programmer who had special skills. All had basic programming skills. I don't know what they were paid, but I know that they lived three and four to one apartment. I think the main goal of increasing the quotas is to drive down wages.