- Practices of an Agile Developer: Working in the Real World (Pragmatic Programmers)
- Functional Programming in Java: Harnessing the Power of Java 8 Lambda Expressions
- Programming Groovy: Dynamic Productivity for the Java Developer
- Programming Concurrency on the Jvm: Mastering Synchronization, Stm, and Actors
- Groovy Recipes: Greasing the Wheels of Java