I am interested in a psychology-related issue.
Let's imagine that we have a consulting company (and let's call it BusinessSoftwareInc) which does small and medium software projects for its clients. Some projects can be so small that they can be accomplished by one or two developers. By design of the BusinessSoftwareInc company the clients do not have any direct contacts with the company's developers (they do that via company's project manager).
Let's also imagine that the BusinessSoftwareInc company hires a remote employee (a developer or a web-designer, i.e. a person who never needs to visit the office) to do those software projects.
There can be some times when a client demands an NDA for a software project and our company should adhere to that.
In that case the developer is given a task to develop a software project, but he/she will never see it live in production (simply because the client will use it internally and the NDA does not allow to put the software project into our company's online portfolio or create a demo).
The question is: Can that negatively affect the morale of a developer and if yes, how this undesirable effect can be reduced or avoided?
My point is that if a developer does not really see the result of his/her work in production, that can lead to some kind of 'moral burnout' on his side, because if you do not see the thing that you has put your time in that can be very disappointing.
P.S. The only thing that I could imagine is to tell the developer something like "The client was very pleased with your job", but I tend to think it is a weak trick.