Kevlin Henney

Independent consultant, speaker, writer and trainer
Kevlin Henney (@KevlinHenney) is an independent consultant, speaker, writer and trainer. Kevlin has trained a few thousand developers so far. He has contributed to open- and closed-source codebases, been a columnist for a number of magazines and sites and has been on far too many committees.
He is co-author of A Pattern Language for Distributed Computing and On Patterns and Pattern Languages, two volumes in the Pattern-Oriented Software Architecture series. He is also editor of 97 Things Every Programmer Should Know and 97 Things Every Java Programmer Should Know. He lives in Bristol and online.

Workshop topic:
Refactoring to Immutability

Time & Date:
November 21st | 10am-5pm CET

About workshop

It has been said that immutability changes everything. But what does that mean in practice? What does it mean for existing code that looks more like the mutant apocalypse than an elegant application of mathematical thinking? Mainstream programming languages are normally grounded in imperative styles - from updating local variables to updating records in databases. But although it has grown from imperative roots, a language such as Java is expressive and evolved enough that it can embrace many different approaches. Indeed, trends in the development of many languages have made immutability and the reduction of mutability easier to support.

Immutability is attractive because it makes code easier to reason about, reduces the possibility of many classes of bug, improves the testability of code, reduces the amount of validation and error-handling code, makes code more scalable when threaded and makes code more thread-safe. However, immutability can be an ideal that is hard to reach, and much advice doesn't cover enough of the situations developers find in their codebases. Refactoring, on the other hand, is all about the art of the possible.

Whether you're working in the cloud or on the desktop, in the mobile space or on the web, steering your code and design style towards immutability offers both short-term and long-term practical benefits. In this one-day hands-on training, we'll be looking at guidance and practice to help reduce the mutability of state in your codebase.

Over the day you will:

  • Understand the benefits of reducing or eliminating mutability of state in code
  • Learn patterns for transforming common and less common coding idioms to a less mutable style
  • Put these patterns into practice in test-based refactoring hands-on exercises
  • Identify when and when not to refactor existing code
  • Appreciate how to write new code in a less mutable style

You can download the full program for this workshop at the following LINK.

* If you're interested in this program, please contact us at to find out more about availability and prices.