There's a bunch of different threads here. I agree with the overall sentiment — that there's a difference between an "engineer" and a "keyboard monkey." The first takes ownership of a problem, and the latter takes ownership of a given solution.
But in my personal experience in the software industry (as an engineer myself), a surprisingly large number of software developers define their OWN roles in a way that overlaps more with the latter than the former.
And that, I believe, is more about attitude than the skill/pay. I've seen more people OVERPAYING for (failed) software projects, than UNDERPAYING for good work — because most developers are terrible at estimating time and can't have an intelligent conversation about scope/budget. :)