One of our favourite parts about being involved in the Scala community is giving Developers and Engineers the opportunity to attend some of the biggest Functional Programming conferences globally.
So we were really excited to send Software Developer, Rama Nallamilli to Scala eXchange back in December. With an array of incredible speakers attending conferences like Scala eXchange offers an amazing chance to hear from other engineers experience and build on your own knowledge. Read Rama's thoughts on the conference below.
Firstly, I would like to thank Signify Technology for sponsoring me to attend Scala Exchange; It is the premier Scala conference in the UK and always attracts great talent.
Looking at the programme now it is quite amazing how the community and ecosystem has evolved since I attended the conference for the first time back in 2013. There has been an array of advancements in FP for Scala, and it was nice to see Scala being used in a wide variety of use cases touching on A.I (presented by Chris Birchall), streaming infrastructures (demonstrated by engineers at Deliveroo and Disney) and machine learning recommendation engines (presented by the data engineering team at Elsevier).
The conference kicked off with Martin Odersky’s keynote where he delved into some of the language constructs that are being added to Scala 3, an interesting preview of features to come. There were a number of talks focussed on writing pure functional code with the aid of libraries/patterns such as IO Monad found in Cats Effect and Tagless final. In addition, a fireside chat between Odersky and Simon Peyton Jones (a core contributor of Haskell), turned out to be a fascinating discussion. Some of the talks I enjoyed in more detail:
Chris Birchall – Reinforcement Learning
This was a very interesting talk where Chris described some of the basic concepts around Q-learning, a reinforcement machine learning technique. He broke down the core concepts and followed it up with an implementation he had written in Scala, he demonstrated an A.I agent using the algorithm to learn how to play a paddle balancing game that had been written in Scala JS. Over time we saw the A.I agent learning to beat the game. He finished by opening a challenge to the audience to create a similar algorithm for Pacman and provided the source code to give us a head start - https://github.com/cb372/reinforcement-learning-in-scala
Factor Recursion Out of Your Codebase - Tamer Abdulradi
This was a talk given by a Senior Engineer from Disney Streaming services, he opened up with showing some Scala code that rendered a recursive JSON structure, highlighting issues with the recursion polluting the logic of rendering, he then showed how you can apply a recursion scheme (catamorphism) to abstract your recursion out of the picture. The library he used to demonstrate this was Matryoshka, a very interesting talk and worth looking at if you commonly handle recursive data structures in Scala. https://github.com/slamdata/matryoshka
Burnout – Jessica Rose
A great talk for anybody working in the tech industry. Not only was Jessica a captivating and entertaining speaker, she highlighted the signs and issues that arise from developer burnout in a way that we could all relate too. She closed with strategies on how to avoid occupational burnout ending with some very practical advice.
Other notable talks I enjoyed:
- Concurrency and Asynchrony in Scala - Greg Dorell
- Adaptive Recommender Systems with Apache Spark - Anna Bladzich and Adam Davidson
- Cats Effect, Tagless Final & beyond! - Gabriel Volpe
- Keynote: Conveying the Power of Abstraction - Dr Eugenia Cheng
- Functional Interpreters and You - Dave Gurnell
Overall it was a great conference with a good variety of talks.
Thanks once again to Signify and Happy New Year to the team! Let’s see what 2019 brings to the Scala community.
Catch up on all the talks from the conference here.