Writing a technical book

Recently, I’ve finished writing a technical book, called Developing Conversational Interfaces for iOS, which will be published by Apress early next year. Writing a book is a very different experience than writing code or blogging. That’s why in this post I will share my impressions from that interesting journey. I hope other developers who want to try themselves out in the book publishing industry will consider my findings helpful.

Blogging as a preparation

A journey of a thousand miles begins with a single step.

When writing a book, similar to other challenging tasks, it’s always best to start small. Blogging is good because you start to develop your writing skills and get a feeling whether this is something you can do in much bigger volumes. Also, you can get a feedback whether the content you are writing is of a desired quality. Analytics are the biggest indicator for that – the visits and followers you attract to your blog can quantify the quality of your content. This is mostly true for engineering/developer blogs.

With blogging you can test the market with the topics you have in mind. This is the chance to go wide and explore different areas and technologies before going deeper in the one that looks most interesting. For example, my first posts were about Swift programming paradigms, functional reactive programming and similar – which are great topics, but you can find them in many other iOS blogs. Then, I’ve started writing about conversational interfaces on iOS, a topic which is still not explored a lot and the visits started increasing.

Pick a topic

After the initial experimenting period with blogging, it’s time to pick a topic that you will focus on and it will be the bases of your book. There are two key points that need to be considered when deciding on a topic.

  • You have to be really interested in the topic. Steve Jobs once said “the only way to do great work is to love what you do”. If you want to write a great book, then you have to love the topic, because you will spend a lot of time on it.
  • The topic has to be really interesting for the readers. If the topic is not trendy, over-explored by other books, boring or not useful, then there’s no point in writing it, no matter how much you love the topic. You should find something that will bring new value to the readers.

The conversational interfaces topic ticked both boxes for me. There is currently no such book on the market, so I thought I should try to do that first.

Start writing

After you have done enough research, collected enough knowledge and written few blog posts, it’s time to start with the real deal. I think it’s best to start writing the book as soon as possible and have the concept and most of the content before trying to get a deal with one of the big publishers.

First, it’s easier to write if you don’t have pressure of tight deadlines. Second, it’s easier to convince the publishers that you can deliver the book, if you have the majority of the book already written. They also take a risk in such contracts, they have expenses like editing, tech reviews, copyediting and printing.

That was my approach, anyway, and I think it turned out good. After I’ve collected the initial material from my blog posts, I’ve started copying everything in Word, fixing things and converting the blog-style writing into a more book-like style. When I’ve finished 120 pages, I’ve started thinking about how I want to publish my book and I had one big dilemma.


The dilemma is whether you want to self-publish your book or delegate this to one of the book publishers. Initially, I was more into the first idea. Do everything by myself, hire an editor, a copyeditor, tech reviewer and arrange printing of the book with a printing company. For an editor and copyeditor, it’s a bit challenging to find, since the person has to both be very proficient in English and to have at least some IT knowledge. Finding a tech reviewer was the easiest part for me, since I’m surrounded by brilliant IT professionals who could do the tech review for me and I already had a person in mind. Then, when I’ve called several printing companies, they have started asking me questions I had no idea how to answer, since I have zero experience in this industry. I was just saying I have one book as an example, it needs to be done in a similar quality to that.

The book that I had in front of me was Pro Multithreading and Memory Management for iOS and OS X, from (you’ve probably guessed it) Apress. It served me as a reference on how a book should look like. I thought to myself, I really like how this book is designed and printed, so why not publish my book with Apress, so it looks just like that?

And that’s what I did. I’ve send a book proposal to Apress, they have a Word template for proposals. In the proposal, beside the topic, you have to provide information like expected deadlines, number of pages, how you can help in marketing the book (your online presence). Also, you need to provide rough overview of the chapters. If they are interested, they will send you a contract and you can start writing.

The contract is pretty standard and protects both parties. My obligation is to deliver quality content in the defined timeline and act on potential remarks from the reviewers during the process. The publisher’s obligation is to find and coordinate a team of editor, tech reviewer and copyeditor, do all the preparations for printing and publishing the book. In other words, all the things I don’t know (and don’t want to learn). Apart from that, all the costs are handled by the publisher and I’m also paid to write the book. I still hold the copyright, but Apress has license to use it in any way they want. For that, I will collect percentage of the sales (royalty).

For a new author, that’s pretty fair deal, because it’s more likely for people to buy your book if it’s published by big publishing house like Apress. If you self-publish it, of course you get the full revenue for you, but that makes more sense only if you are already a popular author. Part of something is always better than whole of nothing – your sales would probably be much lower if you are self-published new author.

The process

After I have signed the contract, I’ve officially started working on the book. During the approval process with Apress, I was writing in parallel and I got to 180 pages. They have sent me style guides and Word templates and my first task was to convert the book into the Apress template. That is pretty boring work, copying and pasting things, adjustments and setting the appropriate style for every paragraph, adding image captions, code listings and so on. I’ve managed to convert the book in a week (also I’ve fixed some errors in the content) and those 180 pages were actually 200 in the Apress template. That meant I already had the first draft of my book.

After you submit the first draft of the book in their system, a development editor reads the chapters to get a feeling about the quality of the content, the style of writing and the level of English. This is just a check whether the content is mature to go to a tech reviewer. The tech reviewer is a known expert in the technology which is a topic of your book. For me, it was a member of the most popular site for iOS development, raywenderlich.com. The feedback I got was very insightful, it’s very interesting to get a look from the outside. The proposed improvements were mostly in providing more code in the book, so users can follow step by step. I’ve imagined it more like reading it through to get an idea of the concept, then checking the source code provided for more details.

In the second iteration of the book, I’ve added more code and explanations, in order to be easier for the readers to follow along. The size of the book grew to 250 pages, so I had to cut it to around 220 (the arrangement was for 200 pages). After you submit the second version, the development editor goes through the comments by the reviewer and checks whether they are fixed.  That went smooth for me and the book is now in production.

In production means that now they do copyediting of the book and they are preparing it for printing. They will send me a final version beginning of January and the book should be out in mid-January.



Writing a book is very interesting experience. Before starting with the process, I’ve read few posts that were discussing how frustrating the whole experience was. However, I don’t think it was bad. For me, it was very focused work on several weekends. The research and blogging before made the job a lot easier. We will see how it goes with the sales and I can’t wait to hear the feedback of the readers.



One thought on “Writing a technical book

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s