Speaker Details

Andrew Harmel-Law


An over-enthusiastic Tech Principal; Andrew specialises in domain-driven design, Java / JVM technologies, agile delivery, build tools and automation, and dev-org transformations. Experienced across the software development lifecycle and in many sectors including government, banking, and eCommerce, what motivates him is the production of large-scale software solutions, fulfilling complex client requirements. He understands that people, tooling, architecture and process all have key roles to play in achieving this. Andrew has a passion for open source software and its communities. He has been interested in and involved with OSS to a greater or lesser extent since his career began; as a user, contributor, expert group member, or paid advocate. Finally, Andrew enjoys sharing his experience as much as possible. This sharing is not only seen in his formal consulting engagements, but also informally through mentoring, blog posts, conferences (speaking and organising), and open sourcing his code.

What I talk about when I talk about Domain-Driven Design

Everyone who loves DDD claims that it makes things easier, but if that’s true, why do so many experience exactly the opposite?  And why do the mega-fans always seem to be architects?

DDD is back in the top 100 search terms on O'Reilly. But the fact remains, the thing called "DDD" is a massive edifice - a massive set patterns, tools, architectures, approaches, and concepts, all under one unifying philosophy.  And so the questions keep coming: "where do we start?", "we did this, what next?", and most importantly "isn't it just for architects?"

The time is right for both a survey of the DDD landscape, and a set of curated early steps which will help folks like you to take advantage of all the benefits DDD can bring.  I’m an O’Reilly DDD trainer, and in this talk I’ll introduce DDD in broad terms, covering all the main concepts. I’ll then discuss the relationships between these key elements. Finally, given all that, I’ll lay out pathways for your future DDD journey, whether you are an individual dev, or a dev lead, or even a chief architect.


The Varieties of Development Experience

Have you ever wondered why it feels like it does to write code? Have you ever stopped and thought “if this is supposed to be such an intellectual exercise, why am experiencing so many emotions, from the heights of elation, to the pits of despair?”.

I have.

Since this first occurred to me years ago I’ve pieced together a theory which I believe gives not only an explanation for such mental states, but also offers a new means of evaluating how we work with software, and perhaps even becoming better at it.

In this session I’ll explain the theory, bringing in the latest views from neuro- and cognitive science. I’ll then consider how it can be applied, not only explaining how it feels to write code, but also interrogating why each of us has such wildly different experiences. In doing so you’ll gain a far deeper understanding of this daily activity, and consequently drive significant personal improvements.

Developer Productivity
Make Code Suck Less
Human Emotions