The biggest flaw in the H-1B system is that it's a nonimmigration visa. A very common path, is to come to United States on an F-1 student visa, graduate, then get a job on an H-1B. But the H-1B is time limited, and indentures people to a specific employer. Get a crappy job, get low balled, you're screwed, and god help you if you don't start your green card paperwork early enough. Couple this with the limited number of visas, we're simply turning away talented people and encouraging them to go home and compete against the United States on the international stage. It's stupid. Instead, we should create a new visa that's allows anyone that graduated from an American university to stay in the United States, work get a job, change a job. Allow their spouse and children to come, and also work. Essentially, give them a diploma and a green card.