Architects look at thousands of buildings during their training, and study critiques of those buildings written by masters. In contrast, most software developers only ever get to know a handful of large programs well — usually programs they wrote themselves — and never study the great programs of history. As a result, they repeat one another’s mistakes rather than building on one another’s successes.
This book’s goal is to change that. In it, the authors of twenty-five open source applications explain how their software is structured, and why. What are each program's major components? How do they interact? And what did their builders learn during their development? In answering these questions, the contributors to this book provide unique insights into how they think.
You must be logged in to post a review.
Please log in
2
People Reviewed This Product
By lovenemesis
Sep 6, 2011
The content is something every developer should know. However, this PDF lacks the Index, which is really annoying. Recommend to purchase the ePUB version instead.
Perfect for your 28-year-old software engineer who is midway into 10,000 hours of deliberate practice and needs a regroup.[1] Put another way, it's like sitting down at lunch with a thirtysomething programmer you respect and, while listening to her stories, realizing how many problems are truly common and how much tech (and tradition) there really is to solve them. No, seriously, I've worked on a single (wonderful) Ruby/etc. stack for years and I could feel my mind expanding while reading the stories of LLVM, Hadoop HDFS, and Graphite. Most of the 10--15 page chapters narrate well how developers used tech that I generally didn't understand to solve common but interesting problems. Reading about Erlang/OTP and Riak brought me to the limit of my current incompetence; that's good, though, because parallel computing and functional languages are where I want to improve. Maybe I'll re-read when I've hit 6,000 hours. [1] http://projects.ict.usc.edu/itw/gel/EricssonDeliberatePracticePR93.pdf