How to demoralize an engineer.  All references to the male imply the female as well.

Make him a coder / technician
The reason someone becomes an engineer is to feel that rush of solving a problem.  The implementation of the solution is the less interesting part.  A secondary rush comes from observing that the final product works, after the boring implementation work.  A surefire way to demoralize an engineer is therefore to give him a detailed solution to a problem and tell him to implement it.  Don’t let him contribute to finding the solution.  First prize is to not even give him details of the problem (that way he can’t even attempt to suggest a better solution than the one you told him to implement).

Ignore his input
If you can completely ignore any suggestions or input the engineer has, the frustration will ultimately lead to the engineer not giving any input any more, and just doing what he is told.  The best way to do this is to initially create the illusion that you are serious about using the input, but actually discarding and ignoring the input as soon as it is given.

Never finish the project
As mentioned above, the rush of seeing the end product of all the hard work function as it should can sometimes make up for the lack of creativity needed for the project.  Take this away and you are sure to demoralize the engineer for the next project.  The best way to achieve this is to complete the project up to the point where it is ready for operation, but to then delay the final launch indefinitely.

Make him use tools that frustrate him
Making progress is part of the day to day motivation of working on a project.  If you can slow down or stop that progress by forcing the use of tools that don’t work as needed, you can make a big hit in that motivation.  Software that randomly crashes, libraries that are unnecessarily complex and have little or no documentation, or procedures and systems that seem to add no value to the end product are excellent examples.

Make him do admin
Documentation is already seen as a necessary evil in the job of an engineer.  Why pay someone a human resources related salary if you can pay someone an engineer’s salary to do the same work, and have the added benefit of sapping morale?  This has the additional benefit of wasting the company’s money.

Apply Mushroom Management
Keep him in the dark and feed him bullshit.  Don’t give him updates on the progress of the project.  Don’t give him feedback on the company’s financial situation.  Make communication and co-operation between teams difficult or impossible.   Answer questions about these topics with answers like “We don’t want to trouble you with things that don’t really concern you, or that you wouldn’t understand”.

Office politics
Penalize him for not participating in office politics.  Give raises and promotions based on how much a person sucks up to the right people, not technical contribution.

Give him nothing to do
Stop him from doing any work wihtout authorization, and then don’t give him authorization to do anything.  Use excuses like : “We realize that it’s critical work, but that project currently doesn’t have the cash flow available to do that work.”