However, my view is that not everyone, regardless of education, can be good software engineer. Almost all software engineers I know used to be very top at mathematics and science since the very first year of primary school. They didn't receive any superior education, but researched and learned things by themselves, very often against a lot of things that stood in their way, like no access to internet or much more obligations (like helping family on the farm) than kids in America.
Nowadays, when it is getting much easier to learn anything being anywhere in the world, just being born or educated in the USA loses it's value.
Remember, that USA is just about 5% of world population.