Basically labs/institutes and large universities that get government funding looking for software developers.
National Labs (though it's getting rougher), flagship universities with large labs or targeted programs like MIT (Lincoln Lab), Johns Hopkins (JHAPL, STSCI), UIUC or UChicago (NCSA, UChicago pioneered much of grid computing but some of that was Argonne if I remember too), USC, and especially smaller labs/institutes or even specific projects at large universities. You can also look outside the US, France (INRIA, IN2P3) and Germany (Max Planck institutes) can be good places, Italy is okay, the Netherlands is good but not as large, UK is good, Australia is okay. In Europe you can't expect to do anything with CERN unless you are working at a National Lab in the US generally. Japan does tons of stuff but most people I know who have worked on Japanese projects in Japan don't enjoy it as much.
Secondary jobs are also a possibility near big national labs (Bay Area, New Mexico, Illinois), but usually that's less software and more big-E engineering.
Materials science and bio have a different layout but much of the cutting edge of that tends to be located near light sources these sorts of facilities too, and the need for software devs is growing there.
Edited: Re-reading batbomb's reply, I also remembered a friend who is currently a data scientist for a venture-incubator, but was previously at a national lab. Many of the projects he described were very cool, and challenging.