The Pragmatic Programmer is a book that centers on how to use software to solve problems effectively and how to grow as a developer pragmatically. It was first published in 1999 and a 20th Anniversary Edition was released in 2019. The book emphasizes key qualities such as being an early adopter, having fast adaptation, inquisitiveness, critical thinking, realism, and being a jack-of-all-trades. It uses analogies and short stories to present development methodologies and caveats, including concepts like DRY (Don't Repeat Yourself), YAGNI (You Aren't Gonna Need It), and rubber duck debugging. The book covers topics such as writing clean code, estimating software delivery, instituting change, combating stagnancy, and making software processes resilient and efficient through automation and testing.
In this book, Gavin de Becker argues that every individual should learn to trust their gut instinct when it comes to situations of danger or potential violence. He highlights the predictability of violence by identifying pre-incident indicators (PINS) such as forced teaming, charm and niceness, too many details, typecasting, loan sharking, and the unsolicited promise. De Becker also discusses his MOSAIC Threat Assessment Systems and provides practical advice on how to spot danger signals, handle threatening situations, and manage fear effectively. The book is particularly valuable for women and others who may be at higher risk of violence, offering strategies to enhance situational awareness and personal safety.
In this groundbreaking book, David Deutsch argues that explanations have a fundamental place in the universe and that improving them is the basic regulating principle of all successful human endeavor. The book takes readers on a journey through various fields of science, history of civilization, art, moral values, and the theory of political institutions. Deutsch explains how we form new explanations and drop bad ones, and discusses the conditions under which progress, which he argues is potentially boundless, can and cannot happen. He emphasizes the importance of good explanations, which he defines as those that are 'hard to vary' and have 'reach', and argues that these explanations are central to the Enlightenment way of thinking and to all scientific and philosophical progress.
In 'The Fabric of Reality', David Deutsch explores a four-strand theory of everything, integrating Hugh Everett's many-worlds interpretation of quantum physics, Karl Popper's epistemology, Alan Turing's theory of computation, and Richard Dawkins's evolutionary theory. The book discusses the implications of these theories, including the concept of the multiverse, quantum computers, time travel, and the ultimate fate of the universe. Deutsch argues that these theories, when taken literally and jointly, reveal a unified, objective, and comprehensible fabric of reality.
In this podcast episode I talk with Dave Thomas, co-author of The Pragmatic Programmer and Sin City Ruby 2025 keynote speaker, who discusses his upcoming book Simplicity and how software development has become unnecessarily complex. Dave and I explore how developers can regain control by questioning established practices, trusting their intuition when code feels overly complicated, and experimenting with simpler approaches rather than blindly following industry trends.