Yes, it would be nice if everyone developing software had a better
grounding in Computer Science.
As a practical matter, not enough employers are willing to pay for that
skill. They are fine hiring Java *technicians* rather than software
*engineers* or the exceedingly rare *scientist*. (This is part of why I
generally encourage students who want to be more than technicians *not*
to focus solely on CS.)
It is also not unusual for a technician to be more skilled at procedures
than an engineer of the kind who developed the procedures or
technologies that the technician uses.
Then there are the employers who *are* willing to pay for developers
with breadth&depth CS backgrounds. Sadly, some of them then go and bias
the interview quizzes towards people fresh out college, with CS 101
questions that almost no one remembers precisely, even if they've
internalized the gist of it.
--
http://www.neilvandyke.org/