The Realities of Writing Technical Books

Author: Drew McCormack
Web Site:,

Around 3 years ago, I co-authored the book Beginning Mac OS X Programming with Mike Trent. It takes a broad look at developing software on the Mac, covering as much ground as possible, from Carbon to Cocoa, and even AppleScript. As far as I know, it is the only book for the Mac that has taken this approach. As with any computer book, shelf life is relatively short, and you can now find it for free on Google Books.

When I first decided I wanted to write a book, I was very green, and didn’t know what was involved, how much I would be paid, and so forth. In case there are others out there thinking about writing a technical book, I thought I would put together a short FAQ on what you can expect if you do write a book.

Is it difficult to get a deal to write a book?

In short, no. It seems like publishers are pretty desperate for authors these days, probably because it pays so much better to simply develop software than to write about it. I have received several offers in the last few months to write books, and have had to turn them all down. Basically, if you want to write a book, you can. Even if you are not such a good writer, as long as you have some expertise, most publishers will probably work with you to get it done.

Do I need to be an expert to write a book?

It helps if you are, but it is not a necessity. You don’t have to be the world’s best programmer to write about programming. You simply have to do your research. In general, the best programmers don’t have time to write anyway. As the old adage goes: “Those who can, do, and those who can’t, teach.” A bit of an oversimplification, but there is some truth to it: you don’t need to be the best at something in order to teach it to others.

Do I need an agent?

If you write articles online, chances are you will be approached by agents. I got the gig writing Beginning Mac OS X Programming via an agent, Studio B. The advantage of an agent is that they do a lot of the legwork for you. They can try to find you a publisher for an idea you have, and can guide you a bit in the process. They take a percentage of your payment for the trouble, something like 10-15%. It is not really necessary to have an agent — you can just approach publishers directly — but they can make things go a bit smoother and take some of the administrative load off your shoulders.

How do I get a deal?

Either sign up with an agent, and get them on the case, or email publishers directly. Best to try to choose a publisher that you think will be suited to the book you want to write. Often, publishers will already have ideas in mind for book titles, and will seek authors to write them. So even if you don’t know what to write about, a publisher may already have a project suited to you. Publishers will often use agents to pair up projects with authors, so this is another good reason to have an agent.

How long will it take me to write a book?

Of course, this will vary greatly depending on what the book is about, and who is writing it. To give you some idea, I co-authored Beginning Mac OS X Programming, writing around half of the book. The book is around 700 pages long. That sounds like a lot, but source code and screen shots really do fill up a book fast. I wrote my part in around 3 months in my spare time, getting up before the sun to do 2-3 hours writing per day. After that, a technical expert checks the content and requests corrections, but these usually don’t take much more than an hour per chapter per draft.

What is an ‘advance’?

When you sign a contract to write a book, you are paid an advance by the publisher. For a first author, this is usually something in the range $5000-10000. The advance is like a loan against the royalties the publisher expects you to receive from sales of the book. In my experience, the publishers have a pretty good handle on how much they will sell, and the advance is probably very closely matched to the royalties expected for all sales. In other words, the advance is probably all you will ever see for your work.

Do I get any royalties on top of the advance?

If your book sells particularly well, it is possible to accumulate more royalties than the value of your advance, in which case the publisher will pass on these extra royalties to you. But this will usually take a few years, because for the first year or two the royalties will go to paying off the advance.

What percentage of royalties will I receive?

Royalties tend to be in the range 10-15%, depending on who you are. It’s important to realize that this percentage is not for the retail price, but the wholesale price received by the publisher, which is is around 50% of the retail price. So if your book costs $40 in Borders, the publisher gets $20, and you get $2 a copy!

Will I have to pay back any of the advance if sales are slow?

In general, you do not have to pay the advance back, even if you never finish the book, or sales are poor. You should check your contract carefully, but as a general rule, a publisher will not ask for the advance back. In that sense, it is a loan drawn against future earnings, where the risk is for the publisher.

Are there other pay offs?

Your advance and any extra royalties are the only monetary pay offs you will receive. If you do the math, it doesn’t take a genius to figure out you shouldn’t write a book for the money (unless you are a well-known author). But there are some other payoffs: If you write a particularly good book, you may gain some prestige in your professional community, or even come to be considered an expert in the field. Being an author may also look good on a CV, so it may be worth writing a book for these reasons. But the best reason to write a book is simply that you find it a challenge, and would like to do it.

How many copies of the book can I expect to sell?

Unless you are David Pogue, you will probably be surprised by how few copies of your book get printed. In my case, it was around 4000 copies. Don’t expect a best seller when you write technical books.

What about corporate work?

If you actually want to earn money from your writing, books are probably not the way to go. You are probably better off finding an agent, and getting work for companies like Apple and IBM, who pay well for online content. Of course, it may help convince an agent that you are up to corporate work if you have already authored a book.

What about self-publishing?

I can’t help feeling that the days of traditional publishing are numbered. I think more and more will be published digitally, or simply bypass the publisher altogether.

You can now publish your own books very simply via the web site, and even sell them on Amazon. You won’t have your books in the stores, so sales will undoubtedly be much less than with a traditional publisher, but your take of profits is also much greater (80% vs 10% with a publisher). Even with less sales, you may earn more going this route.

If your goal is not money but simply to write the best book you can, and have it widely distributed, then a traditional publisher is probably the way to go. They have editors and technical experts to check your content, will do professional layout and printing, and will take the pain out of creating an index.


Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Great insight!

Thanks Drew, you told me your experiences in the past and it's great to see it written down, a very open and detailed piece! I got some offers recently as well and with what you write in mind I'll be thinking at least twice about before saying yes.


If your proposed book is likely to be used as a college textbook, you should really consider self-publishing. Textbooks are ludicrously expensive, to where the average student easily pays a thousand bucks a year on them. With self-publishing you can publish much cheaper (you're not forced to pad the page count, include useless chapters of marginally relevant stuff, or use glossy illustrations and wide margins), even while retaining more royalties, if you so please.


Thanks Drew, as always very insightful.

You say "you don’t need to be the best at something in order to teach it to others". I would simply add that it may be true, however it does not hurt and it is also best to have good teaching skills. I believe you are a good combination of all of this :-)

My 2-cents...

Drew pretty much nails it. I wanted to share a few thoughts of my own.

"Do I need an agent?" I have never worked through an agent. In my experience, it has been a fairly easy matter to get book/magazine deals without one. Most of my author-friends use agents though, YMMV.

"How long will it take me to write a book?" I wrote my part over what must have been 6-12 months. I really don't remember but it was long. Like Drew I wrote about 3 hours a day, not including my day job or working on code samples. The complicating factor for me was the book transitioned between operating systems once (Panther -> Tiger) and versions of developer tools 3 times. So wrote 3 books, only one of which you see. It's tough writing for moving targets like dev tools and operating systems: you really need to have a non-ambitious plan and work as fast as possible.

"What percentage of royalties will I receive?" This comes down to the contract you negotiated before. In order to negotiate this figure you really need to have a track record of books behind you. I don't think having an agent helps in this regard. Ballpark of 10% seems standard.

"How many copies of the book can I expect to sell?" I thought we sold was closer to 5k? Anyway, rest assured your publisher is going to work as hard as they possibly can to sell all the copies of text they print. And the publishers are pretty good at forecasting how many copies they will sell. As an author, things don't get interesting for you until the publisher reprints (which is unlikely). Remember, your job is to write something quickly and of good quality so the huge marketing machine can swing into action.

Thanks for sharing your experiences, Drew!


One other advantage that Drew forgot to mention is you get a nice picture of you on the cover :-)