Date Published: 28 February 2003
The ASP.NET Cookbook is finally 100% complete and submitted to the publisher, SAMS (as of 2/26/03). This has been quite an undertaking, and having completed the longest and hardest phase of the book writing process (author review remains, but is not nearly as arduous), I must once again say that I never want to write another book. Of course, I said that after writing ASP.NET By Example, too… So what changed my mind last time? Well, it’s a bit of a story.
It begins on 5 June 2002 when Neil Rowe, my acquisitions editor at SAMS, contacted me to ask me if I was interested in any opportunities for writing books. Due to some communications fiascos, we didn’t really start discussing the book until July, when he told me that Rob Howard was interested in contributing to the book. That meant a lot to me, since I’d known Rob for a while but never had the opportunity to work with him directly on any projects. I think it’s safe to say that if Rob had not been involved, I would have passed on the whole project. As it turned out, there wasn’t a whole lot of working together required between us for this book, but I was still happy to have a prominent member of the ASP.NET team contributing to the book. By early August I was committed to the project, and on 13 August I submitted the initial table of contents.
The other factor that helped me justify working on a second book was the fact that I was able to involve the ASP Alliance. Many of the columnists there were interested in breaking into the book writing business, and this project provided them with a way to get themselves in print for the first time. All told, almost two dozen ASP Alliance columnists contributed to the book – you can read more about them here. I think that working with the columnists was one of the most rewarding parts of doing the book, and really helped me to get a better idea of which columnists were the strongest writers and coders. Special mention to Jeremy Zongker, who was just a machine and managed to pump out way more recipes than any other contributor (except for me, of course).
So anyway, back to our story. By mid-September, Thomas Johansen had completed a recipe management system in ASP.NET that would allow columnists to reserve recipes to work on and let me track progress on the book. This would be key as the book was being written by such a large group. Once this application was launched, columnists began reserving, writing, and submitting recipes to me at a pretty fast pace. I was hoping to be done with everything by the end of October, and it looked like that might happen with the pace we were going at. I’d just quit my 40-hour-per week job as a consultant with Software Architects in August, so I figured I’d have tons of time to devote to the book.
Unfortunately, progress on the book pretty much stalled in early October. I found out that I was going to be traveling to Seattle to meet with the ASP.NET team in mid-October, right after I had just been to Orlando to meet with members of the Codewise Community in late September at VSLive (which was fun – got to drive a NASCAR race car!). Following the trip to Seattle, I was speaking at ASP.NET Connections. All of this traveling slowed me down a bit, but the clincher was a training deal that I closed in October for three weeks of onsite training from my training company, ASPSmith Ltd. Giant Eagle, in Pittsburgh, wanted me to come out in November to teach 15 students OOP and ASP.NET for three weeks. Since I hadn’t taught object-oriented programming before, I had to spend what time I wasn’t traveling in October and November preparing the course materials for these classes. Then, of course, I had to spend three weeks in Pittsburgh between November and December actually teaching the course. Finally, the holidays devoured any time that was left to me, so that between October and December 2002, the book basically sat dormant.
However, with the new year, I was determined to finish the book. I set a goal of 1 February 2003 to have the book completed, and I started working through recipes submitted by columnists as quickly as I could in January. I spent almost every working hour on the book between January 1st and February 26th, except for when other business duties called. I was almost done by 1 Feb, and I probably would have been 100% complete by the 10th or so, but once again travel intervened, and I had back-to-back weeks traveling out of town (first to the MVP Summit in Seattle and then to Columbus, Ohio for a veterinary convention with my wife, Michelle, the DVM).
So, finally, after several all-nighters earlier this week, while my one-year-old daughter Ilyana slept, I’m done with the book. I still have to go through author review and finish the book’s website so that the live demos are available and the source code is available for download, but the major work is done. I think that if I’m involved in any more books in the future, it will have to be as a contributor, not a lead author. Their task is much easier and has a much more definite end date than the role of lead author, I’ve found.
One more note – I’ve had several people ask me what they should do to get into book writing. I don’t have a lot of firsthand knowledge about proposals to publishers, since both of my books were written after the publisher approached me, not vice versa. However, I have reviewed a couple of book proposals for publishers, so I know what they’re looking for. First, they’ll want to see that you’ve written before. An ASPAlliance column or some articles on 4Guys or ASPToday would certainly help. Second, they want a table of contents with as much detail as you can manage, a summary of the main content of the book, a summary of who the target audience is, and a summary of which books already cover this topic or would compete with your proposed title. As for finding an editor, a great way to do that is to go to the publisher’s website, or to hang out on the book review forumsand lists, where editors like to see how their books are being received.
Steve is an experienced software architect and trainer, focusing on code quality and Domain-Driven Design with .NET.