Elena van Engelen

Elena van Engelen

Independent Senior Software Engineer

Vught, The Netherlands

Actions

I am a seasoned software engineer with over two decades of experience, driven by a passion for technology. I specialise in Kotlin and cloud-native solutions, with a focus on building mission-critical, scalable and maintainable systems.

Besides software development, I enjoy sharing my knowledge through conference talks, my blog, Kotlin training, and as the published author of "Kotlin Crash Course".

My work has been featured in newsletters and publications such as Kotlin Weekly, the JetBrains Blog, Android Weekly, Serverless Advocate, Ready Set Cloud and Dear Architects. I am also a winner of the AWS 10,000 AIdeas AI competition with my open-source project MockNest Serverless.

I have spoken at conferences including J-Spring, Voxxed Days Amsterdam, KotlinConf and InfoQ Dev Summit.

You can find more about my work on my website: https://elenavanengelenmaslova.github.io/.

Badges

Area of Expertise

  • Information & Communications Technology

Topics

  • Kotlin
  • Kotlin Coroutines
  • Java & JVM
  • aws
  • AWS Lambda
  • Azure
  • Serverless computing
  • Backend Development
  • Azure Functions

How a Kotlin + Koog Serverless App Became an AWS 10,000 AIdeas Winner

MockNest Serverless is an open-source, AI-powered API mocking platform built in Kotlin, using Koog to implement the agent graph and integrate with Amazon Bedrock. I built it for the AWS 10,000 AIdeas competition, where it became one of the 20 winning projects.

This talk is about the engineering journey behind the winning project. MockNest was a backend-heavy developer tool competing with visually impressive, futuristic, and social-good applications, so I knew I was unlikely to be the crowd favourite. Instead, I decided to be techy — compete on engineering.

I will show how I planned the build around a fixed deadline, which architectural choices I made and which best practices I implemented. Furthermore, we will look at how a single AI call evolved into a Koog-based graph and how Kotlin on the JVM shaped the implementation on AWS serverless compute with Amazon Bedrock for inference.

There are plenty of war stories along the way, including cold start performance tuning, eval-driven development, and running out of credits, all of which changed the implementation and influenced engineering decisions.

Using demo videos, Kotlin and Koog code snippets, and architecture diagrams, I will show the audience how the original idea developed into the final product and competition win. To conclude, I will summarise which engineering decisions worked, which did not, and what I would do differently if I started again.

Clean Architecture for Serverless: Business Logic You Can Take Anywhere

As cloud platforms continue to evolve, serverless functions provide powerful ways to build and scale applications with reduced infrastructure concerns. However, cloud-specific requirements often make it challenging to keep business logic portable across different cloud providers. This session presents a variant of clean architecture designed to separate core business logic from cloud-specific code, leveraging Kotlin’s capabilities along with Spring Cloud Function and headless Gradle modules.

In this talk, I’ll demonstrate how to structure a Kotlin application for serverless using a clean architecture approach for serverless. This structure maintains cloud-agnostic business logic while allowing platform-specific implementations for integration functionality like storage. By isolating business logic in headless modules, developers can deploy the same core code across multiple cloud function providers such as AWS Lambda and Azure Functions.

Through live coding, we’ll explore practical techniques for building and deploying serverless applications with cloud-agnostic business logic.
This session is aimed at developers interested in serverless architecture, cloud flexibility, and clean architecture principles.

For in-person presentation I will need an internet connection for the live deploy and demo. This talk was presented at VoxxedDays Amterdam 2025, KotlinConf 2025, KotlinDevDay 2025, InfoQ Dev Summit Munich 2025, J-Spring 2026

Beyond the Demo: Testing Strategies for Production AI Agents

AI agents are typically easy to demo but are more difficult to trust on production than traditional software. Not only can they return different results for the same prompt and context, a small prompt change, model switch, or tool response can change the behaviour of the whole application. So are there techniques that help us test a real system that has an AI agent(s) integrated in it?

This session does not replace the unit and integration tests you would already write for a JVM application. Instead, it focuses on the additional testing strategies that will help you test AI agents.

With a live demo, we will demonstrate a practical testing strategy. First, we will test the agent graph: verifying flow, decisions and tool calls without paying for model inference on every test run. This gives fast, deterministic feedback about the orchestration of the agent without incurring any model costs.

Then, we will use eval-driven development and "remocal" tests. We will update a prompt live, run evaluation tests, compare the results, and discuss how this approach helps ensure prompt and context quality, as well as help with switching/choosing models or preventing regressions.

Attendees will leave with a good understanding of how to test AI agents: graph tests for deterministic orchestration and evals for model-dependent behaviour and prompt quality.

I will need internet connection for the live demo

Silent but Deadly: When Kotlin’s "Safe" Features Hide Real Bugs

Kotlin has a lot of nice APIs that help us avoid exceptions and write clear and concise code. Most of the time, that is exactly what we want. However, some of these APIs can also introduce or hide bugs.

In this talk, I’ll go through 10 of these traps we encountered in production. For example, safe collection access can return null when data is expected, and runCatching can catch failures that you never intended to catch.

None of these features are bad, and the answer is not to stop using them; instead, you will learn how to use them safely to your advantage.
We’ll start with the useful side of each feature, then look at what can go wrong when it’s used incorrectly, with real production war stories.
This session is 100% live coding.

Kotlin Dev Day 2025 Sessionize Event

November 2025 Amsterdam, The Netherlands

Azure Fest 2025 Sessionize Event

September 2025 Nieuwegein, The Netherlands

KotlinConf 2025 Sessionize Event

May 2025 Copenhagen, Denmark

Advanced Kotlin Dev Day Sessionize Event

November 2022 Amsterdam, The Netherlands

Elena van Engelen

Independent Senior Software Engineer

Vught, The Netherlands

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