Marharyta Nedzelska

Marharyta Nedzelska

Software Engineer @ Sonar

Genève, Switzerland

Margarita is a big Kotlin fan and Kotlin GDE. Knows both conference sides: speaking and organizing. Organized a KUG in her native city Kyiv because she believes in Knowledge Sharing and Collective Intelligence. For her everyday job, she's building Static Code Analysis tools for Java/Kotlin/Scala and other languages.

Area of Expertise

  • Information & Communications Technology


  • java
  • Java & JVM
  • Static Analysis
  • Kotlin
  • sonarqube
  • Kotlin Coroutines

The state of code coverage for Kotlin

Nowadays it’s not anymore a question whether we want to write tests or not. Writing unit tests is not “nice-to-have” it’s an essential part of our everyday job. While that’s already a great step forward, how can we be sure our tests are actually testing something. To check this we all use code coverage tools.

In this presentation you will learn how code coverage for Kotlin works, which tools we can use and what are the challenges and limitations of various approaches. You will learn the difference between line, instruction and condition coverage and how to read and interpret coverage results in Kotlin.

In the last part of this presentation we will cover the future for Kotlin Code Coverage, what is missing and what can be improved in the future.

Static Kotlin Bug Hunting

You've probably heard about Static Code Analysis tools provided by SonarSource, but have you ever thought about what's under the hood of these analyzers?

Some time ago we decided to bring the support of the Kotlin language to the next level. Of course, our story was full of different challenges. How to implement a good analyzer on top of an already existing one, how to track and balance performance, precision, and memory consumption, how to investigate OutOfMemory errors, detect memory leaks on the user's side, and many other hard topics.

In this presentation, we will try to get to the bottom of this mystery by looking at what's under the hood of our Kotlin Analyzer.

Code coverage MythBusters

Code coverage is a compelling set of metrics that can help you improve the quality of your software, prevent potential bugs, and even help you investigate the issues.

And as we know with great power comes great responsibility. When applied in the wrong way code coverage can easily transform from your best friend that can boost a developer’s productivity into your worst enemy that throws the sand in the wheels of your developers' productivity machine.

After many years of answering community questions about code coverage in the JaCoCo mailing list, StackOverflow, and in the Sonar community forum we learned that most software engineers don’t understand the purpose of code coverage and how to apply it correctly.

In this talk, we will dispel the most popular myths built around code coverage. This talk will help you understand the concept of code coverage, how it should be used, and how to boost your productivity with code coverage.

Back on track after parental leave

The transition back to work after parental leave is a significant milestone in the lives of many working parents. "Back on Track" is a talk that delves into the challenges, strategies, and opportunities associated with reentering the workforce after taking time off to take care of a child. This presentation aims to provide valuable insights and practical advice to individuals seeking a smooth and successful transition.

This talk is based on my own story, how I returned to work after 8 months of absence due to maternity leave. I hope my story will be helpful for people who are currently coming through the same period in their lives or just plan to join the "working parents" club and their colleagues.

A Healthy diet for your Java application

Have you ever faced OutOfMemoryError? Was it in your CI or during the local run? Maybe you faced it as a user while playing your favorite video game or using online banking to pay your bills.

That’s annoying, isn’t it? Every time we give the application more and more memory, it seems never enough…

In Sonar we know how important it is to use memory efficiently. As our tools are often a part of your ci jobs, we care how much you spend on the infrastructure and try to minimize the cost.

So in this session, I will try to share some tips for investigating, fixing, and preventing potential memory leaks and reducing the memory footprint. In simple words, I will show how you can help your applications eat memory « healthier ».

Building microservices with Kotlin and gRPC

Microservice architecture is now a huge trend. All big organizations with millions of users are doing microservices. This means they have lots of channels of communication between services and need to send and get much data. At some point, you can find yourself in a situation where your current approach doesn’t provide you with efficient communications, you pay more, wait for more, lose more etc. Maybe it’s time to look at gRPC… gRPC is asynchronous by its nature. But old api, java infrastructure and verbosity make people write lots of noise and break their beautiful minds to make things done. In Kotlin we have awesome coroutines concept. So async gRPC and coroutines could be a perfect match! Let’s discover if this is possible. In this talk, we’ll learn how to build microservices using gRPC with minimum pain. We’ ll discuss the pros and cons of this approach, what can be improved, what should be added.

JNation 2024 Sessionize Event Upcoming

June 2024 Coimbra, Portugal

KotlinConf 2024 Sessionize Event Upcoming

May 2024 Copenhagen, Denmark

Android Makers by droidcon 2024 Sessionize Event Upcoming

April 2024 Montrouge, France

YOW! Sydney

December 2023 Sydney, Australia

YOW! Brisbane

December 2023 Brisbane, Australia

YOW! Melbourne

November 2023 Melbourne, Australia

Devoxx Morocco

October 2023 Agadir, Morocco

Devoxx Belgium

October 2023 Antwerpen, Belgium

DevBcn 2023 Sessionize Event

July 2023 L'Hospitalet de Llobregat, Spain

Voxxed Days Luxembourg

June 2023 Mondorf-les-Bains, Luxembourg


May 2023 Sofia, Bulgaria

KotlinConf 2023 Sessionize Event

April 2023 Amsterdam, The Netherlands

CloudBuilders java conf

March 2023


February 2023 Stockholm, Sweden

Devoxx Poland

June 2022 Kraków, Poland

JavaDay Lviv

February 2020 Lviv, Ukraine

Marharyta Nedzelska

Software Engineer @ Sonar

Genève, Switzerland

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