How does a Jr. to Mid-Level programmer find work?
mbrubeck: The big companies like Google and Amazon are hire lots of entry-level people, since they have the time and resources to train them.  It's a decent way to get experience if you can get it.  (My first "real" software engineering job was at Amazon.)  The interviews are tough and there's a strong chance of getting rejected even if you're good; follow the other advice on this page and also study up on both CS theory (algorithms, complexity, networking, OS/architecture) and programming practice.