I see a lot of H1Bs and offshores these days, but a quality American IT guy will always outperform the foreigners. Seen it with my own eyes.
The only place that H1B visa is needed is a place like Guam that has a real problem getting people to move there
The reason for that my brother from another mother, is because we American IT Professionals are multi-skilled. Indian software developers typically specialize in one, maybe two languages.
It often takes 8-10 of them to match the skillsets of one American IT Professional.
That's been my observation over 20 years of outsourcing.