And with regards to the computer science field, I saw an interesting article a few months back arguing that there is more than enough job available, it's just that the companies with openings don't want to hire US workers.
The computer science industry is one of the largest proponents for relaxing US immigration laws to allow it to recruit talent from overseas and largely to pay them less than it would comparably skilled US-based workers.