Our Education System Is Failing IT
It isn't education, it's the lack of experience. We've outsourced so many of the entry level jobs, where are the young people supposed to learn? That's the real cost of outsourcing...without an entry-level position and ability to learn how to troubleshoot, there's no place for kids to learn how to do their jobs.
Most of the really good systems engineers I know started on the help desk, worked desk-side support and then did infrastructure support (servers/network/storage/security). They understand that their jobs still come down to delivery of solutions to the end-user. They understand that the end-user doesn't care what backend BS broke, it's just that they can't do their job. We're missing that at the mid-level...and most of the really great infrastructure people are in their 40's now.