As someone who has worked in both academia and for a Federal government agency, I can attest to what Chris just posted. Getting a permanent position (at a Ph.D. Level) in a science agency is possibly as difficult as getting a tenure-track position at a university--maybe more so in some cases. However, such jobs do add to the range of possibilities for a graduate. Also, if you have only a BS or MS, there are many more possibilities in government than for a Ph.D.
It's also true that non-academic jobs are highly competitive with hundreds of applicants. What can give someone an edge is having had an internship during undergraduate or graduate school, even an unpaid one, with a science agency. You learn the ropes, get some training, and also make important contacts. I had dozens of undergraduate interns from the local university, mostly paid, but I did accept summer volunteers who really wanted the experience of doing research in my lab. I was usually able to find some funds to help even those without a funded position, but the real value was the exposure they got and the contacts they made. I've written many letters of reference for these interns when they later applied for graduate school or jobs. A few went on to get jobs in my agency through me or other contacts they made. If you are in graduate school, take the initiative to get the experience that will qualify you for jobs with state and Federal agencies, consulting firms, and/or NGOs, even if your goal is an academic position. Make contacts in whatever agency or other labs that occur in your area; even volunteer to help with a project. You can also meet government scientists and consultants at science conferences and ask them for information about jobs or advice on how to apply. Even if you are dead set on an academic position, you need to have a good fallback plan. And who knows? You might discover that a non-academic job better suits you. In general, develop better skills at something that sets you apart from all the other candidates with similar degrees and training, for example, in science communication or media, which many science agencies and companies value. That's just one example. Find out what skills, in addition to the basic graduate training you receive, that you might need to land a job with a particular science agency, company, or NGO. K.L. McKee http://thescientistvideographer.com/wordpress