The situation
The shop is hiring. The careers page has an address for applications, and the documents arrive in every conceivable shape.
A careers page with a mail address on it is not an application process. A form with an upload is at least the start of one.
The shop is hiring. The careers page has an address for applications, and the documents arrive in every conceivable shape.
The built-in form knows no upload and no job selection. And a mail address sorts nothing.
The consent field is its own element type - named more clearly for the purpose than an ordinary checkbox.
A dropdown with the open positions turns every application into a sortable row. When a position is added, an option is added.
CV as a mandatory field, cover letter optional. Both with allowed extensions and an upper limit, both in the configured media folder.
On the form you can switch on an email notification and store a recipient address - per form, not globally.
As a block in the shopping experience of the careers page, directly visible. An assignment makes no sense here - it hangs on no product.
Position, availability and contact details as columns of their own, the documents in the media. Where the files go is set in the plugin configuration - and there, whatever the shop already governs for media applies.