This philosophy-of-programming guide presents a unique and entertaining take on how to think about programming. A collection of 21 pragmatic rules, each presented in a stand-alone chapter, captures the essential wisdom that every freshly minted programmer needs to know and provides thought-provoking insights for more seasoned programmers.
Author Chris Zimmerman, cofounder of the video game studio Sucker Punch Productions, teaches basic truths of programming by wrapping them in memorable aphorisms and driving them home with examples drawn from real code. This practical guide also helps managers looking for ways to train new team members.
The rules in this book include:
As simple as possible, but no simpler
Let your code tell its own story
Localize complexity
Generalization takes three examples
Work backward from your result, not forward from your code
The first lesson of optimization is don\'t optimize
The Rules of Programming combines great guidance for beginners with subtle lessons that may teach even the experts. Zimmerman keeps it fun, too - proving that it's possible to be both entertaining and instructive. Mark Cerny Lead System Architect, PlayStation 4 and 5
The Rules of Programming provides great insights for both new and experienced coders. Zimmerman's style makes it an entertaining read, and the 21 rules are an important contribution to better software at a time when technology is pervasive in every part of business and society. Paul Daugherty Group Chief Executive of Technology and CTO, Accenture.
The Rules of Programming is full of pragmatic rules of thumb which any Software Engineer can use to level up their skills. I love the mix of pithy sayings and detailed concrete examples - such as "Generalization Takes Three Examples" with many code samples putting that rule to practice. I was fortunate to learn these lessons directly from Chris early in my career, and have successfully applied them across a wide variety of software disciplines. With this book, you have the opportunity to do the same. Chris Bentzel Director of Software, Boston Dynamics
The Rules of Programming fills in the gaps that most programming books and CS departments leave outthe practices that differentiate a novice programmer from a seasoned professional. Jasmin Patry Rendering Lead, Sucker Punch
On the one hand, Chris takes a certain pleasure putting his fingers on controversial opinions. And thanks to the precise examples being brought to the readers, challenging your own way of thinking is made a lot easier. On the other hand, Chris has put in words things that some of us are doing intuitively. Chris just made training way easier. A must read! Julien Merceron Chief Technology Officer, Bandai Namco
The Rules of Programming is a fun read and provides some insight into practical game engine development. The stories and guidelines presented should provide interesting food for thought for experienced programmers and valuable starting points for the less experienced. Adrian Bentley Development Manager, Sucker Punch
Reading this book gives you a sense of what it's like to work on that rarest of treats: the large, well-functioning engineering team. Each chapter presents hard-won lessons illustrated with code and leavened with interesting anecdotes from some very successful projects. Above all, Zimmerman's book inculcates a proper sense of developer humility working in a collective manner that acknowledges, and is resilient to, normal human fallibility and the gravity-like pull of complexity in growing projects. Reading this as a group would be a great team exercise. Jan Miksovsky graphorigami.org
The Rules of Programming deftly articulates a lifetime of real-world engineering lessons into a fantastic handbook of core concepts that are both helpful reminders to experienced developers and a guidepost to those just starting their journey as software engineers. If you're looking for practical ways to ensure the success of your project, you need to add this book to your library. Wes Grandmont III Lead Technical Art Director, Sucker Punch
I really appreciate the set of helpful tools Chris provides that can be used for those critical 52/48 design/coding decisions that come up so often. David Oliver Principal Group Engineering Manager, Microsoft
This book belongs in every professional software developer's toolkit. It is full of techniques that are sure to increase your productivity and your team's, reduce bugs, and result in more easily maintainable and extensible software systems. Chris Heidorn Senior Staff Engineer, Sucker Punch
From the Author
I decided that writing a book would be way more fun if it benefited a good cause. And I couldn't think of a better organization to support than Girls Who Code, the direct recipient for all royalties from this book.
Girls Who Code is working hard to help young women discover just how rewarding programming can be. When I graduated from college, over a third of computer science graduates were women. These days, it's more like a fifth. That's ridiculous. I think we'd all be better off with a more representative gender balance. You probably do, too. And supporting Girls Who Code through donations or volunteering is a step toward making that hope a reality.
Or even the small act of buying this book. Learn to write better code; support a good cause. Everybody wins.
About the Author
Chris Zimmerman co-founded the video game studio Sucker Punch Productions in 1997 and led the coding team through twenty-plus years of successful video games, including three Sly Cooper games and five inFamous games, culminating in 2020's Game of the Year candidate Ghost of Tsushima. He split his time between designing and writing code, like the melee combat in Ghost, and the day-to-day work of building and managing a twenty-something person coding team. Prior to Sucker Punch, Chris spent roughly a decade at Microsoft, but the things he worked on there were much less interesting. He graduated from Princeton in 1988, and as a result owns more orange clothing than you do.