Software Mistakes and Tradeoffs: How to Make Good Programming Decisions
Author(s): Tomasz Lelek (Author), Jon Skeet (Author)
Publisher: Manning Publications
Publication Date: 1 July 2022
Edition: 1st
Language: English
Print length: 300 pages
ISBN-10: 1617299200
ISBN-13: 9781617299209
Book Description
In Software Mistakes and Tradeoffsyou’ll learn from costly mistakes that Tomasz Lelek and Jon Skeet have encountered over their impressive careers. You’ll explore real-world scenarios where poor understanding of tradeoffs lead to major problems down the road, to help you make better design decisions. Plus, with a little practice, you’ll be able to avoid the pitfalls that trip up even the most experienced developers.
Software Mistakes and Tradeoffsteaches you how to make better decisions about designing, planning, and implementing applications. You’ll analyse real-world scenarios where the wrong tradeoff decisions were made, and discover what could have been done differently. The book lays out the pros and cons of different approaches and explores evergreen patterns that will always be relevant to software design.
Code performance versus simplicity. Delivery speed versus duplication. Flexibility versus maintain ability―everydecision you make in software engineering involves balancing tradeoffs. Often, decisions that look good at the design stage can prove problematic in practice.This book reveals the questions you need to be asking to make the right decisions for your own software tradeoffs.
Editorial Reviews
Review
“I can saywith confidence that 100% of software developers ask themselves at least onequestion addressed in this book.” Nelson González
“The code examples are good enough that even if you don’t have experience with Java―you can still understand what the authors aretrying to convey.” John Henry Galino
“Tomasz Lelek and Jon Skeet are here to guide developers through the minefield of software engineering.” Gilles Lachelini
“Reading this book will make you wiser and turn youinto the Yoda of the Software Engineering biz!” Gregory Varghese
“If you need a book to learn how to think like a better programmer…then this is the book.” Alex Saez
“This book is vital for every developer, from beginner to advanced, to improve your code quality and resolve common problems.”Andres Sacco
“This book holds valuable information and tips every programmer should know before doing bigger software projects.” RobertTrausmuth
From the Back Cover
SoftwareMistakes and Tradeoffs teaches you how to make better decisions about designing, planning, and implementing applications. You’ll analyse real-world scenarios where the wrong tradeoff decisions were made, and discover what could have been done differently. The book lays out the pros and cons of different approaches and explores evergreen patterns that will always berelevant to software design.
You’ll understand the consequences of certain decisions, like how code duplication impacts the coupling and evolution speed of your systems and how simple-sounding requirements can have hidden nuances with respect to date andtime information. Discover how to efficiently narrow your optimization scope according to 80/20 Pareto principles and ensure consistency in your distributed systems. You’ll soon be able to apply the author’s hard-won experience to your own projects to pre-empt mistakes and take a more thoughtful approach to decision making.
About the Author
Tomasz Lelek has years of experience working with various production services, architectures, and programming languages. He has designed systems that handle tens of millions of unique users and hundreds of thousands of operations per second. Currently, he designs developer tools for DataStax, a company that builds products around Cassandra Database.
Jon Skeet is a staff developer relations engineer at Google, currently working on the Google Cloud Client Libraries for.NET. His contributions to open source include the NodaTime date and time library for .NET, and he’s famous for his contributions to Stack Overflow. Jonis also the author of Manning’s C# in Depth, currently in its fourth edition.