There's lots of talented software engineers out there. They are just not available for the prices Zuckerberg wants to pay, which is the real issue. Zuckerberg wants world-class engineers willing to work for H1B salaries.
There is some truth in this. Our company always goes offshore for development when possible, or hires the H1B.
However, there is usually a cultural and communication gap.
Facebook has tons of money, and paying American rates for engineering talent is likely not an issue.
What good is a roomful of engineers, if you can't talk to them?
Or more importantly, what good are they if they can't talk to your customers?