There is not a single good reason known to me not to read the second No Fluff Just Stuff Anthology. Most engineers I know spend far more time coding than catching up on the latest tricks and trends in the engineering world. To those engineers, present company included, an anthology like this is invaluable. However, NFJS Anthology Vol. 2 is also grievously unbalanced.
Much material in this volume is written by agitators of the "new age" software movement, for lack of a better word. They gravitate towards weaker contracts (i.e. REST over WS-*), loose typing (i.e. Ruby over Java), relaxed processes (i.e. Agile over anything else), and so forth... While all authors are entitled to their opinions, I find it unsettling that the "new age" dogma dominates much of the publication. Brian Sletten assaults WS-* in his essay "Give it a Rest", but where is the counterargument? The three paragraphs Sletten himself offers? Or does the editor wish to suggest, quite falsely if so, that there really is no business case to explain why top enterprises leverage WS-* based solutions in spite of their cost?
How about Jared Richardson's article on JRuby titled "Integrating Ruby with legacy code"? Since when is Java considered legacy code? Since when has the free world stopped developing solutions in Java except when under the whip of mighty yet incompetent management? And once again, where is the refutation? Where is the essay on the dangers of mixing and matching languages and platforms? The weaknesses of purely-dynamic languages? Certainly not in this NFJS anthology (sorry, Jared, two brush-off bullet points don't count). And what of a counterargument to Venkat Sabramaniam's essay on Agile Methodologies? While deeply insightful into agile techniques, it also seems to offer Agile as a panacea of sorts, omitting any discussion of when an agile process may be unfitting or even crippling. Once again, shop somewhere else for the complete story.
Ultimately, the single greatest failure of this compilation can be attributed to Neal Ford's role as its editor. A quick glance at his blog allows one to glean Ford's biases with a naked eye. While the strength of Ford's dispositions does not detract from his status or credibility as a great speaker and author, it renders him unfit to edit such a compilation as this anthology. Ford goes so far as to violate a key principle of the NFJS series by propagandizing a $500 IDE (Chapter 10), while devoting less than half that real estate to Eclipse techniques (Chapter 11), despite the latter's prevalence in availability and market share. In short, Ford allows what would otherwise be an invaluable educational resource to become a hideous concoction of information and propaganda.
Fortunately, Ford's negligence toward balance was slightly tempered by the diversity and insight of several of the authors. Howard Lewis Ship's essay on testing tools and techniques (Chapter 7), David Geary's introduction to the Google Web Toolkit (Chapter 8), and Scott Leberknight's "Data Access using Spring, Hibernate, and JDBC" (Chapter 19). These chapters stand out due to both their relevance and their instructional approach. These essays teach, rather than preach, and set a wonderful example of what the rest of this volume should have looked like. While I look forward to attending this year's No Fluff Just Stuff conference in Boston and even hearing some of the people whose work I criticized in the preceding paragraphs, I hope the 2008 NFJS anthology will offer less demagoguery and more substance, less fluff and more stuff.