Nicolas Rinaudo

VP of engineering, J.P. Morgan

Nicolas writes code for J.P. Morgan, where we use Scala to make some very complicated things seem very simple.

After too many years as a Java programmer and a thankfully brief stint in marketing, Nicolas discovered Functional Programming through Scala and fell in love. Since then, he's made it his mission to learn and explain the scary bits, by focusing on practical applications.

Nicolas is also the author and sole maintainer of a few useful OSS libraries, such as kantan.csv.


Anybody who has some interest in types and data modelling.


By the end of the talk, attendants should have a solid intuition of what ADTs/GADTs are, when and how to use them, and be able to bring them to use in their own projects directly.


Algebraic Data Types are a very simple, yet very powerful tool to use when designing systems. Most developers are familiar with them, or subsets of what we call ADTs, even if they are not aware of them - enumerations, for example, or records.

The purpose of this talk is to clarify what ADTs are, what properties they have and how these properties can be used to express strong invariants at the data level - such as making illegal states or state transitions impossible to represent.

It also explores the generalised form of ADTs - GADTs - and attempts to lift some of the confusion that surrounds them.

We will also (lightly) tackle the theory behind them and try to understand where the “algebraic” part of the name comes from.


Join us for an engaging conversation where we’ll explore essential aspects of mentoring, particularly within the tech landscape.  Mentoring is one of the most effective forms of supporting professional development. It allows you to create tailor-made solutions. What makes it increasingly popular and how you can benefit from it?

We would like to talk about:
* Technical and soft skills: how can mentors support mentees in developing technical and interpersonal skills?
* Two-way learning: the mentor-mentee relationship as a mutual learning experience (including reverse mentoring).
* Diversity and inclusion: how mentoring can address the unique challenges faced by underrepresented groups and help create an inclusive technology community.
* Structured programs vs. informal mentoring: pros and cons of both ways of experiencing mentoring
* Individual goal setting: how mentees' individual goals can align with organizational needs?

If you have experience as a mentor or mentee and want to share it, join us. If you want to contribute another thread - let us know!