London Scala Community Day

London Scala Users' Group
London Scala Users' Group
Public group
Location image of event venue


Join us for our weekend Community Day! We'll be holding workshops and presentations throughout the day on all things Scala.

Friends and family are very welcome! Let us know if you'd like to bring younger family members.


10:00 Doors open. Come along and suggest your own workshop topics! Tea, coffee and snacks will be provided.
10:30 First workshops
12:00 Break. Lunch will be provided, courtesy of our hosts Quantexa. Vegan and vegetarian options will be provided. Let us know if you would like something special.
12:45 Second workshop & presentations
14:00 Wrap up. Let's talk about what we've learned in a nearby cafe.



Join a community for people who are underrepresented in technology to learn Scala or improve their skill in the language. We cater to all levels—really! If you've never programmed before we'll get you started. If you're an experienced Scala developer we'll help you take the next step. See for more details.

*Julien Truffaut : Error handling*

They are many ways to deal with runtime errors. The easiest and most common method consists of throwing exceptions. Unfortunately, exceptions break many functional programming concepts. In this workshop, we will see what the FP arguments against exceptions are. And what the alternatives are.This workshop is an extract from [Foundation](, a two-day training course focusing on the essence of functional programming in Scala.

*Dave Gurnell : Doing things in Parallel with Cats*

In this workshop we'll look at running operations on monads in parallel using Cats. We'll look at the nature of a monad, its cousin the "applicative", the handy `Parallel` type class, and how everything hangs together in Cats 2.x.

It you're curious or confused about combinators like `mapN`, `sequence`, and `traverse`, this is the place for you. You should emerge with a much deeper understanding of these operators and their parallel counterparts, `parMapN`, `parSequence`, and `parTraverse`. ​

To benefit from this workshop you should have experience with the `map` and `flatMap` methods that are common to many Scala data types, plus a passing (but by no means deep) understanding of Cats (a quick read of Chapters 1 and 2 of [Scala with Cats]( will be enough).


*Fabio Tiriticco : Tame Crypto Events with Streaming*

How do you tame the chaotic world of cryptocurrencies, with all that data that doesn’t seem to make any sense?
The only possible answer is Reactive Systems and controlled streaming. Our goal is to find reliable patterns between events relative to a cryptocurrency (like a conference or a fork) and its relative price fluctuations. We need an always-on system that gathers this data from different sources, and we can’t afford missing data because of downtimes.
This talk covers all the steps of a reactive data project. We start with domain modeling with DDD and Event-storming, then touch on the implementation side with a backpressured toolkit like Akka Streams, run our services on Google Cloud’s Kubernetes and finally look at the data we gathered trying to find patterns.

*Hugh McKee: The Evolution From Monolith to Microservices to Serverless and Beyond*

If you are a developer or an architect, the odds are that you grew up building systems that are now commonly known as monoliths. In the last few years, we've seen a significant evolutionary shift to systems composed of microservices. Today we are witnessing the birth of serverless. The rate of evolutionary change is accelerating. But what is changing, and what remains the same? In this talk, we will look at the evolution from the monolith to serverless seeking to extract the variables and the constants. We will also look at the progression from serverless to an inevitable future of frictionless computing.