A lot of "modern programming" consists not of understanding the programming language itself, but in knowing about all the "usual libraries and accepted techniques." So knowing C or C++ is not enough; you need to know how to use CMSIS or ASF (and when not to), POSIX and which parts aren't present on your particular chip, the intricacies of the preferred RTOS, OS, or proprietary environment, or the currently licensed graphics libraries and how to use them to create a GUI app that will fit seamlessly on the users desktop/tablet/phone without causing user pain. (consider, for instance, CADSoft's initial release of EAGLE on the MAC, which was more-or-less a recompilation of their linux version to run under X windows using the linux infrastructure that exists on MacOS. I thought it was a pretty clever move, technically, and I wish more companies would do the equivalent, but it was definitely NOT a "Mac Application.")
(This also shows up when you get simplified "tutorials" for a language. I've been doing the online "CodeCademy" "class" for Python, and I think I've got the basics of the core language. Which qualifies me to go work for a company that does their major work in pythong NOT AT ALL, really. Or, way back when, I was able to modify/fix a file archiver that was written in MacLISP, but I'm not at all a LISP programmer.)
Finally, understanding the application can be more important than understanding the programming language. You end up seeing an unfortunate number of awful programs written by great coders who didn't understand the problem, and a similar number of awful programs written by problem experts that didn't know enough about programming. (The latter frequently get masked by the increased performance of computers.)
"Good" employers will have realistic expectations; just because you graduated with a 4.0 average doesn't mean you can write android applications immediately, but having only written iPhone apps doesn't mean you won't come up to speed on Android pretty quickly. (Or PIC vs AVR vs ARM.) (If you can get past the HR department screening software. (Which is why colleges with placement services are so valuable. A company can build of a relationship with a university so that they KNOW what they're getting when someone has a B average but flunked EE311.))