It’s Abstractions All the Way Down…

Author

JD Long

Abstract

Abstractions rule everything around us. JD Long talks about abstractions from the board room to the silicon.

Over 20 years ago Joel Spolsky famously wrote, “All non-trivial abstractions, to some degree, are leaky.” Unsurprisingly this has not changed. However, we have introduced more and more layers of abstraction into our workflows: Virtual Machines, AWS services, WASM, Docker, R, Python, data frames, and on and on. But then on top of the computational abstractions we have people abstractions: managers, colleagues, executives, stakeholders, etc.

JD’s presentation will be a wild romp through the mental models of abstractions and discuss how we, as technical analytical types, can gain skill in traversing abstractions and dealing with leaks.

Notes

  • Organisational hierarchy are abstractions
    • Silos are leaky abstractions
    • Data Science type roles break previous organizational abstractions
  • Debugging abstractions requires seeing (and understanding-ish) below it
  • tl;dr “Head trunk only hold so much junk”
  • Good abstractions constrain complexity and separate concerns
  • Wrong metaphors sometimes don’t matter, but sometimes they really do
    • floating point math!1
  • multiple abstractions is a high empathy move!!!
    • give everyone the abstractions they need for the work they are doing!2
    • data products (documentation) are great abstractions for super/guru users

Q&A

  • put a name on every user personas in small organisations –> GO ASK THE PERSON!

  • how to protect/keep empathy for the 80%?

    • maybe they’re not your responsibility

    • don’t force people to move up

  • data warehouse, data lake, data lake house…

    • warehouse – top-down schemas, big cost, low agility

    • lake - capture and accumulate

    • lake house - ETL on top of data lakes

  • how leaky do you consider dplyr?

Footnotes

  1. READ Examples of floating point problems↩︎

  2. research software also has this stack… infrastructure, customisable workflows, point and click interfaces↩︎