Don't look at the big cities as much, as things are kind of in flux, especially NYC and Chicago. Silicon Valley has jobs, but sharing a studio apartment with someone will cost you a minimum of $2k/month USD. There are some good firms that have satellite offices in South Dakota. North Dakota is one big military base, so the mil-industrial complex has offices there.
What I would do is find the company you want to work for, and then find one of their satellite offices in the lesser-populated states. Trying to move here to a big city is going to cost you a shit ton of money, but going to a smaller location won't cost you as much. I would be much more concerned with the who you want to work for than the where do you want to work.