Conference program

Conference program is forming and call for papers was opened. We will publish all submitted talks here after initial review stage. Final version of the conference program will be published on April 6th. If you have any questions related to the program and talk submission please send them to


Detailed schedule

Track AGeneral topics700 seats Track BJDK400 seats Track CWeb400 seats Track DBig Data/Data Processing400 seats Track ETools400 seats
9:00 – 9:40 Registration and welcome coffee
9:40 – 10:00 Conference opening (Track A)
10:00 – 10:45 Reactive Thinking in Java

Yakov Fain
Tricky Java Generics

Alexander Matorin
Java EE 8: What Servlet 4.0 and HTTP/2 mean to you

Alex Theedom
Search and analyze your data with ElasticSearch

Anton Udovychenko
What Mr. Spock would possibly say about modern unit testing: pragmatic and emotional overview

Yaroslav Yermilov
10:45 – 11:00 Break
11:00 – 11:45 Everything I Ever Learned About JVM Performance Tuning at Twitter

Attila Szegedi
HotSpot Intrinsics

Volker Simonis
Performance testing for web-scale

Izzet Mustafaiev
Lambda Architecture with Apache Spark

Taras Matyashovskyy
Implement your own profiler with blackjack and fun

Vladimir Sitnikov
11:45 – 12:00 Break
12:00 – 12:45 Vanilla Java or handling 10k req/sec per core

Dmitriy Dumanskiy
Caught in the Act: Kotlin Bytecode Generation and Runtime Performance

Dmitry Jemerov
Rapid Java Web Development with Ratpack

Daniel Hyun
Streams, flows and storms – how not to drown with your data?

Maciek Próchniak
JUnit 5: Next Generation Testing on the JVM

Nicolai Parlog
12:55 – 13:40
Lightning talks

Code generation with Javac Plugin

Oleksandr Radchykov

RxJava Applied: Consise Examples where It Shines

Igor Lozynskyi

On the way to low latency

Artem Orobets
Lunch time (1st queue)
13:45 – 14:25 Different flavors of polymorphism in Scala

Boris Trofimov
Lunch time (2nd queue)
14:30 – 15:15 Java 8 Puzzlers: The strange, the bizarre and the wonderful

Evgeny Borisov and Mikalai Alimenkou
Counter Wars, or 100500 ways to shoot yourself in the foot when implementing thread-safe counter

Alexey Fyodorov
Angular 2 for Java developers (part 1)

Yakov Fain
Petabyte-Scale Text Processing with Spark

Aleksey Slyusarenko
No container: a Modern Java Stack with Bootique

Andrus Adamchik
15:15 – 15:30 Break
15:30 – 16:15 The Java Module System In Action

Nicolai Parlog
Hotspot & AOT

Dmitry Chuyko
Angular 2 for Java developers (part 2)

Yakov Fain
Big Data-Driven Applications with Cassandra and Spark

Artem Chebotko
Mastering Scala in IntelliJ IDEA

Alexander Podkhalyuzin
16:15 – 17:00 Coffee break
17:00 – 17:45 Hibernate, how the magic is really done?

Mikalai Alimenkou and Igor Dmitriev
Java Wars 8: The Function Awakens

Grzegorz Piwowarek
Get along with JHipster

Dmytro Panin
Lord of the Spark or an easy way for Java Developers to tame Big Data

Evgeny Borisov
Hot and spicy Java with Lombok. Live!

Vladimir Tsukur
17:45 – 18:00 Closing of first conference day (Track A)
18:00 – 20:00 Whiskey party

Track AGeneral topics700 seats Track BPerformance/Reactive400 seats Track CSpring/Java EE400 seats Track DDB400 seats Track ECloud/Microservices400 seats
9:00 – 9:40 Registration and welcome coffee
9:40 – 10:00 Opening of the second conference day (Track A)
10:00 – 10:45 How Immutability Helps in OOP

Yegor Bugayenko
Code optimization and performance in Java 8

Sergey Morenets
Spring JTA: Principles of work with transactions

Dmytro Sokolov
Databases – the choice is yours

Philipp Krenn
How to cook Apache Kafka with Camel and Spring Boot

Ivan Vasyliev
10:45 – 11:00 Break
11:00 – 11:45 The Post-Apocalyptic sun.misc.Unsafe World

Christoph Engelbert
Deadlocks in a corporate application: origins, detection, tackling.

Sviatoslav Stumpf
Java EE Revisits Design Patterns

Alex Theedom
Apache Cayenne: a Java ORM Alternative

Andrus Adamchik
WILD microSERVICES v2 (part 1)

Aleksandr Tarasov and Kirill Tolkachev
11:45 – 12:00 Break
12:00 – 12:45 Spring Puzzlers – second season

Evgeny Borisov
Introduction to Akka Streams

Dmytro Mantula
Cloud Native Java EE

Mike Croft
MongoDB usage patterns in cross data center setups

Viacheslav Kulyk
WILD microSERVICES v2 (part 2)

Aleksandr Tarasov and Kirill Tolkachev
12:55 – 13:40 Vehicle Routing Problem: how to solve it in Java?

Stanislav Kyfenko
Lunch time (1st queue)
13:45 – 14:25 How to learn a programming language in 25 minutes

Dmytro Mantula
Lunch time (2nd queue)
14:30 – 15:15 A step-by-step approach toward high quality OutOfMemoryError analysis

Vladimir Sitnikov
The Road to Reactive with RxJava

Frank Lyaruu
Spring Boot under the Cover

Nicolas Fränkel
Hibernate performance tuning

Mikalai Alimenkou and Igor Dmitriev
AWS Simple Workflow: Distributed out of the Box!

Serhiy Batyuk
15:15 – 15:30 Break
15:30 – 16:15 The Bootiful Application

Josh Long
Vert.x – The problem of real-time data binding

Alexander Derkach
Spring Integration: from XML configuration to Java DSL

Andriy Kryvtsun
Cassandra clients puzzlers

Serhii Tolok and Jaroslav Ovcharenko
Going Elastic

Philipp Krenn
16:15 – 17:00 Coffee break
17:00 – 17:45 Types war: Weak vs Strong

Victor Polischuk
Building distributed applications with Akka and Akka Cluster

Konstantin Tsykulenko
Java EE Microservices Platforms – what’s in it for me?

Mike Croft
ORM is an Offensive Anti-Pattern

Yegor Bugayenko
The Dark Side of Micro-Services

Nicolas Fränkel
17:50 – 18:20 Conference closing (Track A)