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 · World Congress 2021

1:43 min

Key benefits of learning the Clojure programming language

Tobias Schröder · World Congress 2021

1:34 min

Using Clojure for full-stack web application development

Tobias Schröder · World Congress 2021

1:13 min

Applying data-oriented programming for concise java syntax

Balkrishna Rawool Balkrishna Rawool · World Congress 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

September 25, 2026 · 14:50–15:20

Stage 6

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

September 24, 2026 · 16:10–16:40

Outdoor Stage

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

September 25, 2026 · 16:00–16:10

Outdoor Stage

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

September 24, 2026 · 16:10–16:40

Stage 4

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

September 24, 2026 · 16:50–17:20

Stage 9

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

September 24, 2026 · 11:40–12:10

Stage 4

Taming Rogue Agents: Observability-Driven Evaluation for Production Reliability

Anagha Rumade, Anjana Umapathy, Apoorva Jaiswal

Anagha Rumade
Anjana Umapathy
Apoorva Jaiswal