Public Speaking

2024

Working With Legacy Code
We took a look at Michael Feathers' classic book Working Effectively with Legacy Code from 2004. We discussed its relevance for today and saw its most important techniques. (Slides, Starting Code)
Calgary Software Crafters, online.


2023

Global Day of Coderetreat Warm-up Coderetreat
Facilitated a remote "warm-up" Coderetreat for the main event the day after.
Software Crafters Vienna, online.

Community Workshop: Refactor towards Structure
In this full 3-hour workshop we talked about Modularity, Information Hiding and Encapsulation. Then we worked on an existing code base, changing the code to improve its design. (Slides, Code)
Software Crafters Zürich, online.

Community Workshop: Refactor for Decoupling
We discussed Coupling, Cohesion and some related code smells followed by some decoupling practice, changing the code to improve its design. (Slides, Code)
Software Craftsmanship Berlin, online.


2022

Upgrade at GeeCON 2022Coding Dojo on how to test asynchronous code
Coding Dojo on testing asynchronous code with JavaScript and Python. (Slides, Code)
Software Craftsmanship Berlin, online.

Global Day of Coderetreat
Facilitated the Global Day of Coderetreat in Vienna together with the Vienna branch of the Softwerkskammer. Powered by Nagarro. (Slides, Code)
Coderetreat Community, Vienna.

Coding Dojo exploring Property Based Testing
A local Coding Dojo run together with my friend Paul Rohorzka with an exercise focusing on finding properties of a geometric problem as part of a Property Based Testing approach. (Code)
Coding Dojo @ Softwerkskammer Vienna, Vienna.

Pre-Conference Hackathon
To warm up for the main conference, I facilitated a pre-conference evening event, a challenge to find a solution for a specific problem provided by Trayport, the main sponsor. Unlike classic Coding Dojos, this hackathon did focus on speed rather than learning. Still, if your solution did not have tests and did not work in the end, you did not win the challenge.
CodeCrafts 2022, Vienna.


2021

Coding Dojo Baby Steps Push Challenge
Rerun of the Coding Dojo focusing on taking small increments with my friends from Grenoble.
Software Craftsmanship Grenoble, online.

Coding Dojo Baby Steps Push Challenge
In this Coding Dojo we were focusing on taking small increments during refactoring and delivery. A leader board showed the score of each team and each green push scored points. (Slides, Code)
Coding Dojo @ Softwerkskammer Vienna, online.

Coding Dojo Focusing on Naming
In this Coding Dojo we took things to an extreme and named everything but test methods using random dices. (Slides, Dice Namer application)
Coding Dojo @ Softwerkskammer Vienna, online.


2020

Writing Tests with the Unity Test Framework
A full talk together with Harald Reingruber about us testing the UI of an Unity 3D application. (Slides, Code) The event was recorded, watch the full presentation here. This presentation is part of my series about test driving user interfaces.
Unity 3D Meetup, online.

Coderetreat with a new exercise
Coderetreat on a Tuesday - not on weekend - run together with Oliver Spann. Powered by Sportradar Media Services. I explained the format using the new exercise in episode 26 of my Coderetreat Facilitation Podcast.
Coderetreat Community, online.

Mit Automatischen Code Reviews und Quality Gates zu Continuous Quality
Presentation about Static Code Analysis, what to expect from it and some real world examples. I am a big fan of code analysis and blog about it from time to time.
Agile Circle ONLINE 2020, online.


2019

Grazer Linuxtage 2019Global Day of Coderetreat Double Feature
Facilitated two Coderetreats to celebrate the tenth anniversary of Coderetreat - two full days together with Ilke Zilci and Sandra Parsick. Powered by Zühlke Engineering, Willhaben and TechTalk.
Coderetreat Community/ Coderetreat Community, Vienna. Moar Coderetreats FTW!

Beginner Introduction to Python Unit Testing
Teaching beginners how to start with unit testing, this time in Graz. (Slides, Code) I wrote some articles about the used koan exercises last year.
Grazer Linuxtage 2019, Graz.

Breaking Dependencies in Legacy Code
We have some legacy code. We need to make changes. To make changes we need to introduce tests first. We might have to change some code to enable testing. We need to introduce so-called Seams. Together with Roland Germ. (Starting Code in Java and C#)
Coding Dojo @ Softwerkskammer Vienna, Vienna.

Outside-in Test Driven Development - die Londoner Schule des TDD
Half day workshop exploring outside-in TDD, for TDD practitioners, presented in German. (Slides, Starting Code in Java, C#, Python and JavaScript)
Software Quality Days 2019, Vienna.


2018

Joining the #gdcr was a great experience (copyright by David Leitner)Global Day of Coderetreat
Facilitated the world-wide event together with J. B. Rainsberger. Powered by TechTalk for the third time.
Coderetreat Community, Vienna.

Using Automated Code Reviews to Achieve "Continuous Quality"
Presentation about Static Code Analysis and why it helps to build Quality Gates into Continuous Delivery Pipelines. (Slides)
ASQF Agile Night Austria, Vienna.

I am a regular host of the idiosyncratic podcast Developer Melange from Vienna, a monthly podcast which brings you regular discussions about software engineering topics.

Temporal Coupling
In the (late) May Coding Dojo we focused on Coupling, especially Temporal Coupling and we experimented with styles to either avoid it or make it visible and impossible to get it wrong.
Coding Dojo @ Softwerkskammer Vienna, Vienna.

Pragmatic Introduction to Python Unit Testing
An interactive, hands-on tour through the main features of Python unit testing. (Slides, Code of Testing Koans)
Linuxwochen/PyDays 2018, Vienna.

Brutal Coding Constraints, once more
My friends in Grenoble wanted to be challenged: I ran a hard core Coding Dojo. (re-used slides from ITAKE)
Software Craftsmanship Meetup, Grenoble, France.


2017

Coderetreat Pac-Man Edition (copyright by codewise.com)Global Day of Coderetreat
Facilitated the world-wide day of practise and learning together with Emily Bache. Powered by TechTalk.
Coderetreat Community, Vienna.

Brutal Coding Constraints
The "father of all going-out-of-your-comfort-zone" exercises: hard core Coding Dojo together with Martin Klose. (Slides)
ITAKE (Un) conference, Bucharest, Romania.

JUnit 5 – writing tests with Java 8 and JUnit
Half day workshop exploring the new features of JUnit 5, run together with Görge Albrecht. (Code of JUnit 5 Testing Koans)
Topconf Linz_2017, Linz.

Erste Schritte mit JUnit 5 - einfachere Tests mit Java 8 und JUnit
Half day workshop exploring the new features of JUnit 5, run together with Görge Albrecht. This time in German. (Slides, Code of JUnit 5 Testing Koans)
Software Quality Days 2017, Vienna.


2016

GDCR16 (copyright by Paul Rohorzka)Coderetreat Pac-Man Edition
Public Coderetreat, this time using Pac-Man - not Game of Life - as the main exercise. Powered by Codewise and co-facilitated with Dorota Danielewska, Kacper Kuczek and Damian Lukasik.
Polish Java User Group/Coderetreat Community, Kraków, Poland.

Global Day of Coderetreat
Each year I facilitate the world-wide day of practise and learning - this time together with Houssam Fakih. Powered by TechTalk.
Coderetreat Community, Vienna.

JUnit 5 Workshop - Writing Tests with Java 8 and JUnit
Mini workshop exploring JUnit 5 using concrete, hands-on examples. (Code of JUnit 5 Testing Koans)
Quest for Quality 2016, Devops and Testing Conference, Ljubljana, Slovenia.

Asynchronous Clock-In
Coding Dojo on creating and testing asynchronous code. (Slides, Code)
Dart Language, Vienna.

Coderetreat Venice
A full day of intensive practise and knowledge sharing. Powered by Interlogica. (Slides)
Coderetreat Community, Mestre, Italy.

GeeCON WorkshopUnit Testing with JUnit - a Beginner's Boot Camp
Full day workshop: An intensive, hands-on introduction to unit testing in Java, exploring the features of JUnit and Hamcrest by writing tests. (Slides, 1st exercise, 2nd exercise)
Polish Java User Group/GeeCON Workshop, Kraków, Poland.

Python Koans
Lightning talk presenting the Python Koans, exercises to learn Python step by step in the spirit of TDD. (Notes)
Python User Group, Vienna.

Creating Clean, Readable and Expressive Executable Specifications
Hands-on workshop on creating executable specifications (aka tests) for a small piece of code using FitNesse. We will focus on their clean structure and their readability. In the end our specifications must be human-readable and highly expressive, even for non technical business people. (Slides)
European Testing Conference 2016, Bucharest, Romania.

Functional Calisthenics
Coding Dojo on becoming a better Functional programmer. (Slides)
Lambdaheads, Vienna.


2015

Deliberate Practice
Presentation about the current state of software quality and how to improve it by focusing more on practice. (Slides)
Agile Slovenia 2015, Ljubljana, Slovenia.

CR @ Wooga Last Session ChoicesGlobal Day of Coderetreat
The world-wide day of intensive practise and knowledge sharing facilitated together with Carlos Blé. (Slides)
Coderetreat Community, Las Palmas, Gran Canaria, Spain.

Coderetreat Berlin (@Here)
A day of intensive practise and knowledge sharing facilitated together with Martin Klose and Ivan Kusalic.
Software Craftsmanship Berlin, Berlin, Germany.

Workshop Unit Testing with PHP
Follow-up Coding Dojo/workshop about unit testing with PHP - designing real test cases. (Slides, Code)
ViennaPHP September, Vienna.

Coderetreat Berlin (@Wooga)
A day of intensive practise and knowledge sharing facilitated together with Martin Klose and Jan Hartung.
Software Craftsmanship Berlin, Berlin, Germany.

Pair Programming
Introduction to pair programming and discussion of ways to adopt and "sell" it. (Slides)
Ruby User Group Linz #14, Linz.

#CodingDojoVie (Coding Dojo Vienna)Bank OCR Outside-In
Coding Dojo on the Bank OCR kata using Outside-In TDD. (Slides)
Coding Dojo Vienna, Vienna.

Deliberate Practice, New Learning Styles
Presentation about the current "Software Crisis" and ways to overcome it by focusing more on education and practice. (Slides)
ATB Expertentreff March, Vienna.

Pragmatic Introduction to PHP Unit Testing
Presentation about unit testing with PHP together with Koans exercise. (Slides, Code)
ViennaPHP March, Vienna.


2014

Practising TDD in R (with RUnit)
Presentation about code katas and TDD with a short demo.
Vienna<-R V/2014, Vienna.

Brutal Coding ConstraintsGlobal Day of Coderetreat
The world-wide day of intensive practise and knowledge sharing facilitated together with Alexandru Bolboaca.
Coderetreat Community, Vienna.

Brutal Coding Constraints
Hard core Coding Dojo together with Martin Klose about advanced coding constraints to improve your programming and design skills.
Agile Testing Days 2014, Potsdam, Germany.

Designing Test Cases with FitNesse
Coding Dojo for testers together with Martin Klose about designing test cases in FitNesse. (Slides)
Agile Testing Days 2014, Potsdam, Germany.

Mars Rover
Coding Dojo on the Mars Rover kata. (Slides)
Coding Dojo Vienna, Vienna.

Code Refactoring - Live Coding Demo
Live demonstration how new functionality could be added to a piece of legacy code. I had 45 minutes to clean up the code and implement the needed changes. (Slides)
Java Day 2014, Vienna.

Prime Factors Code Kata - Practising TDD
Presentation about code katas with a short demo. (Slides)
ViennaPHP September, Vienna.

Scala Coding DojoPair Programming
Introduction to pair programming and discussion of ways to adopt it. (Slides)
vienna.rb #15, Vienna.

Remote Pair Programming.
Lightning talk together with Thomas Sundberg about remote pair programming with a short (remote) demo. (Slides)
GeeCON 2014, Kraków, Poland.

Adding Tests to Legacy Code
Coding Dojo to bring some legacy code under test. (Slides)
vienna.rb, Vienna.

"Brutal" Tic-Tac-Toe
Coding Dojo with an extreme set (brutal set) of constraints.
vienna.rb, Vienna.


2013

Global Day of Coderetreat
A full day of intensive practise and knowledge sharing together with 5000 developers world-wide. (Slides)
Coderetreat Community, Vienna.

String Calculator
Coding Dojo for first-timers and beginners. (Slides)
vienna.rb, Vienna.

TDD as if you Meant it
Coding Dojo using a very strict interpretation of the practise of TDD. (Slides)
Agile Testing Days 2013, Potsdam, Germany.

Designing Test Cases for the Gilded Rose Kata
Coding Dojo about designing test cases for some business logic that needs to be refactored. (Slides)
Agile Testing Days 2013, Potsdam, Germany.

Refactoring The Tennis KataRefactoring the Tennis Kata
Coding Dojo to experiment with different refactoring approaches. (Slides)
Agile Testing Days 2013, Potsdam, Germany.

Can PL/SQL Be Clean?
Thought provoking presentation about the application of Clean Code rules on PL/SQL code. (Slides)
Austrian Oracle User Group, Vienna.

Coderetreat Graz
Being on tour, I facilitated the first Coderetreat in the city of Graz. (Slides)
Coderetreat Community, Graz.

"Java" User Groups Austria
Presentation about Java and Java related user groups and local conferences in Vienna. (Slides)
Java Klassentreffen 2013, Vienna.

TDD as if you Meant it
Coding Dojo introducing TDDaiymi to the Scala Community. (Code)
Scala Coding Dojo, Vienna.

Software Craftsmanship Journeyman Tour
Lightning talk about the motivation and principles behind my Journeyman #CodeCopTour. (Slides)
vienna.rb #6, Vienna.

The Future of Software Testing
Public panel discussion about the future of software development and testing.
SEQIS Ten Things, Vienna.

Idiomatic R for Rosetta Code
Lightning talk about Rosetta Code, some easy-picks and a discussion about idiomatic R code. (Slides)
Vienna<-R II, Vienna.

No comments: