---
layout: post
title: "Speakers Announced for April 28 Cassandra 4.0 World Party"
date:   2021-04-19
author: the Apache Cassandra Community
categories: blog
excerpt: Join us April 28 for the virtual Cassandra World Party
---


The [Apache Cassandra World Party](https://cassandra.apache.org/worldparty/) will be a virtual event with three sessions on Wednesday, April 28, at 5:00-6:00 AM UTC, 1:00-2:00 PM UTC, and 9:00-10:00 PM UTC. We want as many people around the world to be able to attend in their time zone, learn a little something about Cassandra, meet others, and participate in interactive content as we celebrate the upcoming launch of the 4.0 release milestone! [Register now]( https://hopin.com/events/apache-cassandra-4-0-world-party ).

Talks will be fast, five-minute Ignite-style presentations. Sessions will also feature interactive content, and there will be giveaways.

Today we’re excited to share the confirmed speakers and schedule for the event:

#### 5:00 - 6:00am UTC | Moderated by [Jeremey Hanna](https://github.com/jeromatron)

*   Introduction to Apache Cassandra™ 4.0
*   Downside of Incremental Repairs by Payal Kumari
*   Apache Cassandra™ with Quarkus by Ravindra Kulkarni
*   Cassandra: Now and For The Future by Nirmal KPS Singh
*   Understanding Cassandra by Pradeep Gopal
*   Fun and Games

#### 1:00 - 2:00pm UTC | Moderated by [Ekaterina Dimitrova](https://twitter.com/EkaterinaDimit9) + [Patrick McFadin](https://github.com/pmcfadin)

*   Introduction to Apache Cassandra™ 4.0
*   Cassandra Robustness: Errors I Made and You Cannot Anymore! by Carlos Rolo
*   Raising the Bar on QA by Mick Semb Wever
*   Cassandra in Adobe Audience Manager by Serban Teodorescu
*   11 Years of Cassandra by John Schulz
*   Fun and Games

#### 9:00 - 10:00pm UTC | Moderated by [Melissa Logan](https://twitter.com/Melissa_B2B) + [Ben Bromhead ](https://twitter.com/BenBromhead)

*   Introduction to Apache Cassandra™ 4.0
*   How Apache Cassandra™ Skills Help Women on a Path to Reentry in Tech by Autumn Capasso
*   Making Cassandra Easy by Rahul Xavier Singh
*   Optimizing Cassandra for Cloud Native Architecture by Subrata Ashe
*   Moving from Elastic to Cassandra by Charles Herring
*   Fun and Games

There’s so much to celebrate about Apache Cassandra 4.0. The release includes highly anticipated enterprise features, such as five-times faster streaming of data during scaling operations, improved incremental repair, enterprise-grade auditing, and Java 11 support.

We encourage you to join us as we celebrate the hard work that’s gone into making this possible and the beginning of a new, exciting phase for the project.
