If the form has required and optional fields, it is better to remove optional and make all fields required. Then you can remove asterisks and other required indicators from the form. This always makes the form easier and cleaner. And most importantly, it makes it unambiguous - the user just has to fill out the entire form.
An optional field must be reasonable and make sense. If we see the optional field Company in the registration form, what does it mean? Why should it be specified? Usually there is no answer to this question and no reason to fill out such a field either.
Additional data can always be received later but now it is important that the user as soon as possible became your client.
If we still want to get more data or a certain field for some users will make sense in the future work with the site or service, you must explain why we want to get this data.
In long and complex forms, it may be impossible to remove optional fields. For example, if these fields make sense to the part of the audience. In this case, a good solution is to separate required from optional. The form should have required fields first, and then the optional separated by a border or background. This visual separation will simplify the form and make it more predictable: it will make it clear what the user needs to fill out and what is filled out depending on their case.
Sometimes there are forms in which all fields are required, although some of them have no value in the future use of the site. Perhaps they do so because of technical simplicity, or because they could not decide which data are important, shifting the responsibility to the user.
The typical result of such solutions is low conversion of forms and frequent refusals of users at the step of filling out. People don't like forms with something they don't want to fill out and don't understand why. When I see that they want my phone number, but I don't know why or know that it won't be important, I always enter 1234567.