A list of my talks

Talks

I am available for speaking engagements! Just contact me if you feel I can contribute to your event or conference.

Draft: Software Quality made this talk happen: push-to-deploy as the means to deal with uncertainty

Accepted at NewCrafts Paris 2024.

I was first paid to write software in 1997, now 27 years ago, and if there is one skill that had the biggest impact on my career then it’s the ability to deliver working software that doesn’t break. This allows me to take vacation, invest back into my communities and initiatives that I want to support, self-development, and to have time for self-, and family care.

In this talk I want to reinforce your love for software quality by sharing how I helps me in my day to day work where I balance my efforts between too many projects but still manage to be both and innovative software engineer, and deliver solutions that do not break when it matters most through setting up all projects and teams that I work with around one main principle: push-to-deploy.

In order to achieve this, confidence is needed, which can only manifest if we know that our changes will not break the system. And in an environment that becomes more and more uncertain and volatile every day, there is only one solution that has stood the test of time: writing tests first. And its beauty, especially with outside-in-test-driven-development, is that it helps to keep the focus on delivering value to the end-user. Over the last years I have added Behavior-driven development to my quality toolbox because it decouples the implementation of the tests from the implementation of the application. Testing through the public API of a system ensures that there are no unexpected changes for the user.

As I will share, I have a strict focus on user stories when building our products, because it is the only way that ensures that all stakeholders can participate and contribute to a product. Because in the end a successful software is always built in collaboration with people who contribute source-code and those who contribute in other ways.

Enabling the collaboration of all stakeholders is a very important part of my job, and I have been able to achieve this through using a walking skeleton approach: delivering working minimal products from the first day. This way developers like me can make sure to be involved in the discussion with product people and customers early on in a projects' life-cycle. And in my experience only the real product (and not even a click dummy) will truly create shared understanding with all stakeholders. Because time is always short and we know that every prototype ends up in production we have to make sure that even our prototypes are of high quality; which is where using quality in software development to achieve continuous delivery (CD) with confidence - really shine.

The three main takeaways are:

  1. Prioritize writing good quality software that rarely breaks. This allows for better work-life balance and frees up time for self-development and community initiatives.
  2. Utilize Test-Driven Development (TDD) with a focus on outside-in testing. This builds confidence in code changes and keeps the focus on delivering value to the user.
  3. Focus on user stories when building products. This ensures collaboration with all stakeholders and fosters a successful software development process.

This talk would be an encouragement for developers to trust their skills and tools, but also invest in mastering them. On the other hand we as developers often strive for the perfect, beautiful solution; for this approach to succeed we need to embrace imperfect solutions because they provide valuable insight much earlier than most often believe.

Exploring better ways to write tests

Video: Updated version, First version · Blog post · Slides

Very often we focus on improving the way we write tests within our test frameworks. I on the other hand invest time into building new test frameworks. Over the last years I have worked on end-to-end testing cloud native applications, which lead to the development of a BDD feature runner. This year I took the idea even further with a focus on coming closer to the goal of living documentation: the test files are now written in Markdown. In addition I started to work on fixing another big issue that we encounter often: our inability to provide good architecture documentation ... what we need is not big, huge architecture diagrams for entire systems (like we get when we use C4, Arc42), but diagrams that are context-sensitive. BDD is actually a great source for these kinds of diagrams and this is what I want to share in this talk.

Key take-aways

  • that testing, developing and documentation go hand in hand

  • that we as people working on these system need to look at our tools and find ways to improve them

  • ideas on how to build living, understandable, up-date architecture diagrams

  • new ideas about the features of GitHub Actions, traceability and automated diagram generation

  • Nordic Testing Day 2023 in Tallinn, 📅 7-9. Juni 2023 🇪🇪 Tallinn

  • Trondheim Developer Conference 2023, 📅 23. October 2023 🇳🇴 Trondheim

Firmware test automation using real embedded devices

Blog post · Slides

In this talk I am presenting my approach on testing embedded firmware using real hardware.

Testing firmware in emulators drastically limits what actually gets tested and it can quickly become very tedious to mock, fake and set up environments for embedded firmware that needs to connect to cloud services.

I am taking a different route: let the firmware run on real hardware, and test its behavior.

I show how I implemented these tests using Zephyr, AWS, and GitHub Actions. However, this solution can be applied in any environment which cannot be run inside a test runner.

I am a coder, help me learn to collaborate!

Video · Blog post · Twitter Thread

This talk is a wake up call and should inspire other developers like me, to start looking into improving their communication and collaboration skills. I want to show the fallacy of aiming to be a fantastic coder and provide concrete examples and resources on how to start.

Serverless Architecture for IoT on AWS

Let's have a look how a temperature reading travels an IoT solution on AWS and Azure from the device to the web application.

This is a talk that explains the benefits of serverless in general in why it is especially suitable for IoT applications. It also shows a concrete, open-source example.

It will provide an introduction to serverless in general, and how it is implemented at the different cloud vendors (looking at AWS and Azure, where I have implemented the same application using the respective cloud's idiomatic way), and why it is especially relevant for IoT deployments.

Slides: Interactive · Video

Cloud connectivity and protocols for the Internet of Things

This is a webinar I did for Nordic Semiconductor Tech Webinars together with my colleague Carl Richard Fosse, but it applies to everyone who wants to get an introduction to protocols to consider when developing a cellular IoT product.

It provides an overview over the important factors that need to be considered when it comes to picking the right solution for sending your products' data to the cloud.

Blog post · Slides: PDF, Interactive · Video

It does not run on my machine: Integration testing a cloud-native application

In this talk I will take you through the challenge of testing a cloud-native application. I will cover the challenges when developing solutions on top of serverless components which you cannot run on your own machine and how I designed a BDD driven approach to run the integration tests.

Blog post · Slides · Video

About: Call for Papers

Lightning talk about how conference call for papers work.

Blog post · Slides · Video

Prototyping products for the Internet of Things using JavaScript

In 2018 we will see a big change in the IoT landscape: based on LTE-m devices can connect to the internet over long distances and will be running off batteries for years. Learn about the principles and protocols involved and how to leverage JavaScript down to the hardware to build your own solution.

Blog post · Slides · Video

What is the best backend language

Panel at code.talks Hamburg.

Blog post · Video

  • code.talks 📅 October 19th 2018 🇩🇪 Hamburg

Motivating developers with purposeful work

I work at a company where we decide on our own, when how and on what we work; I have full control over my life. We believe that working in a so-called network organization, without central leadership, is the only sensible and sustainable way to run a business. But what does that mean for managers if you no longer can assign work to your team? New skills are required and in this talk I want to give a glimpse into the future of tech-leadership and what is need from you to build a joyful workplace for team.

Slides · Video

TDD vs. Velocity: Testing for start-ups and other organizations with fast innovation cycles

These days, when every new project is a start-up, we need to run software that is both robust (because there are customers already using it) and open for change (because we are constantly adding new features). This provides a challenge for applying TDD.

Slides

5 years CTOing: sharing the good and the bad

Sharing my experiences working for 5 years as the CTO for DeinBus.de, dotHIV, Fintura, and Resourceful Humans.

Slides

Tools + Tipps für Freelancer und Selbständige

There is no half-remote team

Having remotes on the team enables you to hire for talent and not for availability. From my recent positions I learned that it is critical to encode remote work in every team members work habits-even if they are working on location. This talk highlights the issues that arise when teams or not co-located and how to deal with them.

Slides · Video
German version: Slides · Video

Automating library releases and dependency management in JavaScript

This talk will walk through all the packages and services necessary to automate dependency management in your JavaScript project. Added bonus: you will lear how to automate the release of your libraries, too!

Slides

Keynote: Wie man ein Top-Down Unternehmen in eine Netzwerk-Organisation wandelt

This talk dives into the Resourceful Human way of transforming a hierarchical organization of followers into a network of entrepreneurs.

Slides

Introducing: Prototype Fund

This talk introduces the Prototype Fund, the incubator for open source and civic hacking projects by betterplace lab, Open Knowledge Foundation Deutschland

Slides

Was Startups von Konzernen lernen können

This talk summarizes some of the aspects that big corporations can learn from startups.

Slides · Video

Webmontag Frankfurt 📅 2. May 2016 🇩🇪 Frankfurt

ART Expert Talk: Agil Arbeiten in verteilten Teams

Insights into how distributed teams can work effectively.

Slides

Node.js / CQRS / ES / Redis app architecture showcase

Session at unKonf Mannheim about an architecture built on top of event-source (ES/CQRS) using Node.js and Redis.

Using make in frontend projects

Session at unKonf Mannheim about why you don't need Gulp or Grunt.

Example

Code is not poetry

A (very opinionated) talk about why software developers are merely glorified plumbers.

Slides
German version: Slides · Video

Software Development Process at Fintura

How we build software at Fintura.

Slides

Tech Stack at Fintura

How we run software at Fintura.

Slides

Trello

A talk about the best project management software on the planet.

Slides · Video

#futureofwork in the wild

A talk about great examples of non-traditional organization concepts.

Slides

dotHIV

Introducing the dotHIV initiative.

Slides · Video

.riesengeschäft und .geldmacherei?

Wie der @dotHIV e.V. den #newgTLDs ihre Daseinsberechtigung gibt

Slides

Cloud Worker

Slides

Update January 2020: I've revisisted this talk here.

Mein Traum - Mein Startup

Slides

Warum Offenbach einen Webmontag braucht

Slides · Video

#ugrm – UserGroups RheinMain. Ein Überblick über die Szene

An overview over tech tech meetup scene in the RheinMain region.

Coworking Szene RheinMain

Highlighting the coworking initiatives in the region.

Slides

RESTful APIs mit Django

How to build RESTful APIs using the Python-based Django framework.

Slides