English · 00:48:53 Jan 24, 2026 4:35 AM
Clojure's Untold Story: What 17 Years of Simplicity Teaches Senior Devs
SUMMARY
Jordan Miller, a Clojure enthusiast and developer, shares Clojure's 17-year evolution from niche Lisp to enterprise tool, mirroring her journey from overconfidence to wisdom through curiosity, failure, and growth in programming.
STATEMENTS
- Rich Hickey created Clojure in frustration with mutable state, boilerplate code, and concurrency issues in languages like Java, seeking a practical functional programming approach on the JVM.
- Clojure draws from Lisp traditions but favors associative data structures like hashmaps over sequential lists for handling real-world chaotic data.
- In 2007, Jordan Miller, a non-traditional learner avoiding STEM, discovered programming through Clojure via community resources like Slack and books.
- After unstable jobs, Miller entered programming via "Clojure for the Brave and True," leading to her first conference experience at Strange Loop in 2019.
- Miller's early career involved rapid growth through community support, but she faced overconfidence, leading to job losses and humbling experiences.
- Clojure's community emphasizes supportiveness, positivity, and respect, intentionally fostered by Rich Hickey to create an inclusive environment.
- In 2009, Hickey's essay "Simple Made Easy" and "Open Source is Not About You" refocused the community on core principles like simplicity and immutability, rejecting hype-driven demands.
- Clojure followed the Gartner Hype Cycle: from inflated expectations in early adoption to disillusionment over syntax and scalability, then enlightenment through refinements.
- Hickey's 2011 talk "Simple Made Easy" distinguished simplicity from ease, promoting immutable data and pure functions to manage complexity.
- Datomic, an immutable database co-developed by Hickey and team, embodies Clojure principles and was released in 2012 for time-aware data handling.
- Nubank's 2020 acquisition of Cognitect solidified Clojure's enterprise role in finance, healthcare, and e-commerce.
- Miller's journey reflects the Dunning-Kruger effect: initial unconscious incompetence, overconfidence on "Mount Stupid," despair after failures, then enlightenment via curiosity.
- Curiosity, defined as intentional effort to close knowledge gaps with vulnerability, drives both personal growth and ecosystem maturity.
- The four stages of competence—unconscious incompetence, conscious incompetence, conscious competence, unconscious competence—guide Clojure learning tools from novice to expert.
- Miller advocates active learning through resources like MIT's SICP and community support, crediting belief from others for her persistence.
- Failures like job losses taught Miller that overconfidence without feedback hinders growth, emphasizing pragmatic questioning and Socratic methods.
- Clojure's REPL enables tight feedback loops, accelerating expertise via deliberate practice, feedback exchange, and self-correction.
- The Clojure ecosystem includes beginner tools like Babashka for scripting and advanced ones like Datomic for immutable databases, supporting diverse applications.
IDEAS
- Clojure's design prioritizes hashmaps over lists because human data is chaotic and associative, not purely sequential, challenging academic Lisp norms.
- Open source sustainability relies on focusing on software's purpose rather than individual demands, as Hickey's essay argued, preventing feature bloat.
- The Gartner Hype Cycle and Dunning-Kruger effect parallel each other, showing how both technologies and people progress from hype/overconfidence to mature competence through persistence.
- Curiosity requires vulnerability to embrace uncertainty, turning passive interest into active exploration that bridges known and unknown knowledge gaps.
- Clojure's community was deliberately engineered for positivity and support, making it a rare inclusive space in tech that enforces respect as a core value.
- REPL-driven development creates a "flow state" feedback loop, allowing line-by-line experimentation that accelerates learning far beyond traditional coding cycles.
- Immutability in databases like Datomic prevents data loss in critical sectors, questioning why mutable state is standard when queries shouldn't alter facts.
- Functional programming's promise of reusability often fails in OO languages due to inheritance hierarchies, but Clojure achieves it through simple, immutable structures.
- Teaching others, as Miller did via content creation, solidifies personal understanding, revealing knowledge gaps sooner than solo practice.
- Pedagogy in programming should leverage historical resources like SICP, showing women's early roles in computing to counter modern gender imbalances.
- Crowdsourcing ecosystem updates from Slack reveals hidden gems, like 90% adoption of Babashka, highlighting insular communities' innovation potential.
- Google Sheets outperform fancy diagramming tools for structured thinking, enabling Socratic questioning to uncover cognitive dissonances.
- Clojure's evolution inspired Java improvements, showing how niche languages influence mainstream ones through shared JVM ecosystem.
- Job instability in startups can foster resilience, but only if paired with curiosity to extract lessons from failure rather than despair.
- Data science in Clojure bridges Python libraries via libpython-clj, allowing functional reasoning without abandoning familiar tools.
- Electric and Missionary frameworks push reactive programming boundaries, enabling real-time apps that feel declarative yet powerful.
INSIGHTS
- True simplicity in software emerges from immutable structures and pure functions, reducing complexity not by easing entry but by enabling clear reasoning.
- Curiosity acts as a universal antidote to hype and hubris, sustaining innovation in ecosystems and personal careers by fostering deliberate, feedback-driven growth.
- Communities thrive when inclusivity is a designed principle, not an accident, creating environments where newcomers feel belonging and contribute meaningfully.
- Learning accelerates through tight feedback mechanisms like REPLs, which mirror deliberate practice by integrating self-assessment, peer input, and iteration.
- Overconfidence masks deeper incompetence until failure exposes it, but embracing aporia—the Socratic awareness of ignorance—propels ascent to wisdom.
- Technologies mature by refining core philosophies amid disillusionment, proving that perseverance in questioning assumptions yields practical, scalable solutions.
- Personal narratives of non-traditional paths in tech reveal that aptitude stems from curiosity and support, not innate "programmer genes" or early starts.
- Immutable data handling in databases redefines reliability, treating information as timeless facts rather than mutable states, ideal for auditable domains.
- Active engagement with uncertainty transforms vulnerability into strength, turning rabbit-hole explorations into profound, empathetic expertise.
- Ecosystem tools evolve with user stages of competence, ensuring accessibility scales from novices via tutorials to experts via cutting-edge libraries.
- Failures in early careers, like repeated firings, are crucibles for pragmatism, teaching that communication and questioning outlast technical bravado.
- Bridging insular communities with mainstream via tools like libpython-clj democratizes advanced domains, allowing functional paradigms to infiltrate silos.
QUOTES
- "Open source is not about you."
- "Simple made easy."
- "Curiosity is recognizing a gap in our knowledge about something that interests us and then becoming emotionally and cognitively invested in closing that gap."
- "I love being wrong. It's so great."
- "The REPL helps you achieve deliberate practice which is giving feedback to others, asking for feedback for yourself and then giving feedback to yourself."
- "Clojure has changed my life in ways that I never thought possible."
- "We're not chasing clout or trying to gain popularity. It was about solving real problems."
HABITS
- Dive into community Slack channels early to ask questions and receive supportive feedback, building belonging and accelerating learning.
- Use the REPL for line-by-line experimentation, maintaining a tight feedback loop to question and refine code iteratively.
- Practice Socratic questioning in Google Sheets to identify inconsistencies in thinking, embracing cognitive dissonance for deeper self-understanding.
- Create edutainment content like podcasts or memes to teach concepts, solidifying knowledge while humanizing tool creators.
- Seek feedback shamelessly after experiments, viewing errors as opportunities to close knowledge gaps with vulnerability.
- Attend conferences like Strange Loop to network and take notes, turning passive exposure into active career wings.
- Balance exploration with pragmatism by recording failures and lessons, repeating the cycle of curiosity, experimentation, and reflection.
FACTS
- Clojure, launched in 2007, has powered mission-critical systems in finance, healthcare, and e-commerce for over 17 years.
- Nubank acquired Cognitect in 2020, integrating Clojure's core team into one of the world's largest digital banks.
- About 90% of Clojure developers use Babashka for scripting, a native fast-starting interpreter created by community contributor borkdude.
- MIT's SICP course from the 1980s featured roughly half women in programming classes, contrasting modern gender disparities.
- Datomic, released in 2012, treats databases as immutable, time-aware entities, used by companies like Netflix for data integrity.
- The Clojure community enforces a tone of supportiveness as a core value, intentionally set by Rich Hickey to foster positivity.
- Java's recent improvements, like better functional features, were influenced by Clojure's JVM presence and interactions with its creators.
REFERENCES
- Clojure for the Brave and True (book by Daniel Higginbotham).
- Simple Made Easy (Rich Hickey talk).
- Hammock Driven Development (Rich Hickey talk).
- Open Source is Not About You (Rich Hickey essay).
- Structure and Interpretation of Computer Programs (SICP, MIT book and lectures).
- The Socratic Method: A Practitioner's Handbook (book recommended by Rich Hickey).
- Clojure Applied (book by Alex Miller and Stu Halloway).
- Grokking Simplicity (book by Eric Normand).
- Debugging with the Scientific Method (Stu Halloway talk).
- Cognicast podcast (now The Hammock by Nubank).
- Lost in Lambdas (Jordan Miller's podcast).
- Portal (data visualization inspector by Chris Barbaros).
- AdLib (dynamic library loader).
- Shadow-CLJS (build tool for ClojureScript).
- libpython-clj (Python bridge for Clojure data science).
- Tablecloth (data manipulation library).
- FlowStorm (REPL debugger).
- Datomic (immutable database).
- XTDB (bitemporal database).
- Electric and Missionary (reactive frameworks by Hyperfiddle).
HOW TO APPLY
- Start with passive resources like "Clojure for the Brave and True" but skip outdated sections on Leiningen and Emacs; instead, use tools.deps and VS Code with Calva for immediate REPL access.
- Join Clojure Slack or Clojure Camp Discord to crowdsource questions, participate in mob programming sessions, and build community ties that provide real-time feedback.
- Practice REPL-driven development by evaluating code line-by-line, using tools like Portal for data inspection to visualize and debug interactively during exploration.
- Apply Socratic methods by journaling in Google Sheets: list assumptions, question inconsistencies, seek feedback on experiments, and iterate to refine mental models.
- Experiment with intermediate tools like Shadow-CLJS for ClojureScript builds or libpython-clj for data science, bridging to Python libraries while applying functional principles.
- For advanced work, integrate Datomic or XTDB in projects requiring immutability, querying historical data states to ensure auditability in sensitive applications like fintech.
- Foster curiosity cycles: after failures, record lessons, ask for peer reviews, and revisit the Dunning-Kruger arc to maintain humble, persistent growth.
ONE-SENTENCE TAKEAWAY
Curiosity transforms overconfidence into wisdom, guiding both personal programming journeys and Clojure's path to mature, innovative simplicity.
RECOMMENDATIONS
- Embrace the REPL early to cultivate a feedback-driven habit, turning coding into exploratory dialogue that reveals flaws faster than compilation waits.
- Prioritize community immersion over solo tutorials, leveraging Clojure's supportive ethos to overcome isolation and accelerate belonging.
- Question hype critically using the Gartner Cycle lens, focusing on core philosophies like immutability to discern sustainable tools from fleeting trends.
- View failures as aporia moments, using Socratic reflection to dismantle overconfidence and rebuild with pragmatic, question-asking resilience.
- Experiment with stage-matched tools: novices try Babashka scripting, intermediates use FlowStorm debugging, experts explore Electric for reactive innovations.
- Humanize ecosystem contributors via podcasts or interviews, building empathy that enhances collaboration and uncovers hidden motivations behind libraries.
- Integrate immutable databases like Datomic in prototypes to experience time-aware data's power, challenging mutable norms in high-stakes domains.
- Teach concepts through content creation, as it exposes personal gaps while inspiring others in insular communities.
- Bridge silos by adopting hybrids like libpython-clj, allowing Clojure's functional clarity to enhance Python-dominant fields like data science.
- Structure thinking simply with Google Sheets over complex tools, enabling clear Socratic dialogues that yield elegant designs.
MEMO
In the dim glow of a New York study one cold night, Rich Hickey wrestled with the ghosts of software complexity—mutable states spawning elusive bugs, concurrency's tangled threads, and Java's boilerplate inheritance that promised reuse but delivered redundancy. Frustrated yet inspired by functional programming's elegance, Hickey birthed Clojure in 2007, a Lisp dialect for the JVM that championed immutability and simplicity without sacrificing power. What began as a niche rebellion against chaotic code has matured into an enterprise stalwart, powering systems at Nubank, Netflix, and beyond. Yet Clojure's tale isn't one of overnight triumph; it mirrors the humbling arcs of human learning, as Jordan Miller vividly illustrates in her talk at QCon San Francisco.
Miller, a dreadlocked vagabond turned Clojure advocate known as Lambda Lady, recounts her improbable entry into programming. Skipping STEM in her youth for Grateful Dead tours and MySpace customizations, she dismissed math as an enigma and tech as a genius's domain. A bartender's tip in her mid-20s led her to "Clojure for the Brave and True," thrusting her into a welcoming community via Slack and Strange Loop conferences. But success was fleeting: overconfidence fueled by initial wins led to hubris, botched transducers, startup collapses, and two firings in three years. "I love being wrong," Miller now quips, crediting these valleys of despair—echoing the Dunning-Kruger effect's "Mount Stupid" plummet—for igniting true growth. Her path, from unconscious incompetence to conscious humility, parallels Clojure's own navigation of the Gartner Hype Cycle.
Both journeys underscore curiosity as the quiet engine of endurance. Hickey's 2009 essay "On Open Source Is Not About You" rebuked community demands for popularity, refocusing on solving real problems with immutable data and pure functions. As hype inflated then deflated—Clojure derided on Hacker News as "dead" or too parenthetical—persistence prevailed. The 2011 talk "Simple Made Easy" reframed the language not as arcane Lisp but as a bulwark against complexity. Datomic, the 2012 immutable database co-created with Stu Halloway, extended these ideals, treating data as timeless facts for auditable realms like finance. Miller, meanwhile, adopted Socratic questioning via Google Sheets, turning cognitive dissonances into deliberate practice. This active pursuit—recognizing knowledge gaps and vulnerably closing them—bridged her overconfidence to wisdom, much as it propelled Clojure from academic curiosity to 90% Babashka adoption among developers.
Today, Clojure's ecosystem blooms with tools attuned to every competence stage, from novices wielding Calva in VS Code for balanced parentheses to experts wielding XTDB's bitemporal queries. Babashka's lightning scripting, Shadow-CLJS's npm harmony, and libpython-clj's Python bridge democratize functional thinking, even infiltrating data science silos on Zulip. Reactive frameworks like Electric promise declarative real-time apps, while FlowStorm debuggers tighten REPL loops for flow-state discovery. Miller, now on Nubank's Datomic team, crowdsources these gems from Slack polls, revealing an insular yet innovative world. Her podcast "Lost in Lambdas" humanizes creators, weaving Buddhism-tinged chats into empathetic tool use.
Critics dismiss the Hype Cycle and Dunning-Kruger as mere life chronicles, but their overlap reveals a profound truth: progress demands curiosity's courage. For technologies and individuals alike, the slope of enlightenment rises not linearly but through refinement—questioning assumptions, embracing uncertainty, and iterating amid disillusionment. Clojure teaches senior devs that wisdom blooms from simplicity's soil, not ease's illusions. Miller's story, laced with Dr. Seuss rhymes and hammock-driven pauses, invites all to join: skip the peak of stupid, linger in the valley's lessons, and let curiosity chart the climb.
As Clojure enters its third decade, its untold story whispers a broader lesson for tech's future. In an era of AI hype and fleeting frameworks, sustained innovation favors the persistently curious—those who, like Hickey pondering in the dark or Miller grilling cheeses on lots, dare to seek better ways. By fostering supportive communities and feedback-rich tools, Clojure not only endures but inspires human flourishing amid code's chaos. For engineering leaders, the mandate is clear: nurture curiosity in teams to transmute overconfidence into collective wisdom, ensuring technologies—and careers—plateau at productivity, not perish in the trough.
Like this? Create a free account to export to PDF and ePub, and send to Kindle.
Create a free account