Author, Speaker, Entrepreneur, PhD

DR RAOUL-GABRIEL URMA

About


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.

  • Home
  • Home
  • Home
cambridgeuniversitry
imperiacollegel

Books

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.

Publications

Speaking Engagements

I have delivered 100+ talks and workshops internationally. I’m open to speaking at conferences and corporate events. Get in touch via my linkedin or twitter.

Click on the countries to display details

20 November 2017 Polishing the Diamond: Core Library Improvements in Java 9 Devoxx Antwerp, Belgium

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

x
01 September 2016 Generics: Past, Present and Future Cluj Java Meetup Cluj, Romania

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

x
10th October 2017 Simple and Modern Concurrency in Java: Completing the Promise JAX London, UK

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

x
26 April 2016 Java 8 workshop Craftcon Budapest, Hungary

x
25 October 2016 Generics: Past, Present and Future Blip Porto, Portugal

x
13th May 2014 Java 8 workshop Geecon Krakov, Poland

x
01 October 2016 Pragmatic Functional Refactoring with Java 8 Lambda World Cadiz, Spain

x
14 May 2018 Becoming a Data-driven Organisation International Digital Economy Conference Sarawak Sarawak, Malaysia

8th June 2012 Exploring Variance in Object-Oriented Languages National University of Singapore Singapore
x
11th April 2013 Analyse statique de programmes Java avec Neo4j (fr) Graph Database France Paris, France

x
11th-12th November 2014 Java 8 training Luminis Apeldoorn, Netherlands

x
13 June 2012 Investigating the Use of Variance in Object-Oriented Languages PLDI Doctoral Symposium Beijing, China

x
22nd October 2014 Java 8 workshop Geecon Prague, Czech Republic

x
17th March 2015 Pragmatic Functional Refactoring with Java 8 jDays Gothenburg, Sweden

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

x
22nd January 2014 Writing more concise and flexible code with Java 8 JDK.IO Aarhus, Denmark

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

x
19 October 2018 Introduction to Big Data Processing using Spark and Python PyData NYC New York, USA

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

x
28th November 2014 Pragmatic Functional Refactoring with Java 8 Codemotion Milan, Italy

x