Thank you to both John De Goes, for coming all the way from the States to give us an exclusive talk, and Lawrence Carvalho for giving us a great talk on his work at Sky.
If you didn't manage to make it along on the night then don't worry as we have the talks below for you to catch up on.
Check them out and we hope to see you at the next Scala in the City!
An overview of Scala in the City at Sky
Lawrence Carvalho (@LaCarvalho91) - Combining Refined Types with Type Class Derivation in Scala
A lot of what we do requires decoding and validating data from some source (Kafka, HTTP etc). Over time the amount of different data structures our systems need to be able to handle will often grow and the individual data structures will evolve. Different data structures will require different kinds of validation and the boilerplate we have to write starts to get bigger and bigger and our projects become more and more difficult to maintain.
This talk is about how we can leverage a library named Refined and a concept from Functional Programming named Type Class Derivation to "make illegal states unrepresentable" whilst at the same time keeping the boilerplate to a minimum as our systems grow.
John De Goes (@jdegoes) - ZIO Schedule: Conquering Flakiness and Recurrence with Pure Functional Programming
As professional software engineers, sometimes messy details of the real world stand in the way of us delivering principled software. Flaky connections, unreliable services, and bulletproof job scheduling in the presence of non-determinism and failure all tricky problems that discourage us from writing principled software. Yet sometimes the shortcuts we take to solve these problems result in downtime for the business and sleepless nights for us.
In this brand-new presentation, created exclusively for Scala in the City, John A. De Goes will show how functional programming can help bring order to even the most chaotic systems. Using ZIO, a new zero-dependency Scala library for building massively scalable asynchronous and concurrent applications, John will demonstrate how functional programming leverages reified effects and algebras to solve the trickiest of reliability and scheduling problems in a principled, composable, flexible way.