Author, Speaker, Entrepreneur, PhD
DR RAOUL-GABRIEL URMA
Dr Raoul-Gabriel Urma is the CEO and Founder of Cambridge Spark, a leading learning organisation for data scientists and developers. In particular, Cambridge Spark has developed K.A.T.E.®, a proprietary AI-powered learning and assessment platform for Data Science, with the support of the UK innovation agency (£1.4million funding). He also founded and runs Cambridge Coding Academy, a growing community of young coders and pre-university students.
He is author of several programming books, including the best-seller “Modern Java in Action: lambdas, streams, functional and reactive programming” which sold over 30,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.
You can find Raoul’s profile on linkedin if you’d like to connect for collaboration, business opportunities or speaking engagements.
Real-world Software Development
I wrote a new book with my friend Richard Warburton published in December 2019. The book is entitled Real-world Software Development: A Project-Driven Guide to Fundamentals in Java.
Explore the latest Java-based software development techniques and methodologies through the project-based approach in this practical guide. Unlike books that use abstract examples and lots of theory, Real-World Software Development shows you how to develop several relevant projects while learning best practices along the way.
Modern Java in Action
Modern Java in Action, released in November 2018, is the second edition of my best-selling book Java 8 in Action: Lambdas, streams and functional-style programming.
As of December 2018 it has sold 30,000+ copies world wide.
Modern Java in Action connects new features of the Java language with their practical applications. Using crystal-clear examples and careful attention to detail, this book respects your time. It will help you expand your existing knowledge of core Java as you master modern additions like the Streams API and the Java Module System, explore new approaches to concurrency, and learn how functional concepts can help you write code that’s easier to read and maintain.
You can order it on the publisher website.
Java 8 in Action
This is my first book, Java 8 in Action, published in 2014. It is a clearly written guide to the new features of Java 8. The book begins with a practical introduction to lambdas, using real-world Java code. Next, it covers the new Streams API and shows how you can use it to make collection-based code radically easier to understand and maintain. It also explains other major Java 8 features including default methods, Optional, CompletableFuture, and the new Date and Time API.
Introducing Java 8
I wrote a free short book, Introducing Java 8, published by O’Reilly to get you started with Java 8. To learn about Java 8 in more details I recommend reading my reference book Java 8 in Action: Lambdas, streams and functional-style programming
Java SE 8 is perhaps the largest change to Java in its history, led by its flagship feature—lambda expressions. If you’re an experienced developer looking to adopt Java 8 at work, this short guide will walk you through all of the major changes before taking a deep dive into lambda expressions and Java 8’s other big feature: the Streams API.
Click on the countries to display details
12th November 2015 Java Generics: Past, Present and Future Devoxx Antwerp, Belgium
13th November 2014 Pragmatic Functional Refactoring with Java 8 DEVOXX Antwerp, Belgium
2nd February 2013 A Research Platform for Java and Other (Crazy?) Ideas FOSDEM Brussels, Belgium
12th November 2012 Hacking the Java Compiler For Fun and Profit DEVOXX Antwerp, Belgium
4th February 2012 Using the OpenJDK to investigate covariance in Java FOSDEM Brussels, Belgium
21 April 2016 Java 8 workshop Java Days Bucharest, Romania
18 April 2016 Java 8 workshop Java Days Iasi, Romania
09 February 2016 Pragmatic Functional Refactoring with Java 8 Betfair Cluj, Romania
07th May 2017 Interactively Analyse 100GB of Data using Spark, Amazon EMR and Zeppelin PyData London, UK
11th October 2016 Generics: Past, Present and Future JAX London, UK
10th October 2016 Java 9: Escaping JHell with JShell JAX London, UK
06th June 2016 Java Collections: The Force Awakens Devoxx UK London, UK
10th May 2016 Functional Refactoring with Java 8 Docklands Meetup London, UK
10th-11th December 2015 Java 8 training Skillsmatter London, UK
30th November 2015 Java 8 Lecture University of Cambridge Cambridge, UK
22nd October 2015 Pragmatic Functional Refactoring with Java 8 JPMorgan Technology Keynote Bournemouth, UK
22nd October 2015 Java Generics: Past, Present and Future JPMorgan Technology Keynote Bournemouth, UK
26th-27th October 2015 Java 8 training Skillsmatter London, UK
13rd October 2015 Java Generics: Past, Present and Future JAX London London, UK
8th September 2017 Java Generics: Past, Present and Future Webinar Esynergy solutions London, UK
17th June 2015 Java Generics: Past, Present and Future Devoxx UK London, UK
11th-12th May 2015 Java 8 training Skillsmatter London, UK
2nd March 2015 Java 8 workshop QCon London London, UK
23rd September 2014 Pragmatic Functional Refactoring with Java 8 European Bioinformatics Institute Hixton, UK
17th September 2014 Pragmatic Functional Refactoring with Java 8 Webinar Esynergy solutions London, UK
16th September 2014 Java 8 meetup: Functional Programming and Streams API lab Cambridge Software Craftsmanship Cambridge, UK
2nd September 2014 Pragmatic Functional Refactoring with Java 8 VirtualJUG London, UK
28th August 2014 Pragmatic Functional Refactoring with Java 8 LJC London, UK
21st May 2014 More concise and flexible code with Java 8 Webinar Esynergy solutions London, UK
30th October 2013 Using Graphs for Source Code Analysis Neo4j UG London, UK
22nd October 2013 Java Oddities Skillsmatter London, UK
21st January 2013 Java 8 Workshop Computer Laboratory, University of Cambridge Cambridge, UK
21st May 2012 Exploring Variance in Object-Oriented Languages Qualcomm Research Cambridge, UK
25th November 2011 Exploring First-Class Relations in Object-Oriented Languages LJC Open Conference London, UK
8th June 2012 Exploring Variance in Object-Oriented Languages National University of Singapore Singapore
5th-6th February 2015 Java 8 training Jfokus Stockholm, Sweden
3rd February 2015 Pragmatic Functional Refactoring with Java 8 Jfokus Stockholm, Sweden
2nd February 2015 Java 8: the Java you've always wanted Jfokus Stockholm, Sweden
21st January 2014 Writing more concise and flexible code with Java 8 JDK.IO Copenhagen, Denmark
20th January 2014 Java 8 workshop Javagruppen Copenhagen, Denmark
29th September 2014 Lambda Q&A Expert Panel JavaOne California, USA
21st October 2012 Programming Language Evolution via Source Code Query Languages PLATEAU'12 Arizona, USA
16th August 2012 Java Corpus Tools: How can we help evolve Java? Oracle Langtools Tech Talk California, USA