DevTernity is the top 3 international software development conference in Europe.
We focus on the core skills paramount to your success â coding, architecture, and leadership.
Start preparing for the role of a software architect, engineering leader, or CTO today.
it's a must-see.
No Agile bullshit bingo and marketing talks permitted. See for yourself:
Consultant, Trainer, Writer, Editor of 97 Things Every Programmer Should Know
Decremental Development
Less is more. Less is also more effort. Is it worth it? We keep talking about incremental development, but we don't talk enough about decremental development. When we talk about refactoring, we often speak optimistically and vaguely about improving code and cleaner code. In the real world the main activity of any significant clean-up is throwing out and reducing. The less code you have, the less you will have to optimise, to secure, to debug, to rework, etc.; the more of a codebase you will be able to fit in your head and understand and reason about. What can you remove? Dead code, speculative generalisations and needless abstractions. What can you reduce? Accidental complexity, verbosity and first-draft thinking now that we know better. Welcome to the world of decremental development.
Chief Architect @ Headspring, Microsoft MVP, Creator of AutoMapper
Domain-Driven Refactoring
Books, workshops, storming and more, all build up an idealized domain model. All describe great techniques for domain-driven greenfield applications. But what about the code we have? How can we take what's already built, and move it towards a better, more cohesive design? In this session, we'll look at anemic, procedural, boring code and examine code smells that can point us in the right direction. We'll also look at standard design patterns for more complex behaviors and models, and how to recognize when (and when not) to apply them. Finally, we'll cover how to safely apply refactoring techniques to achieve our domain-driven model nirvana.
Senior Software Engineer @ GitHub, Creator @ exercism.io, Co-author of 99 Bottles of OOP
One Small Step
Refactoring sometimes devolves into an appalling mess. You're chasing a broken test suite, and every change just makes it worse. An even more insidious antipattern is the slow, perfectly controlled process culminating in dreadful design. This talk presents an end-to-end refactoring that demonstrates simple strategies to avoid such misadventures.
Software Craftsman and Founder @ Codurance, Author of The Software Craftsman
Rights and Responsibilities of a Delivery Team
There is still a lot of frustration in software projects. Micro management, lack of autonomy, lack of trust, time pressure, personality clashes and lack of motivation are, among many, reasons for a general feeling of dissatisfaction. Behind all that there is an expectation mismatch between business, delivery teams, and individuals. This talk focus on the rights and responsibilities a delivery team should have in order to reduce frictions and increase the chances of a successful collaboration.
Principal Technologist @ VMWare, Trainer @ âBottega IT Minds, DZone's Most-Valuable Blogger
Unit Testing Done Right
Coming soon...
Software Craftsman, Co-Founder, Developer @ Codeborne
The World Needs Full-Stack Craftspeople
Developers and IT people in general tend to specialize and become narrowly skilled. In the past there was always the conflict of DB developers vs application developers, or DBA vs developers vs testers. Nowadays developers split even more into front-end/back-end/Android/iOS/whatever else. This leads to inflated teams, inefficient communication, lack of each developer's responsibility, low team's truck factor, and inability to solve production/design problems once and for all instead of applying patches here and there. The term "full-stack" is often applied to developers being responsible for all aspects of their work, but XP/craftsmanship practices go further â we should also take our communication, requirements, operations, testing, etc. under control. True Ńraftsmen can be an order of magnitude more efficient than narrowly skilled developers. They not only write code, but solve problems. Surely you want to be one. Let's break it down and see why it works.
Founder and Developer @ CodeScene, Author of Your Code as a Crime Scene
Prioritizing Technical Debt as if Time and Money Matters
Many codebases contain code that is overly complicated, hard to understand, and hence expensive to change and evolve. Prioritizing technical debt is a hard problem as modern systems might have millions of lines of code and multiple development teams -- no-one has a holistic overview. In addition, there's always a trade-off between improving existing code versus adding new features so we need to use our time wisely. So what if we could mine the collective intelligence of all contributing programmers, and start to make decisions based on information from how the organization actually works with the code? In this presentation you'll see how easily obtained version-control data let us uncover the behavior and patterns of the development organization. This language-neutral approach lets you prioritize the parts of your system that benefit the most from improvements, so that you can balance short- and long-term goals guided by data. The specific examples are from real-world codebases like Android, the Linux Kernel, .Net Core Runtime, and more. This new perspective on software development will change how you view code.
Founder @ mnogosdelal.ru, ex-Head of IT @ Kaspersky Lab, Author of Jedi Techniques
Certainly Uncertain: Predicting Delivery Dates
As soon as you become a team lead or manager, you immediately become responsible for making vague things certain. When you have no idea what exactly shall be done, you are asked how much it costs and how long it will take. When you give an estimate and commit to delivering to your promise, scope creeps and you enjoy estimation hell again. In this talk, you will learn how to estimate without screwing things up. I will be as practical as possible and will share the real Excel-spreadsheet that implements a simple statistical model of project estimation so you can use it for your projects the next day.
Founder @ Agile Developer, Author of Practices of an Agile Developer, Programming Concurrency on the JVM, Functional Programming in Java
Qualities of a Highly Effective Architect
Many developers aspire to become architects. Some of us serve currently as architects while the rest of us may hope to become one some day. We all have worked with architects, some good, and some that could be better. What are the traits of a good architect? What are the skills and qualities we should pick to become a very good one? Come to this presentation to learn about things that can make that journey to be a successful architect a pleasant one.
Software Coach, Mentor and Consultant, TDD Trainer tdd.training
Integrated Tests Are A Scam
Integrated tests are a scam. Youâre probably writing 2-5% of the integrated tests you need to test thoroughly. Youâre probably duplicating unit tests all over the place. Your integrated tests probably duplicate each other all over the place. When an integrated test fails, who knows whatâs broken? Integrated tests probably do you more harm than good. Learn the two-pronged attack that solves the problem: collaboration tests and contract tests.
Chair @ Cloud Native Computing Foundation, VP OSS Engineering @ Aqua Security, Author of Container Security
Building a Container from Scratch
What is a container? Is it really a âlightweight VMâ? What are namespaces and control groups? What does a host machine know about my containers? And what do my containers know about each other? In this talk Liz will live-code a container in a few lines of Go code, to answer
Trainer, Consultant @ Bottega IT Minds, OSS contributor
How to Make Your Architecture Scream with Functional Domain Modeling
We might have heard that Domain Driven Design is Object Oriented done right. Is it, however, always true? Thinking of business processes as workflows and pipelines lets us map our problems into the concepts of functional programming, thus bringing our code to another level. During this session we will apply bits of functional programming into our Java application, discussing their impact, including security, testability, readability, and more.
Elixir Mentor, Author of Elixir in Action, OSS contributor
The Soul of Erlang and Elixir
Whether you're developing a small web site or a large-scale distributed system, Erlang and Elixir are great tools for building server-side systems. Both languages can help you start quickly and deal with highly complex problems at a large scale. This talk aims to explain what makes Erlang and Elixir suitable for such tasks. We'll look past the syntax and the ecosystem, focusing instead on the concurrency model of these languages. Combining a bit of high-level theory and a couple of demos, we'll examine some important properties of Erlang/Elixir concurrency, with a special emphasis on why these properties are very relevant when building highly available systems. The talk targets experienced backend developers, but no knowledge of Erlang or Elixir is required. You will walk away from the talk with a better understanding of what distinguishes Erlang and Elixir from the rest of the pack, and why these languages are very compelling choices to power your next software system.
CTO @ OpenValue, Netherlands JUG Lead
Mastering the Linux Command Line
TLDR: I'll show you everything you need to know about the Linux command line as a developer.
Senior Software Engineer @ Wycomco, OSS contributor
Things Every Developer Needs to Know About Database Indexing
This talk dives deep into a topic that I believe developers don't know enough about: database indexing. There are four sections to this talk: - What's an index? * How to create an index? * Understanding the execution plan * Common pitfalls What's an index In the first part we will learn what an index actually is. And we're talking data structures. How is an index actually represented internally and what are the implications of that. This is important because it makes certain characteristics of indexes much easier to understand.
Solution Architect, Developer and Mentor at Bottega IT Minds, ex-Head of Software Development @ 4Finance
User Stories Considered Harmful
Long time ago there was a role of a business analyst, who would discover and gather client requirements, then together with a system analysts, write them down. Next, they would meet an architect, where they would analyze the impact of those requirements on the architecture, and impact of architecture on business opportunities. This collaboration would provide new ideas for the business, but most of all, would create the analysis that went to developers. Then there were eXtreme Programming (XP). Then came Scrum and Kanban with Scrum Masters and Product Owners. Neither of them had any experience with XP, but since they loathed the old world, they have fired all the system and business analysts. And so, two working methods of requirement analysis were replaced by a single ineffective meeting called âgroomingâ, where a seven plus/minus three people, without any preparation, try to estimate something that nobody took time to understand. Iâd like to show you how we came to this point, why the current situation puts developers in jail, and how to solve this madness.
Developer Advocate @ MongoDB, ex-Technology Evangelist @ Atlassian
The Effective Developer
Weâre agile, weâre doing DevOps, we work in cross-functional teams, and we use the latest developer pipeline tooling. With all those methodologies and technologies we should be highly effective, right? Probably not. Most of us still struggle with balancing coding speed and quality, working on the stuff that really makes a difference, and feeling constantly stressed by all the things we should learn. Effective developers don't just write clean, simple, and robust code. They also have a strong understanding of the entire development process and the problem that needs to be solved. They take time to learn, practice, and play. Learn how those developers build effective coding habits, use automations whenever needed, reserve time for deep work, and much more. Youâll walk away from this talk with lots of ideas on how to work smarter, not harder.
VP of Developer Advocacy @ JetBrains
The Silver Bullet Syndrome
We love our silver bullets donât we? Constantly chasing the dream that the next big thing will solve all our past problems. It doesnât matter if itâs a language, framework, platform or library, weâre out there chasing it. Why? Well because itâs going to solve our needs, itâs going to solve the business needs. Well supposedly it will. And how much is it going to cost? Not that much, especially if weâre not the ones paying the bills. Itâs about time we look at the hard facts and ask those difficult questions. Are we really looking for a silver bullet? Why are we constantly riding the technology bandwagon? Where is the churn going to take us? And at what cost?
Co-founder & Software Architect @ innoQ, Author of REST and HTTP
"Good Enough" Architecture
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 inspire either admiration or terror, and try to find some recipes of how we can get more of the former and less of the latter in our own projects.
Senior Developer Advocate @ Octa, Microsoft MVP
Leadership Guide for the Reluctant Leader
Regardless of the technology you know, regardless of the job title you have, you have amazing potential to impact your workplace, community, and beyond. In this talk, Iâll share a few candid stories of my career failures⊠I mean⊠learning opportunities. Weâll start by debunking the myth that leadership == management. Next, weâll talk about some the attributes, behaviors and skills of good leaders. Last, weâll cover some practical steps and resources to accelerate your journey. Youâll walk away with some essential leadership skills I believe anyone can develop, and a good dose of encouragement to be more awesome!
Our instructors are here to deliver full-day workshops from 9:00 to 18:00. Choose one that you like more:
We all have an opportunity every day to make a postive impact on folks around us. These are often called "soft skills," but they can be some of the hardest to learn! We could call them "people skills," "essential skills," or "core skills." But, how about "SKILLS OF AWESOMENESS?" Yes, what we all need is more ways we can be awesome to each other, and awesome together.
The workshop is led by David Neal; David is #1 speaker of 2019.
![]() |
David Neal
Senior Developer Advocate @ Octa, Microsoft MVP
|
Through a series of practical exercises, we will discover and discuss the most important and relevant topics you want to cover, so that you can get the most value out of this workshop!
Most of us have been working with some kind of legacy systems with lots of technical debt. How do we improve the codebase without The Big Rewrite and avoid creating yet another spaghetti monster? Thatâs what this workshop is about.
In this workshop, we will work together on a legacy system. We will approach the problem by creating a new, clean, and truly object-oriented model with modularity, cohesion, and testability in mind. We will introduce the model into the existing application in a secure manner, leaving ourselves an option to withdraw changes at any point in time. Fully automated tests will make sure that both models produce consistent results. EventStorming will help us set priorities right and understand the business impact of our changes.
Finally, weâll get a solid, clean, and object-oriented code aligned with the company's goals and agile software development best practices.
This workshops uses Java as a reference language; if your primary language is not Java â you're still very welcome, as we'll be working in pairs.
![]() |
BartĆomiej SĆota
Trainer, Consultant @ Bottega IT Minds, OSS contributor
|
In this workshop, Iâll take you through three different styles of enterprise service architecture: modular monoliths, distributed synchronous systems, and event-driven systems. Together, we will design a non-trivial backend system and find out the strengths and weaknesses of each architectural approach. We will discuss the typical mistakes and problems developers face during service architecture design and how to solve them. You will learn how to choose the best architecture style for your project, and how to design hybrid solutions, leveraging the best parts of each architecture style.
This workshop covers fundamental concepts, relevant to all programming platforms and languages; developers and architects with different backgrounds can attend.
![]() |
Jakub Nabrdalik
Solution Architect, Developer and Mentor at Bottega IT Minds, ex-Head of Software Development @ 4Finance
|
This practical workshop will equip you with necessary skills for accomplishing more, with less stress and efforts, and bring you closer to the work-life balance on a win-win basis. After the training, you will know how to achieve more at work and personal life simultaneously (instead of conventional view: âone at the expense of anotherâ).
NEW in 2021: How should one handle vague/unclear/huge projects? How to get into individual brainstorming mode and think unthinkable?
NEW in 2021: Distinguishing between good and bad procrastination and the practical session of group de-procrastination.
![]() |
Maxim Dorofeev
Founder @ mnogosdelal.ru, ex-Head of IT @ Kaspersky Lab, Author of Jedi Techniques
|
More than 50% of workshop time is devoted to practice, exercises and discussions. The workshop offers concrete, ready-to-use improvement recipes for daily work.
This a new, re-designed edition of the course (2021).
Every system has an architecture, whether accidental or intentional, and regardless of whether it was put in place by a nominated architect or whether it emerged from the decisions and discussions of a team. All too often the focus of what is often described as architecture is centred around a specific set of platform technologies, which forms only one part of the set of concerns an architecture should. And all too often architecture is seen as a separate concern from development process, whereas the two are intertwined â what you build is influenced by how you build it, and vice versa.
This course looks at the relationship between Agile processes and good architecture, taking in development process models, architectural styles, requirements techniques, sufficient modelling techniques, design patterns and testing practices. This course includes a number of practical exercises so that attendees can see how the different activities fit together.
![]() |
Kevlin Henney
Consultant, Trainer, Writer, Author of 97 Things Every Programmer Should Know
|
The course covers a wide range of topics through a number of practical exercises, with plenty of time dedicated to group discussion:
This course is designed to help developers get better at Test-Driven Development and write well-crafted codeâcode that is clean, testable, maintainable, and an expression of the business domain. The course is entirely hands-on, designed to teach developers practical techniques they can immediately apply to real-world projects.
Software Craftsmanship is at the heart of this course. Throughout, you will learn about the Software Craftsmanship attitude to development and how to apply it to your workplace.
![]() |
Sandro Mancuso
Software Craftsman and Founder @ Codurance, Author of The Software Craftsman
|
Once you have an understanding of the principles at work, we will apply them to Legacy Code to help you gain confidence in improving legacy projects through testing, refactoring and redesigning. The course is fully hands-on and developers will be writing a lot of code.
A good design is critical for success with agile development. That does not mean a big up-front design. The design has to be evolutionary. However, the design you evolve must be extensible and maintainable. After all, you canât be agile if your design sucks.
In this training, we will address what evolutionary design is, and will delve into principles and practices that can help realize an effective evolutionary design.
![]() |
Venkat Subramaniam
Founder @ Agile Developer, Author of Practices of an Agile Developer, Programming Concurrency on the JVM, Functional Programming in Java
|
The course has a good balance of interactive lectures and hands-on exercises. The attendees are expected to pair-up and work on the lab exercises.
We are partnering with amazing companies that have continuous learning and innovation in their DNA.
Do you believe that face-to-face interaction is the best way to learn? We believe it, too. At DevChampions, we offer the highest quality training for software developers. We specialize, but are not limited to engineering practices, software architecture, automation and soft skills.
InnoGames is Germanyâs leading game developer & publisher, and a certified Great Place to WorkÂź. We are best known for Forge of Empires, Elvenar and Tribal Wars. Join our awesome international team in Hamburg!
Want to boost your company's visibility?
Become a sponsor
The National Library of Latvia also known as Castle of Light is a stunning national cultural institution, that plays an important role in the development of Latvia's information society, research, and education.
With a stunning view on Riga Old Town and river Daugava, Castle of Light is designed from scratch specifically for unforgettable choral, chamber, and acoustic music experience, and is a perfect location for DevTernity.
The National Library of Latvia, Mukusalas street 3, Riga, Latvia
Get directions