The Best Software Writing I: Selected and Introduced by Joel Spolsky (英語) ペーパーバック – 2005/10/19
Kindle 端末は必要ありません。無料 Kindle アプリのいずれかをダウンロードすると、スマートフォン、タブレットPCで Kindle 本をお読みいただけます。
* Will appeal to the same (large) audience as Joel on Software
* Contains exclusive commentary by Joel
* Lots of free publicity both because of Joel’s influence in the community and the influence of the contributors
Joel Spolsky is a globally recognized expert on the software development process. His web site Joel on Software (JoelonSoftware.com) is popular with software developers around the world and has been translated into over 30 languages. As the founder of Fog Creek Software in New York City, he created FogBugz, a popular project management system for software teams. Joel has worked at Microsoft, where he designed Visual Basic for Applications as a member of the Excel team, and at Juno Online Services, developing an Internet client used by millions. He has written two books: User Interface Design for Programmers (Apress, 2001) and Joel on Software (Apress, 2004). Joel holds a bachelor's of science degree in computer science from Yale University. Before college, he served in the Israeli Defense Forces as a paratrooper, and he was one of the founders of Kibbutz Hanaton.
Amazon.com で最も参考になったカスタマーレビュー (beta)
Myself, I'm not much on the article reprints. Granted, these are solid articles. But many can be found of the web and a book which could just as easily be implemented as a set of links on a web page with some annotations seems like a waste.
There are some jewels in here. In particular the Ruby introduction by "why the lucky stiff" which is just freaking awesome. Why APress decided to reprint his work as opposed to just get him to write a whole book is beyond me. He is a real talent in the world of engineer/authors. Especially given some of the competition, which from many proposals I have read have the writing skills of preschoolers on meth.
The topics in the book vary too widely for me to recommend this to any particular sub-group of engineer. These articles will be enjoyable to any career engineer who has a passion for the profession.
Joel Spolsky has gathered a number of blog entries, essays, and speeches that showcase (in his opinion) the best writings by software professionals. He feels (and I have to agree) that most programmers and developers will avoid writing at all cost, and as a result are not very good at it. You end up with either indecipherable ramblings or dry monotone typing that is akin to enduring some form of medieval torture. And I confess... I probably have strayed into both those areas a few too many times for the sanity of my readers. But by showcasing techno-geeks that can write coherently and with a touch of humor and entertainment, Spolsky hopes to raise the overall level of writing competency in the industry. I don't know if he'll be successful, but it definitely can't hurt...
Because the writings cover a wide range of topics, there's something for everyone. Or conversely, not everything will appeal to every reader. "Style Is Substance" by Ken Arnold is (for me) a great piece that advocates making programming style a built-in element of a language. Think of the time you'll save by killing off all style wars up front. The cartoon piece "Excel As A Database" will cause all developers to think Rory Blyth must work somewhere in their company with their users. And "A Quick (And Hopefully Painless) Ride Through Ruby (With Cartoon Foxes)" will, although rather strange, give you more information about Ruby in a shorter period of time than you ever thought possible. On the other hand, "A Group Is Its Own Worst Enemy" by Clay Shirky was something I seemed to have to slog through. You may well have just the opposite reaction on any or all of these. It's one of the fun things about this compilation... :)
While you can obviously go out and find all this stuff on-line at the various sites, odds are you won't find what you don't know about. Joel brings together a nice mixture of thoughts and concepts, all packaged within an expert writing style. If you're a professional developer, you probably should pick up a copy and see how writing can be done well...
Joel on Software (his Web site slash blog) fans won't be disappointed in the selection of authors as they deal with the concepts he writes about on his site. Some readers may be expecting a book solely on software development. Even Spolsky's writings goes beyond this. Some folks might be disappointed that most of the articles, blog entries, speeches, and essays are available somewhere on the Web. I only recognize a few of the authors and their articles, so I would've never known about the others had I not found this book.
The essays cover a gamut of development-related topics. They include coding style, outsourcing programmers, dealing with Excel as a database, using social software (Friendster, LinkedIn, Tribe, and all that) and the things that are right and wrong withthese shared spaces, emerging digital rights, and defining the two-phase commit process a la Starbucks. Even a couple of them are nothing but comics. The one on Windows search makes me laugh.
The book also contains business-related essays that address a few problems affecting many companies -- namely team compensation and forced overtime which often spills over the weekend. Spolsky introduces every essay and includes notes clarifying abbreviations, names, or terms that aren't widely known. After all, the world of software is vast and it's impossible to know everything about it. I want to make sure it's clear -- Spolsky does NOT contribute an essay in this book.
A manager can benefit from the book because of the insight into the developer's perspective which could help the manager become a better leader. The developer benefits because many of the issues covered can impact developers no matter what language is used for development. If you belong to neither management nor development, the best way to decide if the book is for you or not is to review the table of contents and reviews. If you find only one or two interesting possibilities, search for them online instead.
I'm one of those who belong to neither group. My software organization background has been along the lines of an analyst and process manager. Even I find that most of the essays are enjoyable or educational. Only one or two lost me.
While most of the content is available on the Internet for free, the book is worth the bucks. It's nice having a collection of high-quality writing related to software and the business in one place instead of surfing the Web for it. Furthermore, you get an opportunity to read about business offline -- I read most of the book while traveling on an airplane. Thanks to the book, the flight felt shorter. I appreciated and absorbed the essays better by reading them in the book than I would have had I read them online.
I've been a regular reader of Joel's site for many years, and many of the themes Joel has been writing about (social software, outsourcing, the dangers of measuring the performance of individuals using simple bug metrics, and sales and marketing of software) are reflected in the included essays.
Many of the authors have already published books of their own (Bruce Eckel, Paul Graham, Mary Poppendieck and Ron Jeffries come to mind), but regardless of whether they've been published before or not, the writing is consistently good. This isn't surprising, since according to the back cover, the goal of the book is to show-case good writing, and since Joel himself is a very good writer.
I had read a few of the essays before the book was published (and in the case of "Great Hackers" by Paul Graham, I had actually listen to it, thanks to ITConversations), but most of them were new to me. They cover a lot of different angles on software development, from how to format your code, to forced overtime.
The best essays in my opinion are "The Pitfalls of Outsourcing Programmers" (a short but well argued piece on why outsourcing many times isn't such a good idea), "Strong Typing vs. Strong Testing" (on the benefits of automatic unit tests) and "Style is Substance" (why not standardizing on one coding style - why not indeed).
Actually, as I look through the contents to pick which essays I liked the most, it is hard to choose. Many of them are really good. I have to pick a few more: "Measuring Testers by Test Metrics Doesn't" (with a great example of exactly how this can create a lot of extra work without adding any value), and the cleverly named "How Many Microsoft Employees Does It Take to Change a Lightbulb?" (explaining how a seemingly small change ripples through a big company).
Also, honorable mentions to Clay Shirky's two entries about social software (I had read both before, but they are very insightful and worth re-reading) and to Eric Sink's about software sales and marketing.
The least interesting for me were "Processing Processing" (musings on the nature of the web) and "Passion" (about passion for programming, which is a good subject, but this essay just didn't work for me).
There are also a couple of entries in the "Humor" category. The second essay is a hilarious send-up of the crappy Windows search, and the last essay made me laugh aloud several times. It's a quick tour of Ruby (the programming language), but with lots of stream-of-consciousness side tracks. And cartoon foxes! Not to be missed.
Joel's introductions are generally good and add to the experience. There is also a liberal sprinkling of footnotes, where Joel explains certain names and terms. Mostly this is OK, but it goes over-board sometimes. Given that this presumably is a book the will mostly be read by software developers, do we really need explanations of API-call, iTunes or Skype?
I suspect this collection will be followed by a "The Best Software Writing II", and I'm looking forward to reading that one too. By the way, since all the essays were culled from the web, you can probably find all of them just by surfing. But for me, it was worth it to have them all collected in book-form.
To summarize, a varied collection of interesting and well written essays on software development. Recommended.