As a Scala Backend Developer at MOIA, Wiem Zine Elabidine is also an OSS contributor and Functional programming enthusiast.
At Scala Days Lausanne, together with Olivier Girardot she’s presenting a talk High-performance Privacy By Design using Matryoshka & Spark discussing Matryoshka – a framework that makes it possible to browse data structures using recursion schemes. In advance of the talk, we spoke with Weim about her Scala journey (she started learning Scala by taking Martin Odersky’s courses on Coursera), how Scala conferences and events help her grow in her career and what one should expect from her upcoming Scala Days talk with Olivier Girardot.
What’s your background and what does your current role involve?
While at university, I worked as an Android and Java/J2EE developer. After that, I started working as a Java Developer and as the company decided to move to Scala, I started learning more about the language. I took a few courses by Martin Odersky in Coursera and they have been extremely helpful in getting me started.
In Tunisia, there weren’t many people who knew Scala, and I wanted to learn more, so I started attending conferences in Europe. I moved to Paris and worked as a Big Data Consultant using Spark and Kafka, and I then met Olivier Girardot and worked with him on an exciting project. I learned a lot.
Recently, I moved to Hamburg and I started a new job at MOIA as a Scala Backend Developer. I love Scala and I love my job!
What’s the biggest highlight of your career so far?
Attending conferences helped me connect with the Scala community and explore the language even further. I started contributing on Scala OSS ZIO and learning more about the power of Functional Programming with the great help and support of John De Goes.
Why did you choose Scala and what kind of problems does it solve for you?
I love Scala because I think it’s a friendly way to learn Functional Programming. Scala is a flexible language that I can train my mind to play with it.
What is the biggest challenge Scala developers are facing today?
Implementing responsive and high-performance applications is the most obvious challenge that we face. It’s interesting to deeply study concurrency and parallelism on the JVM. Concurrency is really tricky and a key challenge is how to make a friendly Scala API for developers to solve complex concurrency problems more easily, with more confidence. Worrying about the pitfalls of concurrency and writing complex code will reduce the quality of the product. It is more productive if you focus on the business problems using a clean code that is easy to reason about and to refactor.
What can help address this challenge?
Use Functional Programming Scala libraries like ZIO, Cats Effect, and others.
Who should attend your talk at Scala Days and why?
You should be familiar with basic Scala and Spark and have some knowledge about Functional Programming. Our talk is guidance to design recursive data structures in order to build an engine that browses and transforms personal user Data information with a maintainable and testable code using Matryoshka.
Whom would you like to connect with at the conference?
I’m looking forward to meeting Martin Odersky and all the Scala folks.
Anything else you’d like to mention?
I am a mentee and the number one fan of John De Goes.
Don’t miss Wiem Zine Elabidine and her talk with Olivier Girardot High-performance Privacy By Design using Matryoshka & Spark at Scala Days Lausanne on June 13th.