Retro Graphics We have written job descriptions for anyone we hire, move, or promote. This is something we go through with everyone to make sure all parts of it are clear and if they have any questions. We don't use the term contract, but it is an agreement.
In terms of an NDA or non-compete, we don't do anything like that. However, there's nothing wrong with getting a generic one and having a new employee sign it. Keep it as simple as possible. Enforcing an NDA or Non-Compete is really expensive and not something you would probably do, but it does help set clear expectations for the position.
If you hire someone, and they are doing exactly what you want them to do, then you don't need anything in writing.
But, if you hire someone, and after time, they miss the base on a few things, going back to the written documents you went over with them helps everyone get back on the same page.
That being said, don't be afraid to update job descriptions. Keeping them up to date as roles change and your company grows is important. No one has ever written the "Perfect" job description. Always improving!