In WMFHelper Contact::getIndividualID() we find any potential employees by looking for an individual with a employee relationship to the employer and also an individual with a soft credit from the donor. This can bring up weird results with common names and large employers. We had two cases where there was a clear employee and then another contact with a soft credit from a dozen years ago with the same name. We could make this matching a little more sophisticated by ignoring very old soft credits and also by using more of the employees details if available.
At the same time, we should directly look for an owns the DAF relation in addition to an employee relationship, instead of just relying on soft credits to cover DAFs. This should, like the employment relationship, be the higher priority match versus just having a soft credit.