Q&A: Reinventing vs. Reimplementing The Wheel

by Justin Skycak (@justinskycak) on

Want to get notified about new posts? Join the mailing list and follow on X/Twitter.


Q Do you have advice for continuing to get deeper in these fields? I have degree in CS and Math but have been contemplating how to get deeper in either one.

A: After building foundational math/cs skills, the way I’d recommend to acquire deeper expertise is by carrying out projects where you apply your math/cs chops to your domain of interest and guide your future learning based on the needs you encounter.

Caveat: most people who think they have foundational math/cs skills really don’t have strong foundations at all and would benefit from serious skill building before jumping into projects. The problem with jumping into projects too early is that you spend a lot of time flailing, and even if you do manage to pull through, you end up with projects that you think are innovative but actually seem trivial to people with serious foundational knowledge. Elaborated on that here.)


Q: In that link, you mention not reinventing the wheel but then talk about having students build their own basic ML models and following through research papers. How do you reconcile?

A: I think there’s a distinction to be made between reimplementing versus reinventing. Building simplified models from scratch will give you a level of understanding that you wouldn’t get otherwise, and I highly recommend it. However, I would not recommend going through the full years-long process of R&D, lots of fruitless exploration leading up to discoveries, only to end up with an end result that is made trivial by foundational knowledge. I would recommend to reimplement in the sense of explicit instruction, but not reinvent in the sense of discovery learning.



Want to get notified about new posts? Join the mailing list and follow on X/Twitter.