Mads Opheim

Information & Communications Technology

DDD TDD java

Oslo, Norway

Mads Opheim

Tech lead

Passionate about quality, care and making people awesome. Believe in DDD, TDD and putting pride into our work.


Upcoming and performed talks: https://madsop.github.io/talks/

Current sessions

Make your tests tell the story of your domain

Even with perfect naming and perfect code, it is hard to read the story of your domain straight out of it. You can be certain that you’ll have forgotten some of the nuances about the code the next time you see it. Or someone else sees it, because very few of us live our professional coding lives in an area where it’s only me ever handling the code. Someone is going to come back to your code - in five days, three months or five years.

Luckily, if you write your tests the right way, they can tell the story of your domain in a way your production code can't. Let us show you how to create your tests so you can get rid of your stale documentation.


9 ways to test your spaghetti code

“Test the legacy code as well” has been a mantra for many years now. But how do you actually do that? When stuck with tangled legacy-spaghetti, it may be hard to see the way out. The path from struggling with your spaghetti into doing TDD is shorter than you think.

It's so easy to say that you should test code as you change it, now matter how legacy, but in a real-world project, you need to know some tools and techniques to be able to do that.

I came into a project where writing tests were considered really hard and time consuming, and TDD was “impossible”. I did it anyway, and I want to share what we did and what we've learned from it.


IoT powered by Microprofile – Microservices in practice

We are going to show you what happens when the management lets enterprise Java developers and architects decide how we can control the IoT devices in our new office. While it's easy to figure out why Microprofile is cool, it's harder to see how to get in into your project.

By the end of this talk, you will be introduced into the patterns and software in the enterprise world of Java explaining how to build a build a secure, stable, modular, and integrated system on an example of a completely over-engineered IoT solution to control the lights and plant's well-being in the new office.

Fear not if your system is more complex than controlling light bulbs and plants! This talk will show you how easily you can design a good production-ready Java full-stack system based on the Enterprise stack with Microprofile combined with good continuous deployment infrastructure patterns.

There be code, demos, and (buzzword) dragons.