GOTOpia November 2020


The Future of Sustainable Transportation

In the global marketplace that transfers knowledge at the speed of light, we have a massive time delay that is modern transportation methods. We each spend up to 30% of our lives commuting on congested freeways, airports, and train stations. We pu...

Anita Sengupta

Common Retrospectives Traps & Solutions

Improve your retrospectives by awareness of antipatterns. Make your retrospectives enjoyable and effective. Retrospectives are indispensable for continuous learning and improvement in Lean, Agile, DevOps, and other contexts. But too many organiz...

Aino Vonge Corry

Lessons Learned: Recruiting & Onboarding Agile Teams

Recruiting for an agile team and ensuring a decent onboarding for the new recruit, are not trivial activities in a world, where turnover statistics indicate that professionals change jobs more often than before. As agile teams strive for continuou...

Christian Eske Bruun, Ender Yüksel

“Good Enough” Architecture Part 2

In this session, we’ll take a look at some of the ways we can determine whether the development efforts we’re undertaking suffer from too much or too little focus on architecture. We’ll examine a number of real-world examples that are intended to ...

Stefan Tilkov

Balancing Choreography and Orchestration

These days, many teams favor loose coupling, isolation and autonomy of services and therefore typically opt for event-driven and reactive architectures, using a communication pattern known as choreography.​ Bernd Rücker believes that choreography...

Bernd Rücker

Apps, Algorithms & Abstractions

It’s a familiar scenario. You’re on the train, your phone goes ‘ping’, you take it out of your pocket and hey — someone sent you a message! Awww… it’s a picture of a cat doing something funny. You send back ‘LOL’, you put your phone back in your p...

Dylan Beattie

Agility at Scale: A Meeting of Mindsets

The shift from industrial thinking to digital product thinking is profound. Tools and structures designed to support one often work directly against the other. Great industrial leadership does not transfer to great digital product leadership. So w...

Anna Urbaniak, Daniel Terhorst-North

“Good Enough” Architecture Part 1

In this session, we’ll take a look at some of the ways we can determine whether the development efforts we’re undertaking suffer from too much or too little focus on architecture. We’ll examine a number of real-world examples that are intended to ...

Stefan Tilkov


Software Engineering - Development in 100 Years Time

If we were to more clearly define our discipline what would that look like? If “Software Engineering” is real “Engineering” then wouldn't we expect the principles to be long-lasting, durable and probably unsurprising? Dave Farley will answer diff...

Dave Farley


The Power of Event-Driven Systems without Burning your Hands or Budgets

Events are glorified as a means of communication between components in distributed systems. As usual, with power comes great responsibility. In this session, Allard will elaborate on the potential and the pitfalls of relying on Events and explain ...

Allard Buijze




Event Sourcing


Did We(b Development) Lose the Right Direction?

Keeping up with the state of web technology is one of the biggest challenges for us developers today. We invent new tools; we define new best practices, everything’s new, always... And we do all that for a good user experience! We do all that to b...

Stefan Judis






Talking With Tech Leads

As a software engineer, you will have learned that "naming things" will remain one of the most difficult tasks in our industry. This is even more confusing when it comes to roles and responsibilities for the tech lead role. After interviewing man...

Patrick Kua

Stop Punching Yourself in the Face

Making choices is hard. As developers, we make choices all the time: architectures, frameworks, libraries, cloud providers, etc. So, if you have been around for a while, you probably ended up regretting at least some of those choices. In this tal...

Hannes Lowette



Entity Framework





Five Things Every Developer Should Know about Software Architecture

The software development industry has made huge leaps in recent years, yet software development teams are often more chaotic than they are self-organizing, with the resulting code being more of a mess than was perhaps anticipated. Successful soft...

Simon Brown


A Code-Driven Introduction to Reinforcement Learning

Reinforcement learning (RL) is lined up to become the hottest new artificial intelligence paradigm in the next few years. Building upon machine learning, reinforcement learning has the potential to automate strategic-level thinking in industry. I...

Phil Winder

Machine Learning

The Development Metrics You Should Use (but Don’t)

Have you ever had a gut feeling a project is about to go off course but no way to validate (or invalidate) that feeling? Has your team ever been burned by an inaccurate estimate or unreasonable expectation? Have you ever wished you could peer a bi...

Catherine Swetel

Upgrade Time: Choose Java 11+ or the “Other” One…Kotlin

Most of the Java applications are written in Java 8 nowadays and people are looking around to upgrade to Java 11 or even migrating to Kotlin. Both are promoted as the new way to go and both have their own strengths and weaknesses. Upgrading to Jav...

Paulien van Alst



Build Agility with Design Sprints

Preaching the benefits of agility when pressed for a twelve month release schedule makes for an awkward conversation. Business commitment and organisational change are needed to successfully adopt agility-building practices like agile, lean produ...

Gary Crawford

Progressive Delivery: Patterns & Benefits of Decoupling Deploy from Release

Progressive delivery allows you to switch from high-stakes “big bang” releases to the gradual exposure of code changes in production. The goal is to observe changes in the health of your systems and user behavior before ramping up to your entire u...

Dave Karow

Futurology for Developers

2019 was the 30th anniversary of my first job in tech. On my first day I was given a Wyse 60 terminal attached via RS232 cables to a Tandon 286, and told to learn C from a dead tree so I could write text applications for an 80x24 character screen....

Mark Rendle

Machine Learning

Quantum Computing

Log Analytics: Understanding Complex Systems at Scale

In today’s complex deployment environment, our systems are increasingly more difficult to understand. When “the system” is a composite distributed system using cloud technologies and micro services, things happen everywhere and it’s difficult to g...

Kresten Krab Thorup

Kafka as a Platform: The Ecosystem from the Ground Up

Kafka has become a key data infrastructure technology, and we all have at least a vague sense that it is a messaging system, but what else is it? How can an overgrown message bus be getting this much buzz? Well, because Kafka is merely the center ...

Robin Moffatt


🤖 Building a Telegram Bot with Apache Kafka, Go & ksqlDB

Imagine you’ve got a stream of data; it’s not “big data,” but it’s certainly a lot. Within the data, you’ve got some bits you’re interested in, and of those bits, you’d like to be able to query information about them at any point. Sounds fun, righ...

Robin Moffatt

Apache Kafka




Life After Business Objects - Confessions of an OOP Veteran

It finally happened: tired of mutable data structures and thread synchronisation, Vagif's team decided to use functional programming and F# for the next generation of their system. Gigabytes of data are going through their applications every hour ...

Vagif Abilov

Functional Programming

Object Oriented Programming

HTTP/3 Is Next Generation HTTP. Is It QUIC Enough?

HTTP/3 is the designated name for the coming next version of the protocol that is currently under development within the QUIC working group in the IETF. HTTP/3 is designed to improve in areas where HTTP/2 still has some shortcomings, primarily by...

Daniel Stenberg