What are the best places in the Twin Cities for working as a software developer?

The things I'm looking for:
1.  The team has all of the basic elements of a good software development team, such as version control, bug tracking, a 1-step build process, etc.  Although I could be a hero by introducing a team to version control, bug tracking, the 1-step build process, etc., that would take time away from advancing the project, and a team lacking even the first few items in the Joel Test would surely have many, many issues.  I'd rather be average or below average on a superior team than the hero of a lousy team.
2.  Software development is a very core part of what the company does.  (I guess this means that software companies should be my top priorities in my job search while banks, insurance companies, etc. should probably be lesser priorities.)
3.  The company treats the software developers well and doesn't shortchange them on the resources they need.
4.  The team has good software developers and no bad ones (the ones who can't code their way out of a paper bag despite having a CS degree and/or "years of experience").
5.  The team offers the option of using Linux instead of forcing Windows: Using Windows means sacrificing control, as nobody outside Microsoft knows everything about Windows.  I do NOT want to have something go wrong and have to consider the possibility that Windows rot on my machine plays a role.

-- 
Jason Hsu <jhsu802701 at jasonhsu.com>
Founder and lead developer of Swift Linux (http://www.swiftlinux.org)