Almost everyone I’ve interviewed for a programmer position couldn’t code themselves out of a paper bag.
Biggest prob that I see (well, I dunno, I see a lot of problems but I won't get started......) ...is that kids coming into the IT infrastructure don't understand *why* they're doing things. Or, how what they do will impact the business.
The latter comes with time. You only need to reboot the EMail server in the middle of the day ONCE to learn not to do it again.
The former? Not so much. They just look a problem up on Google and stick in whatever fix they find in whatever chatroom. "What does the fix do? Why will it work?" are questions I have to keep asking them. "I dunno, it just should." is the answer I get, more often than not.
The "Hows" and "Whys" are important. Always. And "Because it does" is rarely an acceptable answer, IMHO.
Blame it on IDEs (integrated develop environments) that hold your hand through the entire process.
Programming today is less about logic, and more about putting together pre-fabricated pieces.
Several times I’ve stumped someone byt asking them to write a code snippet, but I required them to use notepad as the editor.