Author

Michael Feathers

📖 Overview

Michael Feathers is a software consultant and author best known for his influential book "Working Effectively with Legacy Code," published in 2004. He specializes in software design, testing practices, and helping teams work with large, complex codebases. Through his consulting work at R7K Research & Conveyance Corporation and previously at Object Mentor, Feathers has developed expertise in software testing, continuous integration, and agile development practices. His definition of legacy code as "code without tests" has become widely adopted in the software development community. Feathers has contributed significantly to the field of software design through his writing and speaking engagements at major technology conferences. His work focuses on practical techniques for improving existing codebases and introducing automated testing into established systems. Beyond his signature book, Feathers continues to influence software development practices through his blog posts, articles, and consulting work. He has helped shape modern approaches to dealing with technical debt and code maintenance in large-scale software systems.

👀 Reviews

Software developers consistently rate "Working Effectively with Legacy Code" highly for its practical techniques for managing existing codebases. Readers cite the book's clear explanations of how to add tests to untested code and break dependencies. Readers appreciate: - Specific code examples and refactoring patterns - Solutions to common legacy code problems - Clear writing style focused on real-world situations - Techniques that work across programming languages Common criticisms: - Examples use older Java/C++ code that feels dated - Some concepts could be explained more concisely - Price is high for physical copies - Code samples can be hard to read in ebook format Ratings across platforms: Goodreads: 4.16/5 from 3,800+ ratings Amazon: 4.5/5 from 500+ reviews One developer noted: "This book gave me practical tools I used the next day at work." Another wrote: "Changed how I approach maintaining old systems, but wished for more modern examples."

📚 Books by Michael Feathers

Working Effectively with Legacy Code A technical guide focused on techniques for modifying, testing, and refactoring existing software code bases, with specific emphasis on bringing untested code under test.

Brutal Refactoring: More Working Effectively with Legacy Code A collection of patterns and techniques for transforming complex, problematic code into more maintainable structures through aggressive refactoring approaches.

Zero-to-One: Notes on Change in Legacy Systems A systematic examination of strategies for incrementally improving large software systems while maintaining their operational stability.

The Language of Programs An analysis of how programming languages influence software design decisions and development practices across different technology stacks.

👥 Similar authors

Martin Fowler writes about software architecture, refactoring, and enterprise patterns. His work shares Feathers' focus on dealing with legacy code and improving existing systems.

Robert C. Martin focuses on clean code principles and software craftsmanship fundamentals. His books cover similar territory to Feathers regarding code quality and maintaining complex systems.

Kent Beck pioneered test-driven development and extreme programming methodologies. His work complements Feathers' emphasis on testing and code improvement strategies.

Sandi Metz writes about object-oriented design and practical software maintenance. She addresses many of the same challenges as Feathers in working with existing codebases and managing technical debt.

Joshua Kerievsky covers refactoring patterns and software design improvement techniques. His work on technical debt and code transformation aligns with Feathers' approach to modernizing legacy systems.