Your point is correct. But hiring a US citizen would be better for the country because not only would there be the potential tax income but the savings from lower unemployment.
The Bay area might be short on developers but I know there are talented developers in other states that are unemployed or underemployed. So Colombia is ok but Nebraska is not?
While I agree that hiring a US citizen would be better for the country and I'm certain that all talented US citizens have jobs or are creating more jobs (through startups). But, I think there is merit in attracting top talent from other countries and retaining them as well (who in turn contribute to the economy).