Andrew Ek

Principal Engineer @ LaunchScout

Andrew Ek is a principal Engineer for LaunchScout, where he uses Elixir, Javascript, and Ruby to build software.

He otherwise spends most of his time helping other developers find more joy and satisfaction. Prior to being a software developer, he taught middle and high school language arts and math, and computer science at the collegiate level, and ran a non-profit where he taught poetry and taught other teachers how to teach poetry.

Andrew lives in Lincoln, Nebraska, USA, with his really excellent spouse and kiddo and their remarkably photogenic cats.

Better Data Access with Composable Queries

The Ecto.Query DSL gives us a wonderfully expressive tool for fetching data. With a little bit of extra magic, we can create composable, human-readable, expressive, pipeline-able methods that reveal the human meaning behind the data we’re accessing, rather than the implementation details of the DB schema itself.

In this talk, I’ll show how to begin decomposing existing queries (and creating new queries) with composable queries, how to organize those queries, and how to make them discoverable. I’ll also show how to accomplish common joins, make use of subqueries, and other common SQL operations.


This talk is best suited for folks who’ve worked on a big enough codebase (using Ecto) that they’ve run into the problem of “Wow, this is a big SQL statement, and it’s a little bit opaque in meaning!”