In my experience there are usually 3 reasons why a firm is low on Staff.
1) The pay is shite. Therefore, the good engineers leave for greener pastures, and they cant attract new staff on those rates.
2) The company culture/atmosphere are toxic/shite. Once again this leads to an exodus of employees. This tends to lead to high turnover, and means they are stuck hiring youngsters who dont yet know any better. And who eventually will bugger of as well...
3) An unwillingness to hire anyone who doesnt have the right degree, from the right university and have X years experience in every possible field of IT that's ever existed. i.e. the not hiring what you need, only what you desire problem.
Too often it is all 3 of the above... Or at least some combination of them...
So which will we find out it is here?