Speaker Details

Raoul-Gabriel Urma

Cambridge Spark

Dr Raoul-Gabriel Urma is the CEO and founder of Cambridge Spark. Its mission is to empower organisations to achieve business goals by educating their current and future workforce in Data Science and AI. In particular, Cambridge Spark has developed K.A.T.E.®, a proprietary AI-powered learning platform for Data Science, with the support of the UK innovation agency (£1.4million funding). He is author of several programming books, including the best-seller “Modern Java in Action: lambdas, streams, functional and reactive programming” which sold over 40,000 copies globally and with a second edition published in November 2018 as well as "Real-World Software Development" published in December 2019. Raoul holds a PhD in Computer Science from Cambridge University as well as a MEng in Computer Science from Imperial College London and graduated with first-class honours, having won several prizes for technical innovation. His research interests lie in the area of programming languages, compilers, source code analysis, machine learning and education. He was nominated an Oracle Java Champion in 2017. He is also an international speaker having delivered over 100 talks covering Emerging Technologies, Entrepreneurship, Java and Python. Raoul has advised and worked for several organisations on large-scale software engineering projects including at Google, Oracle, eBay and Goldman Sachs.

Express yourself: solving the expression problem using Modern Java

Can you believe it is Java 17 already? Another small update? Not this time, Java 9 to Java 17 has brought significant changes in how we can now write day to day Java code. Introducing, Functional Programming 2.0. In this talk, we will cover the notorious expression problem and how it can be addressed using Java’s most modern language features including switch expression, sealed classes and pattern matching. We will incrementally refactor a code written pre-Java 9, using new features and approaches whilst showing the resulting code benefits including cohesion, decoupling and readability.

Functional Java
Java 12
Java 13
Java 14
Java 15
Java 11
Java Language