WeAreDevelopers LIVE Jan 20, 2021

Java with a Clojure mindset

Dan Lebrero

Adopting a Clojure mindset permanently elevates your Java architecture. Discover how shifting from mutable objects to pure functions eliminates boilerplate, fixes concurrency bugs, and drastically simplifies your code.

Pause
Mute Enter Fullscreen
#1 about 2 min

Approaching Java development with a Clojure mindset

Embracing an unfamiliar programming language fundamentally reshapes traditional software design perspectives.

#2 about 3 min

Defining the betting bonus sample application

Exploring a real-world bonus system demonstrates how functional paradigms practically alter enterprise application design.

#3 about 3 min

Pure functions and the cost of side effects

Eliminating side effects simplifies code comprehension and makes future code modifications significantly safer.

#4 about 11 min

Managing state with immutability and atoms

Separating pure logic from state mutations via atoms and structural sharing ensures thread safety without complex locks.

#5 about 8 min

Isolating side effect execution from business logic

Encoding operations as data prevents side effects from tangling with pure functional domain logic.

#6 about 2 min

Managing coeffects using Kafka and event sourcing

Consuming historical events from messaging queues provides necessary historical inputs for making core domain decisions in pure functions.

#7 about 3 min

Implementing the functional core and imperative shell

Isolating domain logic from messy infrastructure integrations simplifies testing routines and eliminates mock object dependencies.

#8 about 5 min

Representing domain entities as plain data structures

Representing domain objects as plain data maximizes code reuse by enabling extensive manipulation via standard core library APIs.

#9 about 2 min

Rapid feedback loops with the Clojure REPL

Modifying a living application via an interactive prompt achieves rapid operational feedback without the overhead of constant recompilation.

#10 about 4 min

Embracing Lisp syntax and metaprogramming paradigms

Recognizing code as simple data structures unlocks the powerful metaprogramming mechanics characteristic of Lisp-family languages.

#11 about 3 min

Lessons learned from adopting a Clojure mindset

Exposing yourself to completely unfamiliar programming concepts ultimately improves your everyday software engineering practices.

Matching moments

5:36 min

Q&A on using Clojure versus other backend patterns

Tobias Schröder · WWC 2021

1:43 min

Key benefits of learning the Clojure programming language

Tobias Schröder · WWC 2021

1:34 min

Using Clojure for full-stack web application development

Tobias Schröder · WWC 2021

1:13 min

Applying data-oriented programming for concise java syntax

Balkrishna Rawool Balkrishna Rawool · WWC 2024

2:36 min

Shifting to reactive programming paradigms in Java code

Niklas Heidloff · LIVE

4:54 min

Learning Java features and design patterns interactively

Jakov Semenski · LIVE

Upcoming sessions on this topic

Open session

World Congress 2026 North America

Look What Java Can Do Now: Live-Coding a GenAI MCP Server with the JAQ Stack

Suren Konathala

Senior Engineering Leader, Marketing & AdTech, AI GTM & Digital Experience Platforms, Java x AI

Suren Konathala
Open session

World Congress 2026 North America

When Humans Stop Writing Code: Rethinking Languages, Compilers, and Responsibility

Simon Auer

Organizer of flutter vienna meetup and CEO of marqably

Simon Auer
Open session

World Congress 2026 North America

public void saveMoney(AI): The Developer's Guide to Unit Economics

Hrushikesh Pokala

Senior Software Engineer Lead at Equifax

Hrushikesh Pokala
Open session

World Congress 2026 North America

From Cloud Native to Multi-Cloud Native: Write Once, Deploy Anywhere

Sandeep Pal

Principal Member of Technical Staff at Salesforce

Sandeep Pal
Open session

World Congress 2026 North America

From Guesswork to Governance: Data Contracts Bring API Discipline to Apache Kafka

Sandon Jacobs

Senior Developer Advocate at IBM

Sandon Jacobs
Open session

World Congress 2026 North America

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Bartosz Leczycki, Paweł Matynia

Bartosz Leczycki
Paweł Matynia