I would not be in the position of having authored this book without the grace and assistance of many people who have been involved in the project, and who have put up with my taxing demeanor during the months of development and writing it took to complete. To all of them, I owe an unrepayable debt.
Foremost, Bob Lee: from the first email I sent him, and every single one since, he has shown me nothing but kindness and encouragement. He not only recommended publishers for my book, but was also instrumental in my joining Google, where I now work on interesting and compelling projects. I am fortunate to count him as a colleague and a friend.
Jesse Wilson, the Guice team lead and the technical reviewer for this book, has been one of my most stalwart defenders, critics, and friends in recent months. Jesse never tires or loses cheer and is infectious. Large parts of my work at Google, in open source, and of this book are owed to him.
Apache Wicket Developer, Manning author, and good friend Eelco Hillenius was responsible for directing me to Manning. He went out on a proverbial limb, championing me and Guice to Manning. Acquisitions editor Mike Stephens was the one who suggested the idea of a software engineering book focusing on design patterns. But most important to this book's development was Tom Cirtin, my editor at Manning. Tom's generosity, sense of humor, and keen eye helped me more than I can express. He pushed me when he had to, and politely steered me from disaster wherever it brewed. I applaud and thank him for his efforts.
Tom Wilson, my team lead at ThoughtWorks, put up with months of my trying behavior while having the courage to listen to every worthwhile idea I brought up and to shoot down every worthless one. Paul Hammant, the PicoContainer author, carefully reviewed many of my early drafts and suggested many corrections. Jon Tirsen, Kevin Bourrillion, Josh Bloch, and Ghassan Mishergi at Google always had time for my rantings and my incessant and often obtuse questioning. Concurrency experts Tim Peierls and Brian Goetz corrected me at different times about pants being up or down. Mike Brock and Michael Neale from Red Hat kept me honest by telling me when I was being silly. Brad Dwyer, Jody Elson, and Dr. George Corliss never refused a request to read or comment on drafts. Thanks also to Robbie Vanbrabant, who contributes to warp-persist, and Mike Bain, my great friend and the best iteration manager ThoughtWorks has ever had.
A special note of thanks to the many reviewers who read my manuscript a number of times during development, contributing feedback and insights along the way that helped make this a much better book. I am grateful to them for their time and efforts: Dan Dobrin, Frank Wang, Paul King, Rick Wagner, Robert Hanson, Shreekanth Joshi, Wahid Sadik, Dave Corun, Sam Newman, Andrew Konkol, David Strong, Patrick Steger, Jon Skeet, Martyn Fletcher, Marcus Baker, Howard Lewis Ship, Mark Seemann, Ramarao Kanneganti, and King Wang.
I would also like to thank the production team at Manning for turning my manuscript into the book you are now reading: copyeditor Linda Recktenwald, proofreader Elizabeth Martin, typesetter Gordan Salinovic, cover designer Leslie Haimes, and project manager Mary Piergies.
I owe a massive debt to Josh McDonald, who created the elegant and subtle theme that is in all the illustrations and who was kind enough to draw many of them. Also for his contributions to my open source project work as well as the many beers he has put back on my account.
Special words of appreciation to Yutgong Au, my close friend and closet artistic genius, who created many of the icons and line drawings in this book, producing them at a moment's notice any time I asked for them.
And to Zac Steacy for being my all around best friend, every day.
18.189.195.229