I can't imagine a situation where I couldn't tell the difference between either of them and a bad engineer. I'd either be pair programming with them and learning a lot or be pairing with a "bad engineer" and suffering.
Sometimes people making the decision about hiring are not programmers themselves, or happen to be the bad engineers. In both cases, the difference between a good and bad engineer can be invisible for them.