Comment Lots of opportunities; don't sell yourself short (Score 1) 237
I'm currently a masters-level scientific programmer at Argonne National Lab, and I've worked on projects in population genetics (previous jobs) and nuclear physics (current job). Overall, the opportunities are great. Here's my advice, in response to several other comments:
Re: the pay level.
At any level -- BS, MS, or Ph.D. -- scientific programmers are among the most highly compensated scientists. Obviously, few scientists are as highly-compensated as their counterparts in industry. However, the wages are still very very good, and I don't consider it a reason to look the other way.
Re: the grant cycle.
A few comments have mentioned that scientists work on 2 to 5 year grants. While that's true, it usually doesn't mean that your job will expire after 2 to 5 years. Your research group will always be pursuing new grants. So you will usually get to keep the same job and be moved to another grant.
Re: the languages.
If your strength is Java/ big data tools, I highly recommend exploring options in informatics. There's the most opportunities in biological and medical informatics (I worked in bioinformatics for several years; I used a lot of MySQL with the UCSC genome browser; and a lot of Java with the Broad Instiutute's Genome Analysis Toolkit). But if geophysics is your thing, there's definitely integrative analysis to be done in that field too.
Re: how to pick an institution
I think you should definitely give preference to an institution that has a teraflop or petaflop supercomputer. You don't want to be stuck writing R for some postdoc's iMac. Look through top500.org to get some leads (but don't forget University of Illinois, who had the stones to eschew the LINPACK benchmarks and isn't listed). An institution that has committed that amount of hardware will be more willing to commit resources to its programmers.
Overall, don't sell yourself short; you have desperately needed skills.