Professional C++
Several people have asked me what it was like to write a tech book so I thought I’d describe the overall process for the benefit of others who are considering it.

Getting the Gig
The deal came about in a roundabout way. My friend Nick had written a proposal for a general computing book for novices. He had written a proposal and made contact with a literary agent, but the book hadn’t gotten picked up yet. Meanwhile, the literary agent (David Fugate, currently of LaunchBooks Literary Agency), was asked by his contacts at Wrox/Wiley if he had any potential authors for a C++ book. He asked Nick if he’d be interested in a C++ book instead. Nick worked with David on a rough outline and all parties involved agreed that a co-author would be necessary to get the book out in time. Nick gave me a call and a few weeks later we had a deal.

Deciding to Write a Book
Writing a book is a long process that takes massive amounts of time. You may work for a year without seeing your book in print. Also, the tech book market is saturated and competes with free online resources. So you might work for a year on Larry’s Guide to Microsoft Visual Thingydo 2006 and discover that it’s only relevant for a short time and only gets you a few grand. If you actually calculated the dollars per hour you made by writing, you might opt for a part-time job at McDonald’s instead. Or Taco Bell, since you could probably sneak a few cinnamon twists without anybody knowing.

Nick and I knew this before starting, but we wanted to do it anyway. Neither of us were using a ton of C++ at work, but we both had many years of experience with it. We didn’t think that a C++ book was ultimately what we wanted our legacy to be, but we were interested for two reasons:

  1. We thought we could use the “Professional” aspect of C++ to teach skills that we thought a lot of programmers lacked. Things like how to debug, how to write tests, and how different engineering groups are run. This turned out to jibe well with what the publisher wanted and the reviews we’ve gotten show that people really liked this aspect.
  2. We both had parents who were authors and we both liked writing. To us, writing a book was inherently appealing. Even if the first book didn’t become a best seller, we thought that it was a good chance to break into the writing business.

How Book Deals are Structured
Upon signing a contract, you get an advance. This will be enough money that you can say, “Hey, I’m getting money for writing a book!” but not enough that you can quit your job. If you had a literary agent, he or she will get part of the advance. If you have multiple authors, you’ll split the rest.

Of course, the advance doesn’t technically make a difference, because it’s just an advance on future royalties. Yet the advance does seem to get kind of complicated. You might get some of your advance when you sign the contract and the rest when you turn in the last chapter. You might get an on-time bonus for meeting certain deadlines. But again, it doesn’t really matter because these advances just count against future royalties. So it doesn’t affect how much money you get, just when you get it.

The more important number is your royalty percentage. I was surprised at how many different rates there were. You get a certain royalty for the first X books sold, and this might go up for sales > X. Then you might also have a different rate for discounted books, eBooks, foreign sales, etc. Twice a year, we get a statement telling us how many books we sold in each category. Our book came out in January 2005, so the only statement we’ve received so far covered through April. It was pretty ho-hum, other than the interesting tidbit that one person returned the eBook edition — how do you return an eBook?

In any case, it’s too early to say when our royalties will exceed our advance (and I probably would get in trouble if I published that anyway) but I’ve heard from numerous people that for most tech authors, it takes about a year. So again, there is not much money in this for the authors. Make sure you love writing!

Working with Wrox/Wiley
We had a great relationship with our publisher, our editors, and our literary agent. Wrox, if you don’t already know, uses the motto “Programmer to Programmer.” They drive the point home by putting a giant picture of the authors on the cover. I find this slightly embarassing, but they wouldn’t let me use a stand-in. Instead, Nick and I ended up wearing the exact same shirt by accident and positioned ourselves so that people will probably think that I am Nick and Nick is me. Oh well.

Wrox was very involved in the outline stage. We originally wanted to cut the chapter on distributed programming, but they (correctly) insisted that it was necessary. We also originally had a chapter on group communication tools that I quite liked, but it was cut when we exceeded our stated page count. I don’t hold either of these decisions against them — I think they absolutely did the right thing. And I give them a lot of credit for letting us include all of the non-coding topics, like Extreme Programming and Design Patterns. I think that really helped set the book apart so that it wasn’t another “Chapter 4: Variables” text.

When it came to the writing, Wrox was pretty hands-off. They’d correct grammar mistakes and help us with the formatting tools, but aside from a few suggestions, they didn’t restructure our topics or anything. There were a few cases where we had to clarify technical details for the editors to determine if something made sense or not. Overall though, the editing process was very simple.

Working with Each Other
Nick and I live about 600 miles apart, so the only time we actually saw each other in person was when we had the photo taken. We talked a lot upfront about our vision for the book. We wanted to highlight the useful parts of C++ and focus on best practices instead of obscure features. We wanted the book to have an informal tone and subtle humor. I think discussing these things upfront helped a lot — reading the book now, I sometimes can’t tell if I wrote a particular chapter or if Nick did. One of the criticisms that I’ve sometimes heard with Wrox books is that they feel like disparate chapters instead of a cohesive book. I don’t think that can be said about ours.

As I recall, our schedule basically gave us time to write one chapter per week, with a one week review period in between. So Nick and I would divide up the chapters (he ended up getting all the hard material, I got the fun stuff). We’d write for a week, then review each other’s chapters, then revise and submit. We used a web-based collaboration tool that I wouldn’t recommend (though it got the job done) to track versions, we used bugzilla to keep track of issues, and we had a weekly phone call to synch up. Basically, we treated the development of the book like a software project.

Advice for Prospective Authors
Writing a book is a rewarding experience for sure. Here are some things to keep in mind if you’re thinking about doing it:

  • Get a literary agent. You’re not going to make much on your first book anyway, so you might as well sacrifice some of your royalties to have someone on your side. As Nick’s experience shows, even if your idea doesn’t get picked up, the agent might be able to help you find another project.
  • Love your topic. There will be times when you don’t feel like writing but you have to get a chapter done. There will be aspects of your chapter that you don’t particularly want to write about but you’re required to cover. It helps a lot if you love the topic you’re writing about.
  • Help your editors. Nick and I did a pretty good job of spelling things correctly and making grammar corrections before we sent drafts to the editor. As a result, our editors were less bogged down with tedium and were more able to help us with larger and more important decisions. They were also able to get edits back to us quickly so we could meet our deadlines. We got the impression that not all authors are quite as diligent about proof reading ahead of time.
  • Self-Promote. There are tons of tech books out there on every topic. Sometimes the publisher might not know some of the communitites that should know about a new book. Wrox had us fill in a marketing survey to help them decide where to send comp copies. We’ve also responded personally to every request for help on Wrox forum for the book and I’ve posted an author review on the Amazon page.

3 thoughts on “Writing a Wrox Book

  1. Nick

    Great description of our book-writing process!

  2. Aditya

    Very good compilation (as usual). I really like your way of providing information, with that slight touch of humor as you said.

    I can tell you from my experience, no humor in these technical books is the main problem in self study. And thankfully I am not facing it now that I have started using your book.

    Keep it up. Write another book.. maybe Linux. I will get one 😀

  3. Willow Brook

    Thanks for sharing your experience. I always fantasized about writing a book. Now I know that it’ll always just be a fantasy–makes it easier that way. The most profitable books are probably the ones on how to write pretty code or how to manage death marches or how to make cutsy graphics, but those too can be dated.

    Funny how it works out you have about a year to recover your royalties. I don’t even look at books over a year old unless I get them from the library. I have to admit, being a coder is a tough racket, but I love it and since I freelance, I make probably as much as a McD order taker.

Leave A Comment

Recommended Posts