Coding Horror

programming and human factors

Do Not Buy This Book

A few friends and I just wrote a book together: The ASP.NET 2.0 Anthology: 101 Essential Tips, Tricks & Hacks.

The ASP.NET 2.0 Anthology: 101 Essential Tips, Tricks & Hacks

I met K. Scott Allen, Jon Galloway, and Phil Haack through their excellent blogs. That online friendship carried over into real life. We always thought it'd be fun to work on something together, and when the book project materialized, we took it on. It was a natural fit for a group of established bloggers who have suffered the slings and arrows of three versions of ASP.NET; we have war stories to share.

But do not buy this book.

Why buy what you can get for free? As long as you have a blog, live in the US or Canada, and promise to write a review of the book, I'll mail you a free review copy. (I apologize to my international readers, but the international mailing process is just too onerous.) Shoot me an email containing a link to your blog, and your mailing address, and I'll send out the book. I have five to send, plus my fellow authors might have a few additional copies to contribute. I sent as many as I could on a first come, first served basis.

But there's another, more important reason you shouldn't buy this book. It's a technical book tied to a specific technology, and I'm not sure those kinds of books have a future. Don't get me wrong. This blog was founded on the concept of a recommended developer reading list. I have a deep respect for books and authors. I recommend books all the time-- but never highly technical books. I stock my shelves with books about timeless concepts such as design, process, people, and craftsmanship. Do highly technical books tied to a specific technology have any reason to exist in an era of ubiquitous, high speed internet access? I wonder. I think they're increasingly irrelevant, and almost by definition out of date by the time they manage to hit bookshelves.

I think back to the highly-rated technical books I bought on Amazon in 2002 when I was learning .NET. Embarrassingly, I never even cracked open most of those books. I spent the majority of my time learning by browsing articles on the web, downloading and modifying code. Maybe I'm too impatient, but I found the internet such an effective and immediate companion that the books I bought couldn't possibly compete. I realized five years ago that technical books were almost obsolete. I don't see anything today that would cause me to change my mind; if anything, the rate of obsolescence has accelerated.

As I went through the book writing process for the very first time, I also found that being an author isn't nearly as glamorous as one might imagine.

  1. Writing a book is hard work. For me, writing blog entries feels completely organic, like a natural byproduct of what I already do. It's not effortless by any means, but it's enjoyable. I can put a little effort in, and get immediate results out after I publish the entry. The book writing process is far more restrictive. Instead of researching and writing about whatever you find interesting at any given time, you're artificially limited to a series of chapters that fit the theme of the book. You slave away for your publisher, writing for weeks on end, and you'll have nothing to show for it until the book appears (optimistically) six months down the road. Writing a book felt a lot like old fashioned hard work-- of the indentured servitude kind.

  2. Writing a book doesn't pay. I'd be fine with the relentless grind of writing a book if you could make a reasonable living at it. According to Mike Gunderloy, less than 30% of computer books sell enough to generate any royalties whatsoever. I suspect far fewer sell enough for the authors to achieve the same wage they could by working a traditional job.

  3. Anyone can write a book. Even if books make no financial sense, perhaps the ancillary benefits can make the effort worthwhile. I won't lie: you'll get a little thrill the first time you ego-search Amazon and see your book in the results. There is a certain prestige factor associated with being published; people are impressed by authors. To me, these are ultimately empty accolades. Anybody can write a book. The bar to publishing a book is nonexistent; with sufficient desire, any would-be author can get published. Just because you've published doesn't mean your book is worth reading. It doesn't mean your book matters. It just means your book exists. Far from being impressive, that's barely meaningful at all.

  4. Very few books succeed. Anyone can author a book. But precious few can author a successful book. For books, the only meaningful success metric is sales, as you have no way of directly measuring eyeballs. In the physical world of published atoms, blockbusters rule. Nothing other than the biggest of hits moves the sales needle enough to register. Bruce Eckel says less than 1% of books are actually successful. At best, 99% of books will have a brief peak of sales-- hopefully enough to earn back your advance-- and then crash directly into irrelevance and permanent out-of-print obscurity.

In short, do not write a book. You'll put in mountains of effort for precious little reward, tangible or intangible. In the end, all you will have to show for it is an out-of-print dead tree tombstone. The only people who will be impressed by that are the clueless and the irrelevant.

As I see it, for the kind of technical content we're talking about, the online world of bits completely trumps the offline world of atoms:

  • it's forever searchable
  • you, not your publisher, will own it
  • it's instantly available to anyone, anywhere in the world
  • it can be cut and pasted; it can be downloaded; it can even be interactive
  • it can potentially generate ad revenue for you in perpetuity

And here's the best part: you can always opt to create a print version of your online content, and instantly get the best of both worlds. But it only makes sense in that order. Writing a book may seem like a worthy goal, but your time will be better spent channeling the massive effort of a book into creating content online. Every weakness I listed above completely melts away if you redirect your effort away from dead trees and spend it on growing a living, breathing website presence online.

That said, some people are quite successful writing technical books. Did I mention that I co-wrote a technical book with my friends? Many people find such books quite useful.

Unfortunately, I'm not one of them.

Update: Charles Petzold has posted his thoughts on the current state of technical book publishing. Needless to say, it's highly recommended, as Charles has a lifetime's worth of experience on this topic.

Written by Jeff Atwood

Indoor enthusiast. Co-founder of Stack Exchange and Discourse. Disclaimer: I have no idea what I'm talking about. Find me here: http://twitter.com/codinghorror