Wednesday 

Room 6 

15:00 - 16:00 

(UTC+02

Talk (60 min)

Lightning Talks 2

Lightning talks (approx 10-15 minutes each) Talk 1: Microservices, Messaging, and Failure: How Simplifying Our Architecture Saved Us - Espen Kalhagen New technologies can be exciting, but they can also lead to chaos when your team isn’t prepared to manage them. That’s exactly what happened to us. In this lightning talk, I’ll share how our reliance on Kubernetes, RabbitMQ, and NoSQL databases, without the expertise to operate them, derailed our product. Building software in an organization with limited infrastructure control left us firefighting instead of delivering value. To do this, we’ll dive into how we identified failure, pivoted to simpler architectural patterns, and built a reliable delivery process. By adopting practices like modular monolith design and delivery pipelines, we turned failure into success. You’ll leave with a practical example of the consequences of buzzword-driven pitfalls and how we turned things around by focusing on proven practices over trendy tools, consistently delivering value. Talk 2: Brand your types - Join me in the fight against weakly typed codebases! - Theodor René Carlsen One of the first types you are introduced to when learning to program are "strings" and "numbers". They are easy to grasp, but can be hard to get to grips with. Strings in particular are weird. Because how big is a string? How does a string look? If I'm creating a calendar app, do I have to handle a single letter but also the full collection of The Stormlight Archive by award winning author Brandon Sanderson when creating events? Can we be smart with this? Can we use our programming languages in a better way so that they are simpler? In this talk I will introduce the notion of 'Parse don't validate'(Alexis King) in practice by using "Branded types" in Typescript. Branded types is a nice tool when passing strings, number and other basic types through your codebase. We will make illegal state unrepresentable and legal states easy to understand. Lets make it easy to do the correct thing! I will also tell you when this concept might just get in the way of getting stuff done. The ideas are easily converted in to other languages, but the talk will give you a good introduction to the concept. Talk 3: Testing complex data with Verify - Lars Furu Kjelsaas When asserting the contents of complex data models and documents, you often end up with tests that are either hard to maintain, or that insufficiently covers potential changes. We'll look at Verify, a great snapshot testing tool for .NET that simplifies your assertions by serializing your test output and comparing test runs with previous results. This, combined with your diffing tool of choice, will allow you to easily catch breaking changes while not making your tests a hassle to keep up-to date with the rest of your code base. Talk 4: Why Lead Yourself? - Marianne Wahlstrøm Are you just picking the next task in the backlog and coasting through life on autopilot? Managing daily logistics, juggling work deadlines, and tackling endless to-do lists can feel like you’re always running but never really getting anywhere—or never setting a new PR on Strava. Sure, you might be staying afloat, but it’s not exactly taking you anywhere exciting. If you’re ready for a life that actually feels good, this session is for you. We’ll dive into practical strategies to ditch your autopilot, take charge. You’ll leave with tools to design a life you truly enjoy—at work, at home, and everywhere in between.

Espen Kalhagen

Espen is a lead software engineer and tech lead for a robotics warehouse automation team at Element Logic. Passionate about improving developer experience, he helps teams deliver value efficiently and enjoy their work, guided by the principle: "If something is painful, change it." With a strong background in .NET and React, and expertise in software architecture, Espen brings practical insights from building complex systems and simplifying them to deliver real impact. He has also published research on neural networks and is excited to share lessons learned as a first-time speaker at NDC Oslo.

Theodor René Carlsen

After one year as a developer in software consultancy firm in Oslo, he moved to Copenhagen to try his luck. He is fascinated with how humans communicate their visions and intentions through programming languages. This manifests itself in a interest in functional programming. And since he is currently a React Native developer this makes Typescript the most relevant language to explore. He currently works at the national broadcaster in Denmark: DR (Danmarks Radio).

Lars Furu Kjelsaas

I'm a developer with a passion for functional programming, readable code and spatial data.

Marianne Wahlstrøm

Marianne Wahlstrøm is CEO at Novanet. I began my journey as a developer in 2001, and since then, have gained valuable experience working in both software development and leadership roles. I am an advocate of servant leadership philosophy, and have a particular interest in self-leadership, as I believe it is essential for individuals to take control of their own career and life.