I am not an expert. I have co-authored a single book in 2017 called Cloud Native Infrastructure for O’Reilly Media. Many people have asked me what it was like so I will attempt to explain the process, time investment, and financial incentive here.

This was my experience. If you have written a book, or would like to, I promise your experience will be different. Nonetheless, I hope you can learn something from the things I learned.

Process

The process was about what I expected. I was introduced to Brian, our first of three editors, from someone I knew who was already writing their third book. They thought I might be a good fit for what they were looking for so they made the introduction.

I thought about it for a couple weeks and then submitted a formal book proposal which entailed filling out a Word document template and emailing it to the editor. I didn’t hear back for about 3 weeks and then, after a follow-up email, heard the proposal was approved. After a kick-off call it was suggested that I find a co-author to help write the book. I had a week to find one and then needed to sign a contract with O’Reilly for dates and deliverables. I interviewed a few people and Kris Nova and I complemented each others skills perfectly for the content we wanted to cover in the book. She agreed it sounded like a good topic and she was excited to take on the challenge.

The contract seemed fairly standard and focused around content ownership and royalties split. The default split between authors is 50/50 which we stuck with. The contract stipulated that Kris and I own the copyright for the content, but O’Reilly has exclusive rights to use the content any way they see fit throughout the world now and in the future for the duration of the copyright.

Once the contract was signed there was a steady pace of work as we both figured out how to lay out content and what we should write about. O’Reilly provides a platform called Atlas for writing which is quite good. You write in plain text AsciiDoc and then O’Reilly’s Atlas platform can generate a PDF, or other formats, via the web interface or API. We both used atlas-cli to generate PDFs as we wrote. Generating the PDFs was a good feedback loop on the content. It helped make sure formatting was right and also allowed us to take a step back to read what we wrote.

Atlas works as a remote git repo but Kris and I chose to mostly work out of a private GitHub repo. We originally envisioned making pull requests to collaborate on each other's content but that didn’t happen as much as expected. Atlas has editing tools and some additional features available but we mostly just used it as a git remote URL.

On March 1st we were assigned our cover animal which Kris and I named Andy O’Connor the Andean Condor. We were pretty excited to see the cover for the first time even if the subtitle went through multiple revisions. We didn’t get to pick the animal or the picture. We were told up front we wouldn’t get to pick the animal so we knew what to expect. We were also told that Tyrannosaurus Rex and unicorns are not allowed.

We kept writing until the 1/2 draft was due in early June. We turned it in and got less feedback than we expected, but it was still good to have a fresh set of eyes looking at it. We didn’t like what we had created. We had written almost 6 chapters and threw away 3 of them. The first two were heavily edited and the remaining chapter was trimmed down significantly and turned into an appendix.

We had some more planning meetings and came up with a revised outline that we submitted to our editor for review. By this time we were on our 2nd editor who wasn’t very familiar with the project so we got very little feedback and went with what we had.

We kept writing with minimal interactions with our editor until we were really close to needing the full draft due. I had sent select chapters to friends to look at and tried to incorporate the changes they suggested.

The first Tuesday of September the full draft was due and then went into a review process. There were technical reviewers we were able to suggest but mostly O’Reilly pulled from a pool of their trusted reviewers. We got minimal feedback from most of them (a survey form) and one returned notes on the PDF. We had a week to make edits. During this time the draft was made available as a preview on Safari books. In retrospect I wish we had posted preview chapters sooner which was something our first editor suggested, but we were both too embarrassed to follow through.

It wasn’t enough feedback for me so I reached out to more people and sent them chapters looking for someone to tell me it sucks and why. Luckily, I found someone who would give me the harsh feedback I wanted and I had about 3 days to incorporate their changes into the book before it went off to post production.

The last push was very difficult and stressful. There were a lot of big changes on the last weekend which was a risk, but I think in the end made the book better. The final weekend we moved some chapters around and wrote a chapter from scratch for content we felt was missing.

Post production was handled by non-technical, professional editors for grammar, spelling, and general readability. I believe the first PDF came back with more than 1300 edits. Overall there were more than 2000 changes made during post. I later found out this amount of edits is fairly standard for our book length. We had about 3 weeks of emailing large, heavily notated PDFs back and forth which was no fun compared to the plain text git workflow of writing.

Post production took about a month to complete and then the book went off for printing. At the same time it was posted on Safari Books Online and immediately available. We each received 6 copies of the book in the mail shortly after it was available for sale.

All in all I worked from Feb — Oct for roughly 5 nights a week at 2–3 hours per night. I also worked about 3 weekends non-stop when a draft or final edits were due. Roughly I’d say I worked about 500 hours total. That was only my time and doesn’t include Kris’. I was lucky to have a co-author to share the load.

Some people have asked how I found motivation to keep writing. I’m a fairly driven individual and the deadlines in the contract were enough for me to put in time most nights. I wasn’t motivated enough to meet the original 250 page goal, but I was happy with the content we were able to cover and how much we accomplished.

Not a perfect depiction of work done but shows when activity happened

Kris had a different creative process than I did. She was better at mulling over a topic in her head and putting it all down in one sitting; often the week before one of the deadlines. This made me nervous on multiple occasions and was probably the biggest thing I stressed about. Everything was submitted and completed on time, but I would suggest you have a sense for how you and your co-author work together at the beginning instead of the week before a project deadline.

Throughout the writing process I felt like I finished writing multiple times. Once when the final draft was due, once when technical reviewer’s feedback was incorporated, and once at the end of the post editing process. In each case it meant we got to take a break from writing while we waited for feedback.

At the end of final edits I was done (contractually and mentally). I had read through the entire book at least three times and much of the content was starting to lose meaning. After sending the final edited PDF I wanted to stress about missing an edit before going to bed, but I was too tired to care.

Marketing and Affiliate Links

O’Reilly provides an affiliate program which was terrible to set up and in the end hardly worth the time. You get a cut from all sales that go through your link but I have never received any money from affiliate book sales. The only money I got was when someone used my link and then bought a ticket to an O’Reilly conference. To date only one person has done that and I received $200. If anyone is looking to buy tickets to Velocity or OSCON feel free to click the O’Reilly book links at www.cnibook.info and then buy a conference ticket. 😊

I attempted to set up an affiliate program for Amazon but my application was denied. Amazon offers an author central site to create a 1998 inspired author profile page and an out of date book sale statistics and rankings. I’m really not sure the point of creating the Amazon author information outside of claiming the book(s) you author and confirming that you have a terrible book rank.

While setting up these accounts is when I created the cnibook.info website and @cnibook twitter handle. Luckily the website is a static page hosted on GitHub so there is no recurring costs. The twitter account I still maintain but has minimal interactions.