There seems to be a bit of a pattern emerging here
Most coders I know are INTJ's.
If you stick an INTJ coder in the same room with an ENFP coder, this is what happens:
The ENFP loves brainstorming, sees the big picture, and will have the project planned out through v3, before any work even begins on v1. If the ENFP isn't careful, they might scare the INTJ and cause them to hide under the desk till the brainstorming session is over and it's "safe" to come out again.
The INTJ will do most of the difficult coding, with the ENFP doing the boring stuff the INTJ really doesn't want to bother with.
When the INTJ starts doing work on the GUI, the ENFP that can sometimes seem like they are capable of reading minds, only because they are good at understanding how people think, will notice the flaws in the design and how it isn't "mentally ergonomic".
All of the "idiot proofing" will be the work of the ENFP, because the INTJ doesn't understand and can't be bothered with idiots.
When it is time to write the help file/documentation, the ENFP will most likely write that because if the INTJ does it, only other INTJ's will understand how to use the application. If the ENFP does it, then your grandmother will know how to use it. Besides, INTJ's hate writing documentation, and ENFP's don't mind, in fact, they rather like it.