Neal Ford  |
  • Author, ThoughtWorker, & Meme Wrangler

Neal Ford

ThoughtWorker / Software Architect / Meme Wrangler

Software Consultant / Speaker / Writer

Neal Ford is Director, Software Architect, and Meme Wrangler at ThoughtWorks, a global IT consultancy with a focus on end-to-end software development and delivery. He is also the designer and developer of applications, articles, video/DVD presentations, and author and/or editor of an increasingly large number of books spanning a variety of subjects and technologies, including the most recent Presentation Patterns. His professional focus includes designing and building of large-scale enterprise applications. He is also an internationally acclaimed speaker, speaking at over 300 developer conferences worldwide, delivering more than 2000 presentations. You can email Neal at nford at

The purpose of this site is twofold. First, it is an informational site about my professional life, including appearances, articles, presentations, etc. For this type of information, consult the news page (this page) and the Biography page.

The second purpose for this site is to serve as a forum for the things I enjoy and want to share with the rest of the world. This includes (but is not limited to) reading (Book Club), Triathlon, and Music. This material is highly individualized and all mine!

Please feel free to browse around. I hope you are entertained and enlightened by what you find.

Meme Agora (blog)

more memes...

Recent Publications

Engineering Practices for Continuous Delivery

From Metrics and Deployment Pipelines to Integration and Microservices

Each chapter shows you various examples of functional thinking, using numerous code examples from Java 8 and other JVM languages that include functional capabilities. This book may bend your mind, but you’ll come away with a good grasp of functional programming concepts.

This video from Neal Ford (and guest experts Tim Brown, Rachel Laycock, and Ryan Murray) demonstrates the engineering practices that allow you to get fast feedback on the production readiness of your application every time there is a change to the code, infrastructure, or configuration.

You’ll learn that, through automation of the build, deployment, and testing processes—and improved collaboration among developers, testers and operations engineers—delivery teams can get changes released in a matter of hours (sometimes even minutes), no matter how large or complex the project is.

Functional Thinking

Paradigm over Syntax

If you want to take advantage of functional programming features in Java and other languages, this in-depth guide takes you beyond syntax and demonstrates how you need to think in a new way. Software architect Neal Ford shows intermediate to advanced developers how functional coding allows you to step back a level of abstraction so you can see your programming problem with greater clarity.

Each chapter shows you various examples of functional thinking, using numerous code examples from Java 8 and other JVM languages that include functional capabilities. This book may bend your mind, but you’ll come away with a good grasp of functional programming concepts.

Software Architecture Fundamentals: From Developer to Architect cover

Software Architecture Fundamentals: Understanding the Basics

In this anticipated video series, Neal Ford and Mark Richards examine the responsibilities of a software architect, specifically the knowledge and skills you need to be effective in that role.

The first video, Understanding the Basics, not only focuses on development techniques, but also pinpoints the skills you need to be a successful team leader. You’ll learn about the four main aspects of a software architect, and quickly discover the difference between architecture decisions and technology decisions. In this video, you’ll explore:

Soft Skills:

  • Investigate techniques for communicating effectively as a team leader
  • Measure your technical knowledge, including technical depth vs. technical breadth, and multi-platform skills
  • Discover how to increase your expertise of business domains
  • Learn how ensure a successful implementation by matching methodology with architecture

Architectural Techniques:

  • Make your architecture more adaptable to changes in business and technology
  • Explore various techniques and patterns for integrating multiple applications and databases
  • Get a true understanding of enterprise architecture by examining the context and goals of an EA implementation

The topics in this video set the stage necessary to understand the enterprise architecture approaches and strategies demonstrated in the series’ second video: Software Architecture Fundamentals: A Deeper Dive.

Table of Contents

  • Introduction (28 minutes)
  • Architecture Soft Skills Part 1 (11 minutes)
  • Continuous Delivery (41 minutes)
  • Architecture Soft Skills Part 2 (36 minutes)
  • Understanding Large Codebases (36 minutes)
  • Architecting for Change (17 minutes)
  • Architecture Patterns Part 1 (48 minutes)
  • Architecture Patterns Part 2 (35 minutes)
  • Design Patterns (22 minutes)
  • Architecture Anti-Patterns Part 1 (15 minutes)
  • Architecture Anti-Patterns Part 2 (27 minutes)
  • Tooling and Documentation (34 minutes)
  • Integration Architecture Fundamentals (47 minutes)
  • Enterprise Architecture Concepts and Fundamentals (14 minutes)

Purchase or stream at O'Reilly's site

Software Architecture
								 Dive cover

Software Architecture Fundamentals: Taking a Deeper Dive

"Software Architect" places in the top ten of most annual surveys of best jobs, yet no clear path exists from Developer to Architect. Why aren’t there more books and training materials to fill this demand? This video series by Neal Ford and Mark Richards starts filling the information gap.

Software architecture is a massive multidisciplinary subject, covering many roles and responsibilities, making it challenging to teach because so much context is required for the interesting subjects. It’s also a fast moving discipline, where entire suites of best practices become obsolete overnight.

In two videos—Understanding the Basics and A Deeper Dive—this series covers a vast array of subjects, all grounded with the common theme of architecture, emphasizing techniques to allow architecture for change. Each installment covers topics in application, integration, and enterprise architecture.

A Deeper Dive advances the discussion from Developer to Architect by covering application, integration, and enterprise architecture. We discuss evaluating architectures (including making formal processes like ATAM more agile and effective), and various architectural frameworks:

  • Application Architecture: Understand the impact that modern engineering practices like Continuous Delivery have on architectural decisions. You’ll learn about different abstractions, their pros and cons, and how to effectively choose between them.
  • Integration Architecture: Examine the pros and cons of SOAP vs REST, as well as integration hubs like ESBs as an architectural pattern, and some common integration patterns.
  • Enterprise Architecture:Delve into centralized and decentralized approaches, 4 types of strategies for decision making, and evolutionary architecture and emergent design.

Discussion augments the material throughout, providing differing opinions and contexts on many subjects.

Table of Contents

  • Architecture Tradeoffs (31 minutes)
  • Continuous Delivery Part 1 (51 minutes)
  • Applying Abstraction (22 minutes)
  • Choosing and Comparing Architectures (25 minutes)
  • Web Services and Messaging (31 minutes)
  • SOA Fundamentals (28 minutes)
  • Integration Hubs (22 minutes)
  • Continuous Delivery Part 2 (49 minutes)
  • Enterprise Architecture Approaches (36 minutes)
  • Enterprise Architecture Strategies (28 minutes)
  • Evolutionary Architecture and Emergent Design (31 minutes)

Purchase or stream at O'Reilly's site

Clojure (inside out) cover

Clojure (inside out)

Why is Clojure the most interesting new language on the horizon? With this video, you'll not only learn how to tackle real problems with this functional language, you'll learn how to think in Clojure--and why you should want to.

Neal Ford (software architect and meme wrangler at ThoughWorks) and Stuart Halloway (CEO of Relevance, Inc.) show you what makes programming with Clojure swift, surgical, and accurate. Clojure compiles to many target environments, including the JVM, JavaScript, and the .NET CLR, and you'll quickly get up to speed on its syntax, ecosystem, and libraries. Then Ford and Halloway take you much deeper into the language, while keeping the focus on practical application:

  • Learn how to leverage macros to solve real problems
  • Discover how Clojure helps you manage time the way garbage collection helps you manage space
  • Understand why functional programming is so important
  • Clojure represents a vision for building software that could only be implemented by building a new language. You've heard the hype, now come learn the facts on the ground.

Table of Contents

  • Introduction (33 minutes)
  • Data (19 minutes)
  • Code Part 1 (41 minutes)
  • Code Part 2 (34 minutes)
  • Functions (80 minutes)
  • Abstraction (33 minutes)
  • Concurrency Part 1 (18 minutes)
  • Concurrency Part 2 (22 minutes)
  • JVM Interop (30 minutes)
  • Integration (37 minutes)
  • Clojure (inside out) logo

    Purchase or stream at O'Reilly's site

    Functional Thinking

    Learning the syntax of a new language is easy, but learning to think under a different paradigm is difficult. This video from renowned software architect Neal Ford helps you transition from a Java-writing imperative programmer to a functional programmer, using Java, Clojure and Scala as examples.

    Rather than focus on specific language features, Functional Thinking looks at a variety of common practices in OOP languages and then shows you how to solve the same problems using a functional language. For instance, you know how to achieve code-reuse in Java via mechanisms such as inheritance and polymorphism. Code reuse is also possible in functional languages, using high-order functions, composition, and multi-methods.

    Ford encourages you to value results over steps, so you can begin to think like a functional programmer. Expect your mind to be bent, but you’ll finish with a much better understanding of both the syntax and semantics of functional languages. This video is ideal for any experienced programmer.

    Table of Contents

    • Introduction (35 minutes)
    • Gradually Getting Started (41 minutes)
    • Functions (29 minutes)
    • Laziness (34 minutes)
    • Coupling vs. Composition (25 minutes)
    • Functional Data Structures (25 minutes)
    • Rethinking Dispatch (20 minutes)
    • Summary (25 minutes)
    O'Reilly Books and Videos

    Purchase or stream at O'Reilly's site

    Presentation Patterns

    Techniques for Crafting Better Presentations

    You've read about how presentations are like a state of mind, how color wheels work, and what type of isolated high-resolution stock photos to obtain, but how is that helping you with the marketing presentation due next week? This book holds the answers, derived from thousands of hours of presentations by the authors. It is the first book on presentations that categorizes and organizes the building blocks, which we call patterns, required to communicate effectively using presentation tools. If you are a software geek (like us), this will make it clear: we've applied the GoF Design Patterns concept to presentations. We show you how to handle a wide variety of presentation types, audiences, constraints, and even surprises. Unlike other books, we also show you what not to do (anti-patterns), which are just as important as the positive recommendations; modern presentation tools seduce you into doing bad things and we show you how to avoid the traps.

    Available at Amazon and other fine book sellers.

   Follow Neal on Twitter

Neal Ford  |
  • Author, ThoughtWorker, & Meme Wrangler