We don't have a problem with making good Engineers and Scientists. We have a problem of RETAINING them. My tale:
I am a Degreed Mechanical Engineer, graduated in 2000 from a small but very well known University (well known in the Engineering field at least). I have worked at Billion-dollar companies as well as very small Mom and pop enterprises. My experiences led me to get my MBA - to get the heck out of Engineering.
I loved solving problems. I was a Project Engineer, and I've seen some incredible things, and spent incredible amounts of money to achieve them. So why couldn't I wait to get out? Because in each of my various posts, one thing was always evident: Being an Engineer means being the lowest guy on the totem pole.
Let's start with salary. Truthfully, most places pay a fair wage, or at least are willing to, if you are worth it. But, and here is the kicker: it's only fair if the job is truly 8-5 (I had no idea that there were 9-5 jobs until I got my MBA!). It is NEVER 8-5, because as an Engineer, YOU are one of (if not the only) problem solvers in the company. Let me say that again: Regardless of how many other people are around and available to make something happen, nothing will without you. When a machine breaks down, the hourly maintenance guys get to go home. Not you. When a construction worker makes a mistake, you have to clean up the mess too. You are looked at as a magician, capable, no, EXPECTED to make the impossible happen.
3am phone calls. Lost weekends. Breaking vacation plans. They all have happened to me more times than I can count, and not because they were in my domain, but because no one else was willing to solve the problem!
It boiled down to support: most Engineers out there have very little, and in one or two jobs, I had NONE. Any time there was a glimmer of hope and I was actually able to hand-off a new production line (or process/building/site), it was quickly dashed the first time something "went wrong", as rather than diagnose and fix it themselves, they just called me.
And then there was management. Nothing like being brought into a company specifically for your experience and knowledge, only for them to NEVER listen to you! I've been involved in countless senior management meetings, and stockholders would be amazed (as would most of the general public) how incredibly ill-prepared most of upper management is at...well...managing. No amount of data and experience is a match for a rampaging CEO.
Sum that all up, and you get the reason why people don't stay Engineers. Decent pay, but no balance. Lousy to non-existent support. Soul-crushing decision making at the top. It all adds up to one common conclusion: Engineers are simply not VALUED in both Corporate America OR the public at large.
I am now in Finance. Making more money. Spending less time working. No 3am phone calls or lost weekends. Most importantly, my opinions are both valued and respected.
Again: It's not about the money. It's about being a part of something that values my contribution to it.
The Culture of Corporate America does not value Engineers. Change the Culture, and Engineers will stay.