In short, software works best when it's fit for purpose. The disciplines of QA help insure this within the Software Development Lifecycle
The best software is a mediation between quality of coding, and how well it fits what the user/client wants the software to do.
It will help if kids learning IT have this drummed into them from an early stage. That really the end user is vitally important within the design/implementation stage. But also it will help if they are given awareness of the tools that can help quantify this. An understanding of how to use the developer section of a browser to see what's going on, or tools like proxies so that they can see what's being sent out from apps to servers.