Software Mistakes and Tradeoffs

Software Mistakes and Tradeoffs / Tomasz Lelek and Jon Skeet / Manning / April 2022

Rating: 3/5 🌕🌕🌕🌑🌑

The software engineering world is not perfect, and tradeoffs are sometimes unavoidable. And now, a legend like Jon Skeet co-authored a book on this topic. I instantly clicked the “buy” button.

In the first chapter, the book outlines the general software engineering areas where tradeoffs are often being made - testing, architecture, etc. This is nice for building a mental “framework” for approaching such problems. I think this succinctly summarizes stuff that otherwise takes years to learn.

The rest of the chapters cover a lot of different and more specific technical areas, where we might need to make tradeoffs. The focus is on Java (especially the chapter regarding date & time), which is not among the trendy languages of 2022 but is good for expressing the problems. Note the content seems to be tailored to Skeet’s colleagues in Google (e.g. Protocol Buffers), which is also not necessarily bad.

The problems discussed tend to appear in real life quite often, so I’m satisfied in terms of the number of topics covered. Still, I found the coverage a bit shallow. Also, I think the book is not cohesive enough - it looks like a collection of chapters, written by each author and then glued together, that are not conceived as one whole.