My dashboard had a line I almost shipped as a footnote: 0.1% of salary rows can't be converted to USD.
That reads like a rounding error. It wasn't. It was my filter deleting 1,170 real job postings.
The setup
I run ATS Job Feed , which pulls open roles from Greenhouse, Lever, Ashby, Workable, Personio and Workday, normalises pay to yearly USD, and de-duplicates across boards. One of the switches, salaryOnly , drops postings that don't state a number β people who only care about jobs with published pay.
Under the hood the filter is one line:
if salary_only and not ( job . get ( " salaryLow " ) or job . get ( " salaryHigh " )): continue
Enter fullscreen mode
Exit fullscreen mode
And the conversion was a dict:
TO_USD = { " USD " : 1.0 , " EUR " : 1.08 , " GBP " : 1.27 , " CNY " : 0.14 , ...} # ten currencies
Enter fullscreen mode
Exit fullscreen mode
Anything not in that dict returned None .β¦