One issue I've heard from a couple friends that worked for the NSA is that they have no idea what they're working on. One friend said he would just get specifications for input into a module and what the module should output. He wrote tests around the specs and wrote the module but had no idea what it was part of.
I've also met programmers who are just out to get a stable job. I bet the NSA looks for people like this. "Sit here, do your job, get this paycheck"