About the police to hide/show not-required fields, I propose:
* If it is the first time the user fill that form,
hide by default non-required fields. For example, for
registration of Person, Company, etc., the first time
you fill your Qualifications. About the JobOffer I am not sure.
In general, I think it's only critical that we hide optional fields when registering.
The reason is to turn away as few people as possible at that crucial point (many people are unwilling to register if they have to provide a lot of information). Another place where hiding things can be useful is at the job search page, for similar reasons - New users shouldn't have to use fields they are not comfortable with.
On the other hand, those who are already registered want to be sure that their profiles, job offers, and searches are as accurate as possible, in order to get the best match. That could be easier to achieve by showing all the fields in those forms.
I also think it's a good idea to save the users' "view" of different forms in a cookie, and perhaps include it in their settings. What do you think?