One of the big problems in the tech world has been a lack of understanding of how developers work. If you watched a programmer doing his or her work, you might not see much happening. Most of what we do is intellectual, and isn’t visible. It’s thinking work. Reading. Learning. Listening.
A lot of managers think that programming is a menial job, and hire people accordingly. They value subservience. That’s where the word coder comes from, and why it’s so bad. In the world of PHB’s, the thinking is done by non-technical managers, who then tell the coders what to code. They see themselves as Churchill and the coder as a mechanic who translates their words from human language to computer language. This is not what is happening. And it makes it harder for developers to do the real important and difficult work of making systems that work for the people who use them.
One of the reasons software is so often crap is this lack of understanding. Now they want to create a whole generation of coders, automatons who will take orders from PHB’s. This is not a formula for success.