Skip to content

Jforum #117 - Spotify lightning talks and Metaprogramming

Photo of Mattias Karlsson
Hosted By
Mattias K. and 2 others
Jforum #117 - Spotify lightning talks and Metaprogramming

Details

We are excited to announce a meetup hosted by Spotify.

Limited numbers of seats, REGISTRATION ONLY ON THIS LINK: https://jforum.confetti.events/jforum-117-meetup

Agenda:

17:30 Doors open, light food and drinks
Entrance from Regeringsgatan 13. To avoid queues we’ll send you a QR code to the email address provided in the registration form, which will let you into the office.

18:00 Welcome and lightning talk: Reducing Power Consumption in the Spotify Wear App
Speaker: Gustav Hedberg

18:30 Break

18:45 Talk: Schema-on-read is obsolete. Welcome metaprogramming.
Speaker: Lars Albertsson
How fast can you modify your data collection to include a new field, make all the necessary changes in data processing and storage, and then use that field in analytics or product features? For many companies, the answer is a few quarters, whereas others do it in a day. This data agility latency has a direct impact on companies’ ability to innovate with data. Schema-on-read has been a key strategy to lower that latency - as the community has shifted towards storing data outside relational databases, we no longer need to make series of schema changes through the whole data chain, coordinated between teams to minimise operational risk. Schema-on-read comes with a cost, however. Errors that we used to catch during testing or in early test deployments can now sneak into production undetected and surface as product errors or hard-to-debug data quality problems much later than with schema-on-write solutions.
In this presentation, we will show how we reject the tradeoff between slow schema change rate and quality to achieve the best of both worlds. By using metaprogramming and versioned pipelines that are tested end-to-end, we can achieve fast schema changes with schema-on-write and the protection of static typing. We will describe the tools in our toolbox - Scalameta, Chimney, Bazel, and custom tools. We will also show how we leverage them to take static typing one step further and differentiate between domain types that share representation, e.g. EmailAddress vs ValidatedEmailAddress or kW vs kWh, while maintaining harmony with data technology ecosystems.

19:30 Mingling and music

If, for any reason, you find that you can no longer attend, please take a moment to update your RSVP (from the confirmation email).

Photo of Jforum Stockholm group
Jforum Stockholm
See more events
Regeringsgatan 19
Regeringsgatan 19 · Stockholm