in software engineering should a contract draft be reviewed by software developers? or it should be left to legal department and to management?
probably a good idea to do a sanity check of any deliverables and scoping or any hard to achieve requirements. - hopefully these could be seperated from the contract itself for a review.
Depends on the situation and your organization, but it can be helpful to have the engineers or engineering managers who are familiar with the code review and make sure you aren't misrepresenting ownership or rights if you are using third party and/or open-source libraries and code.
The contract is usually of little consequence to the software developers. In my experience it's unusual for a contract to be reviewed by software developers, but is often reviewed by (or at least made visible to) managers of one type or another within the engineering department. The main points of interest for them would be the deliverables, the dates, any penalties and the maintenance/support offered.
The software specification (which can often be an appendix to a contract) should most certainly be seen by developers, but actual review (sign off and/or providing feedback prior to the contract being signed) is often limited to architects, product managers, project managers, technical leads and similar more senior roles.
This will of course vary a lot from company to company and depending what sort of area the software is in, whether it is bespoke software or another roll out of an off-the-shelf product, etc.
That really depends on how the contract is written. If the details of what needs to be delivered are integrated into the contract, that should be reviewed by software developers. Often times this is just an exhibit attached to the contract. In that case, you would just want to review that exhibit. The software team should not be worried about the penalty clauses, indemnity clauses, etc. which make up the bulk of the contract, but should be about delivery dates and specifications.