If you do an HN search for "shortage" you'll see many links, to things like: http://math-blog.com/2014/03/10/stem-shortage-claims-and-fac... - which points out that it's not "difficult for employers and potential employees", giving an example of how Facebook decided to not employ the people who became the founders of WhatsApp, then paid $19 billion for their company a few years later. http://www.theatlantic.com/busin…
Very simple fix: instead of lottery, award the visas to the highest paid employees in each field. That salary cannot drop more than 10%. (I'd add, the employee can switch companies, instead of being tied to one, given they are again paid the same amount in salary). The "offending" companies are not the likes of Facebook or Google, or small start ups (other HN discussions mentioned the concrete companies that get the…
If it were the case that those states were desperate for developers, then your lottery would make things more difficult.