It could serve as a parable you'd tell a junior engineer interested writing algorithms that get applied to people's livelihood. Beware your own hubris, demonstrate or simulate results and show them to all stakeholders like the union, do controlled rollouts (why not start with 1 region in the country?), verify inputs that could be untrustworthy. Basically all the usual lessons one learns the first time they write an algo for people and it blows up in their face embarrassingly.
>demonstrate or simulate results and show them to all stakeholders
This is a very important point. Especially for any algorithm/policy change that affects people's pay, time off, scheduling, etc., it may seem like a reasonable change to you and to management but a lot of people will have a visceral reaction anyway. Not everyone may be happy at the end but it's important they're at least part of the process.
Define your expected optimization outcomes in plain human language, and verify them extensively in trials.
I can write some useful formal properties right here:
- there are n openings and m qualified applicants. At the end of assignment, there should be (m-n) applicants without a role.
- if (m>n), all roles should be filled
- if there are n identical average candidates and m identical ideal candidates, if there are p roles where (p>m), all ideal candidates should get a role
- every candidate not selected should be worse than every candidate selected
- every candidate not selected should have participated in n trials where n is the number of openings
- etc
But leetcode hiring implies we're looking for juniors to roll their own algos and call them recursively as part of the job. People hired this way could be walking time-bombs.