Anton Arhipov

Anton Arhipov

Developer Advocate, JetBrains

Tallinn, Estonia


Anton is a Developer Advocate in the Kotlin team at JetBrains. With a professional background in server-side development, Anton has been building tools for developers for more than ten years. Recognized as a Java Champion since 2014, he often speaks at software conferences and contributes to the Kotlin YouTube channel.


Area of Expertise

  • Information & Communications Technology


  • Kotlin
  • Java & JVM
  • IntelliJ IDEA
  • Kotlin Multiplatform
  • Developer Tooling
  • Backend Development
  • Creative Coding

Data Analysis with Kotlin Notebook

Notebooks are an environment where you can write and execute code fragments and create beautiful interactive tables displaying hierarchical data, which makes it a good place for prototyping and trying out ideas.

This talk offers a glimpse into the practical applications of Kotlin Notebook for data analytics and is suitable for developers of all levels.

I will show you how to use Kotlin Notebook for data analysis, demonstrating how it parses and visualizes complex data, briefly touching on the Dataframe and Kandy libraries, and showcasing how you can improve different aspects of software development.

Things you will learn in this presentation:
* How to configure and use Kotlin Notebook plugin in IntelliJ IDEA
* How to use the Kotlin Dataframe library for transforming the data
* How to create nice-looking graphs in notebooks with Kandy

Harnessing the Power of AI in IntelliJ IDEA

AI Assistant provides AI-powered features for software development based on the JetBrains AI service. The service transparently connects you, the IDE user, to different large language models.

This session demonstrates the capabilities of the AI Assistant in IntelliJ IDEA by exercising the prompts for various development workflows: explore legacy code, improve existing code via refactoring and tests, learn new technology, or implement new functionality in your application.

Is it a productivity booster or a placebo? I will do my best to explain in this session.

IntelliJ IDEA Tips & Tricks

IntelliJ IDEA is packed with useful features that enhance developer productivity and simplify working with code. This session will take you through the cool features of IntelliJ IDEA: refactorings, shortcuts, fast navigation, a variety of code completion options, live templates, configuration options, language injection, the debugger (which is a gem on its own), and other productivity features that the IDE provides.

We will also look at the latest additions to IntelliJ IDEA, such as improvements for Spring and JPA support and, of course, the AI assistant, which brings advancements in Machine Learning closer to developer tooling.

Debugging with IntelliJ IDEA

Historically, debuggers are used to help locate and fix bugs. Nowadays, the debugger in IntelliJ IDEA can help you do much more than that. Let's see how the debugger helps make the development process more productive. I demo various features for debugging Java applications, including not-so-standard ones, like:

* Lambda breakpoints
* Stream chain tracing
* Dropping the frame
* Emulated method breakpoint
* Evaluate and log
* Non-suspending breakpoints
* Custom data renderers and more

100% live coding session

IntelliJ Code Analysis: from IDE to Quality Gates

When you program in your favorite IDE, the text editor enriches the code with helpful information to spot issues early in development. Code formatting, possible resource leaks, taint analysis, and vulnerabilities in project dependencies are all useful for you as a developer when creating quality code.

In this session, you will learn about the tools provided within IntelliJ IDEA to help you work with code and improve its quality.

This is a live coding session demonstrating various static analysis techniques. We will also explore how the same tools can be applied in the CI pipeline to build quality gates and monitor the project's health.

Creative Coding with Kotlin and Compose

Programming doesn’t always have to be about mobile, web applications, and databases. Instead, let’s have some fun and use Kotlin to create something expressive, beautiful, and eye-catching.

In this session, Anton will explore Compose Multiplatform for creative coding with Kotlin. We’ll start from the basics by drawing some geometric shapes on the canvas. Then, by applying some basic math, we’ll see how geometric shapes can transform into tangible, visual artwork that you might want to put on your living room wall!

Then, we'll add some application controls using a MIDI keyboard and discover the possibilities for interacting with the device to control the program.

#generativeart #fun #mindthegeek

Spring extensions for Kotlin

Spring Framework provides first-class support for Kotlin thanks to the features provided by the programming language. The Spring Framework uses Kotlin extension functions to add new specific conveniences to existing APIs. In this session, you will learn about the extensions and DSLs provided in Spring for Kotlin developers. Also, you will learn about Kotlin's language features that make extending the existing Java APIs possible.

Kotlin DSL in under an hour

Learn how to create type-safe and statically typed DSLs in Kotlin. In this session, you will learn about the language features that make DSL creation possible:
- Top-level extension functions and properties
- Trailing lambda expressions as function parameters
- SAM type conversion
- Functional literals with receiver
- Infix functions
- Standard library scope functions
- Context receivers
Step by step, using the features above, I will convert Java code based on the builder pattern into an internal Kotlin DSL. The talk highlights the specific cases for using the DSL approach in Kotlin and the tradeoffs for introducing this programming technique into the projects.

Ktor from Ground Up

Ktor is an asynchronous web framework built using Kotlin and coroutines. It enables developers to create both server and client applications. In this session, we will focus primarily on Ktor for backend development. We’ll see what features Ktor provides and create a simple application with WebSockets and a database.

Idiomatic Kotlin

It's easy to start using Kotlin — like Java, so your experience will easily allow you to begin programming in Java style. However, learning Kotlin's best practices is a must to take full advantage of the language.

Kotlin programming language provides many features for writing concise code. On the flip side, overusing those features will result in clever code that is harder to maintain. Let’s analyze how these features could be applied in different scenarios.

This session will examine the features that make programs look beautiful and readable:

* Functions and expressions
* Extensions and standard library goodies
* Null-safety quirks & bolts
* Type-safe builders, a.k.a DSLs

Kreatures Hiding in the Shadows: The Lesser-Known Kotlin Features

Kotlin is a modern programming language initially created as a "better Java." However, Kotlin provides not just a better syntax but also a ton of new interesting features. In this session, you will learn about the subset of the lesser-known features that might not be immediately useful and look obscure at first sight. How does the reified keyword in Kotlin work? What is the difference between inline and crossinline, and why is noinline required? What's the deal with context parameters, and what's the lambda with the receiver? After this session, you will have an idea about the hidden Kotlin features and when to apply these features.

Kotlin Standard Library Gems

Kotlin's standard library has a lot of useful functionality to offer. In this presentation, we will unearth some hidden gems that will come in handy the next time you write Kotlin code. Because if you know how to wield it, the Kotlin standard library is a powerful tool that can help you be more productive in solving your problems and be more expressive in your code.

Anton Arhipov

Developer Advocate, JetBrains

Tallinn, Estonia


Please note that Sessionize is not responsible for the accuracy or validity of the data provided by speakers. If you suspect this profile to be fake or spam, please let us know.

Jump to top