Saw a good blog post on Programming Book Profits by John Resig. I can confirm almost everything he wrote in his blog and feel it is useful for potential authors to understand what they are getting themselves into. Here are some ways my experience was different than his:
1. Almost all of my books have sold over 5000 copies. It is true that 5000 is a magic number for book publishing; however, as competition increases that magic number is rising to around 7500 for you to consider that your book has done "well".
2. Your profits from your book are not the right way to guage its success. My career success from book writing and the number of doors it has opened has FAR outstripped the profits I received.
3. It is possible to get a "hit". For example, my book "Java for C/C++ Programmers" did very well -- it was my first time receiving a royalty check close to 20k right after the book published. So, what is different there ... It is important to remember that book was one of the first 5 (I actually believe it was number two or three) on the market. Thus, timing does play an impact on your sales. So does writing articles in magazines.
4. After that hit, I had a tough decision to make ... did I want to "chase the technology?" When new versions of a technology come out, you and your publisher need to decide whether you want to keep putting out new versions. On the publisher's side if you have not sold over 5k copies (and now 7.5k) it is a tough sell. On your side, do you want to keep getting on that merry go-round for version updates? I did that for awhile but don't like doing it and have not done it since Java 2 for C/C++ Programmers (we also had a Java 1.2 version).
5. I recently experimented with publishing my own technical book. See Information As Product. Earnings not in and the experiment was interesting so it is too soon to report on this method. I can tell you that I have made money on the deal so it is net-positive. One important point about this, I do not recommend doing this for your first or even your second book. It is important for you to have a good enough concept and writing skills for a publisher to pay to publish your book. I live this as a more general rule: don't do something without the proper pre-requisites. In other words, be prepared for what you want to do. One other example of this, I would love to write a fiction book but would never publish it myself ... I want the book to be good enough for a publisher to want to publish it.
6. An interesting point about my last book, is that I decided to write it alone. That is another important aspect ... writing books on your own (I have done that four times) and writing them in collaboration with other authors. I enjoy both for different reasons. First, it is important to write a book all by yourself to work through the process of crafting a complete message. My book: C Pointers and Dynamic Memory Management exploded from me full form. My latest book: Information As Product was crafted over five years and mostly came to fruition via my time at the Department of Homeland Security. I decided to write my last book by myself because I again wanted full control over the process. Writing with co-authors very much depends on the quality of your co-authors and how strong a leader the main author is. Most of my co-authors have been superb and I am proud to see that many have repeated the process by writing another book with me.
7. One disagreement I have with John Resig's article is to watch Amazon sales. I have done this and it will drive you crazy. In fact, since the correlation is often poor - in the end it is frankly just not worth the time expended. Spend the time you would have wasted on that into building more cool projects. Also, other publishers have better sales tracking -- John Wiley and Sons, Inc. does a good job of reporting monthly sales figures. I have currently been with three traditional publishers and one print-on-demand (POD) publisher. All the publishers I have worked with report sales figures pretty well ... it is true that there is no way for you to verify the sales ... but unless you are going to start your own publishing company you will just have to live with that.
8. The speed of writing books varies greatly over time. My first book I blasted out in three months. My last book I pecked at over a year and a half. All my books have ended with an intense final month of working late every night to reach the finish. I cannot stress this next point enough: ALWAYS FINISH STRONG. Most people are great at starting things and suck at finishing. I have worked hard at disciplining myself to aggressively drive towards finishes to insure that I accomplish what I intended.
9. I am happy to report that I am writing another book. It is too early to discuss it but it will be with three other co-authors. Why am I doing this? Simple: the book needs to be written. In fact, that is exactly the same motivation I had for writing my last book. In fact, except for my brief spate of "version chasing"... this has been my most important motivation for everyone of my books. I felt I had something to say than needed to be said. I would encourage you to make that your motivation. Forget about the profits and focus on WHY you feel the book must be written.
10. In closing, I want to encourage everyone out there to write a technical book. The process in itself it worth doing. The collaboration with other good technical minds is worth experiencing. Though I am busy and cannot promise immediate feedback, if you want more advice on a topic you are considering or the process in general - use my website contact form to get in touch with me. Put "[NOT WRITING FOR PROFIT]" in the subject so I can make sure I can differentiate it from all my other email.
Best wishes, - Mike