#Book Review
206 articles
Everyone's Computer Science
A review of Everyone's Computer Science. A book for compactly grasping the big picture of computer science by its key points. Rather than diving deep into each topic, it is just right when you want a map of the CS field.
Introduction to Monitoring
A review of Introduction to Monitoring (Practical Monitoring). A book for learning the fundamentals and practice of monitoring. It covers the essentials of what and how to monitor while avoiding anti-patterns, a good primer when you are starting to learn monitoring.
97 Things Every Software Architect Should Know
A review of 97 Things Every Software Architect Should Know. A book that lets you learn the attitudes and mindsets of renowned software architects as 97 short essays. Though fragmentary, it exposes you broadly to the perspectives and disposition of an architect.
Understanding System Programming with Go
A review of Understanding System Programming with Go. A book for learning low-level-ish system programming through Go. Touching on the internals of standard packages, it lets you understand how programs interact with the OS by getting hands-on.
Evolving Architecture: Supporting Continuous Change
A review of Building Evolutionary Architectures. A book for learning approaches to architectures that can keep adapting to change. Centered on using fitness functions to protect desired qualities, it also makes you feel how hard it is to design functions that actually work well.
Learning Software Structure and Design from Clean Architecture Experts
A review of Clean Architecture. Rather than giving a strict definition, it describes the traits and rules of a design that can be called clean. It frames the goal of software architecture as minimizing the people needed to build and maintain a system, explaining dependency inversion through polymorphism and independent deployability and developability.
Understanding System Performance Through Illustrations
A review of Understanding System Performance Through Illustrations. A book that clearly explains the basics of system performance with diagrams. From how to think about bottlenecks onward, it helps you build a foundation for performance-aware design and tuning.
The UNIX Philosophy
A review of The UNIX Philosophy. A book that distills the thinking and philosophy behind UNIX into just 150 pages. Packed with ideas applicable to coding and design in general, like small is beautiful, it is something you will want to revisit whenever you face a design challenge.
Learning Software Testing Techniques for the First Time
A review of Learning Software Testing Techniques for the First Time. A book for learning fundamental software testing techniques like equivalence partitioning and boundary value analysis. A fitting first read for those who have never written test code.
Starting with Go Language
A review of Starting with Go Language. A relatively gentle introduction to Go. Since it walks through the syntax and basic usage in one pass, it suits those new to Go in taking their first step.
Being Geek: Career Strategies to Stay a Geek
A review of Being Geek. Written by a geek, but even non-geeks who are engineers can learn a lot from it. The mindset and attitude of being an engineer are candidly told in a slightly quirky voice, making it a book you will want to keep close and revisit.
Test-Driven Development
A review of Test-Driven Development by Example. Kent Beck's foundational TDD text. Through worked examples, it teaches how to grow a design by writing tests first and turning the red-green-refactor cycle. The first book to reach for when learning TDD.
Lean Startup
A review of The Lean Startup. A bible of the lean startup approach. Based on lean manufacturing, it teaches how to rapidly validate uncertain ventures by turning the build-measure-learn cycle.
Legacy Code Improvement Guide: Refactoring for Maintenance Development
A review of Working Effectively with Legacy Code. A book that systematizes practical techniques for tackling legacy code that lacks tests. Centered on concepts like seams, places to insert tests without changing behavior, it teaches how to make changes safely, step by step.
Programming Language Go
A review of The Go Programming Language. A canonical book for learning Go. With accurate, concise explanations from those close to the language's design, it covers the core from syntax to concurrency. A standard to keep on hand if you work with Go.
Web Application Development with Go
A review of Web Application Development with Go. Assuming a basic understanding of Go, a book that digs into the practical side of web application development. It lets you learn the flow of building web apps in Go along standard conventions.
Lean UX - User Experience Design with Lean Thinking
A review of Lean UX. A book that brings lean thinking into UX design, advocating an approach that creates value while rapidly validating hypotheses. Rather than fixating on deliverables, it teaches how a team refines user experience while learning together.
Running Lean: Practical Lean Startup
A review of Running Lean. A book worth reading if you are involved with startups. Starting from validating the problem, it lays out a practical way to rapidly iterate and test a business idea. It also helps when launching a new venture.
Eric Evans' Domain-Driven Design
A review of Eric Evans' Domain-Driven Design. The foundational DDD text, dense enough that even a reading group struggles to fully digest it. It drives home that understanding and interpreting the domain matters even more than how you express it in code. A classic worth revisiting over time.
LEAN ANALYTICS: Data Analysis and Utilization for Startups
A review of Lean Analytics. A book worth reading if you are involved with startups. Covering how to choose metrics and use them according to your business stage, it also helps beyond startups when you want insight into web-based businesses.