How does a Jr. to Mid-Level programmer find work?
bluesmoon: Work on an opensource project that fits into your area of interest.  Build up your expertise in all areas of development, especially your ability to work with a distributed team of developers.  Learn debugging skills (they don't teach this in school).Support people (users and other developers) on mailing lists and forums related to the project you're working on as well as the areas of technology that you have some experience with (note, you don't have to be an expert, just interested).  Work on your page rank, so that when someone searches for you on the web, they see several pages worth of problems that you helped someone fix.  For this same reason (among others), never be rude or overly sarcastic on a forum.  Be helpful, and if you can't be helpful, be attentive.In the course of doing all this, you'll sometimes come across people who work at companies looking for young hotshots (hint, that's you) or reliable developers (hint, that's also you) or an experienced programmer with an eye on customer satisfaction (yep, you again).  Don't ask them for a job, but hint to them that given the right conditions, you may be open to a more permanent technical exchange.Now if you're active enough, you can get this all done in a couple of months.  When I graduated from college, my resume already had two pages of projects that I'd played a primary role in.  This helped.