One of the problems that lead to the issues discussed in this node is the fact that people with programming skills are still very thin on the ground. Take me frinstance, One day I was the guy in the office who fixed the photocopier and bailed the users out when they fucked up their windoze box too badly.
The next day I'm hacking up a little qbasic program (I grew up learning 6 different dialects of basic plus one of assembler) for storing and collating exam results (I worked as clerical staff at a college), 6 months later I'm hacking up an MS Access database to do the same thing... I do not doubt that I did a godawful job of it and that if I went back to it today I would be deeply ashamed.
Another 12 months and I'm Database Administrator at a small electricity retailer, having picked up the proper way to design a Relational Database Management System along the way.
I'm a much better programmer these days, having picked up the rudiments of C++ and Java and having been trained in structured programming techniques but the point is this:
- Did these jobs need to be done? Yup.
- Did they need to be done by me? No one else was volunteering (not at that salary, anyhoo)
The College at which I worked did not even realise that they needed an IT department until 2 years after they started needing one. During that 2 year period, I was the only person on the premises full time who knew one end of a keyboard from another.
At the electricity retailer, My programming skills were improving but still fairly poor. They were, however, getting exactly what they were paying for.
I served my, apprenticeship, for want of a better word in the IT industry without any support structures, mentors or any guidelines on how it should be done. And while employers are not prepared to pay Computer Science graduate wages for people doing "apprentice" level work, the computer industry remains unable or unwilling to establish and enforce a formal system of professional training, this problem will persist.
I'm not complaining, mind you. I went from 26 years old with no future to a career in IT completely off my own bat and It's an accomplishment in which I take no small amount of pride. (Even if I'd like to forget some of my earliest work.)
On a more practical note, those of us who are skilled in the basics of our profession need to start taking the attitude that the next generation of programmers are our responsibility. Mentoring new entrants to the industry in the basics rather than hurling abuse from the comfortable anonymity of an internet website is an excellent way to begin.