In this talk, I'll walk you through coding and design practices I've developed over the years, whilst onboarding new graduates into world of Scala (be it typelevel based API, Spark based ETL, or ML pre and post-processings), and how I made the process easier for people who didn't have much Scala experience beforehand.

Onboarding new members into a mature codebase can be a non-trivial task. Especially that business documentation is usually a weakpoint, and requirements are ever changing. Furthermore whole functional stack can be a lot to digest for a person first interacting with Scala.
In this talk, I'll walk you through coding and design practices I've developed over the years, whilst onboarding new graduates into world of Scala (be it typelevel based API, Spark based ETL, or ML pre and post-processings), and how I made the process easier for people who didn't have much Scala experience beforehand.
In this talk, I'll look at the different uses to which tagless final is put to, and see what we can learn about when it is useful and when it just gets in the way.
In this talk, I will show you how to create a programming language from scratch.