It depends on your relationship with the programmer and also as to whether it is a "coder" or a "developer".
If it is a new programmer that you have not worked with before and that is not familiar with your operation then yes, go as much detail as possible.
If it is someone that is familiar with your operation and has built out a good amount of your infrastructure then you do not need to be as detailed (at least as far as I am concerned).
The question you have to ask yourself is "Do you want a programmer deciding what your business rules are and how they should be implemented?".
