I think people need to stop seeing software as punching coloured characters on a screen and start considering it as an occupation that varies widely in skills, wages, and status and distinguish between the blue collar "plumbing" and white collar "architecting" parts, with a smooth array of options between both.
This, of course, is hard if you don't program and it's not really meaningful to evangelise about, so I'll leave off this rant here.
Yes, I guess developing/architecting are largely orthogonal to paycheck, it's more about the current market forces than the position in this scale.
However, our lizard brain status system still associates directing and leading things with more status than just requirements implementation and there is no way around that yet. Also, less demand means that this more "abstract thought" type of positions are more prestigious by the virtue of scarcity.
eh, i don't know about that one. In most countries outside of America, "engineer" is a reserved word for licensed engineers and Software Engineers can not legally call themselves engineers, thus developers.
"Engineers" design/build components that perform with repeatable results.
"Developers" work out the plumbing details between components in a system.
When hiring, don't mislead people into thinking they're interviewing for an Engineering role when you actually need a Developer.