Great writeup. I do wonder about the "ability to do harm" in machine learning without understanding fundamentals. I just heard a talk from a data scientist this Monday who built a model that includes zip code to predict mortality risk, and I asked about "how did you control for disparate impact" to no answer (compliance signed off on the model...that's not an answer).

Going the other way, like you say, to be an expert the fundamentals are key. Maybe you don't need to _start_ there, but the goal should be to get there, for the reasons that I think Julia Evans (https://jvns.ca/about/) sums up well (emphasis mine):

> I have one main opinion about programming, which is that deeply understanding the underlying systems you use (the browser, the kernel, the operating system, the network layers, your database, HTTP, whatever you’re running on top of) is essential if you want to do **technically innovative work and be able to solve hard problems**.

Expand full comment

Andy - Thanks for the kind words. Yep, agree there's ability to do harm w/o understanding, and Vicki's post is a nice complement to that. I'm unsure if that's unique to machine learning, or applying any theory to the real world e.g. econs, political science, medicine

In the zip code case, I'd presume the DS guy had indeed studied for years and worked professionally, and if so, it's less of the "how long you've studied/ do you have a PHD" and more "do you actually understand, not just able to say you do" (https://fs.blog/2015/01/richard-feynman-knowing-something/)

Also agree that the more deeply you understand underlying layers, the better you'll be. The world's a complex place, and it's tempting to focus on just one piece, but there's often a lot of different (or none at all) underlying factors

Expand full comment