This does seem wrong to me because he's essentially being charged for much the same crime on the same set of facts. It seems like when the dual-sovereignty Federal-State system was created the idea was that that the Federal and State governments would be responsible for different things such that you would be violating either Federal or State law (or possibly both but for different offences).
This seems like prosecutorial abuse.
That all being said, if you consider the facts int his case: the code in question was highly sensitive and as much as the article calls the action of sending it to a server in Germany (IIRC) a "mistake", it seems fairly clear to me that it was or was intended to be theft.
Just don't take code from a former employer. Ever. This is a good rule of thumb for every engineer to follow,. Even if what you're doing isn't (likely to be) criminal conduct, you can then run afoul of copyright claims and so forth if you ever implement something similar.