Speaker

Marharyta Nedzelska

Marharyta Nedzelska

Staff Software Engineer @ Sonar

Genève, Switzerland

Actions

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

Topics

  • 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.

BaselOne 2024 Sessionize Event Upcoming

October 2024 Basel, Switzerland

JavaCro'24 Sessionize Event Upcoming

October 2024 Rovinj, Croatia

droidcon Berlin 2024 Sessionize Event

July 2024 Berlin, Germany

DevBcn 2024 Sessionize Event

June 2024 L'Hospitalet de Llobregat, Spain

JNation 2024 Sessionize Event

June 2024 Coimbra, Portugal

JPrime

May 2024 Sofia, Bulgaria

KotlinConf 2024 Sessionize Event

May 2024 Copenhagen, Denmark

Android Makers by droidcon 2024 Sessionize Event

April 2024 Montrouge, France

Devoxx France

April 2024 Paris, France

Coffee JUG

April 2024 Lviv, Ukraine

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

jPrime

May 2023 Sofia, Bulgaria

KotlinConf 2023 Sessionize Event

April 2023 Amsterdam, The Netherlands

CloudBuilders java conf

March 2023

JFokus

February 2023 Stockholm, Sweden

Devoxx Poland

June 2022 Kraków, Poland

Kotliners

June 2020

Wix Engineering Tech Talks

May 2020

Java User Groups from Zielona Gora, Silesia & Wroclaw

March 2020

JavaDay Lviv

February 2020 Lviv, Ukraine

KotlinConf

December 2019 Copenhagen, Denmark

KLUG meetup

November 2019 Lviv, Ukraine

Devoxx Ukraine

November 2019 Kyiv, Ukraine

JavaDay Odesa

September 2019 Odesa, Ukraine

Geekout EE

September 2019 Tallinn, Estonia

Kotlin/Everywhere

September 2019 Minsk, Belarus

Voxxed Days MInsk

May 2019 Minsk, Belarus

Geecon

May 2019 Kraków, Poland

Devoxx France

April 2019 Paris, France

Voxxed Days Zurich

March 2019 Zürich, Switzerland

JavaDay Lviv

February 2019 Lviv, Ukraine

KLUG

January 2019 Lviv, Ukraine

Tricity Java User Group

January 2019 Gdańsk, Poland

Devoxx Ukraine

November 2018 Kyiv, Ukraine

Voxxed Days Ticino

October 2018 Lugano, Switzerland

JFuture

October 2018 Minsk, Belarus

Voxxed Days Minsk

May 2018 Minsk, Belarus

JEEConf

May 2018 Kyiv, Ukraine

Marharyta Nedzelska

Staff Software Engineer @ Sonar

Genève, Switzerland

Actions

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