Hacker News new | past | comments | ask | show | jobs | submit login

> Meaning you could absolutely suck at your job or be incredible at it and you’d get nearly the same regards in either case.

Story time.

There was once a junior data scientist at Shopify that had learned Python and SQL and was tasked to figuring out how to fix their "broken app store recommendation engine" but since they didn't know Ruby, they asked for my help in figuring out what was going on.

Well somewhere in the soup of math was a fuzz factor at the very top. Think of it like

    factor = 0.something  # Not 100% sure what the decimal portion was.
    some_complicated_math_that_maxed_out_at_one_pt_zero() + rand(factor)
Now the thing about ruby is that rand is basically broken for floats.

    Negative or floating point values for max are allowed, but may give surprising results.
https://ruby-doc.org/core-2.4.0/Kernel.html#method-i-rand

So basically what they thought they were doing was introducing a bit of randomness that would hinder others from reverse engineering their algorithm. What they actually did was make the recommendation algorithm fifty percent total noise. Yes, it's true. On every load half the recommended app scores were noise.

They fixed the bug and I'm sure a ton of balance sheets for businesses around the world are markedly different know because of it, but I never heard of it again.

This is one of the core problems with data science.

The lack of feedback.




Ironically....

Having a subset of totally random recommendations wouldn't be a totally terrible idea---especially if you know which they were! It could help push the system out of local minima and it's the obvious benchmark to beat.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: