I canceled my programming book deal
82 points by azhenley
82 points by azhenley
Back in 2006, I was contracted to write a Smalltalk response to the Practical Common Lisp/Real World OCaml books that had shown a burgeoning interest in fringe languages. My publisher was very supportive of what I wanted to do with the book, and I didn't have any of the issues the author cites.
I think most people have no idea just how much time it takes to write a book versus how much they pay you. When I'd cranked through the first few chapters, I remember realizing that I was making roughly $2/hr if I assumed their projected sales were accurate. I had other non-tech stuff going on in my life that was worth more than $2/hr. I quit.
If you merge that kind of financial motivation with the kind of creative abuse highlighted in the article, I don't know how anything gets published, period. But I also wonder how much the publisher relationship even matters in 2025 for nonfiction. Your success or failure when writing a book hinges on marketing, and the traditional role of a publisher is to absorb that risk by handling the cost of mechanically printing the book in the right amount so that it can be a runaway success without betting the house on it, while simultaneously managing the PR for you to maximize the chance that happens. When books can be printed on-demand, and most books are read on screens, the only thing a publisher can really contribute is PR. But PR in this industry is done via social media and blogs. I worry this whole idea is about to become passee.
Just to comment about PR angle - I think you're largely correct that it's possible to do your own marketing and build publicity through the wonders of the internet, but that's very hard and requires months and years of work. So for people who just want to write and publish a book and not build an audience for a few years - publishers still arguably provide a lot of value.
After four books with a professional publisher, I am far less convinced by this. I wrote one book on Xen and it sold moderately well as the only book on hypervisor internals (it really needs an update, since it predated hardware virtualisation support on x86) and so got picked up by a few university operating-systems courses. I wrote a couple of books on Cocoa / Objective-C when OS X popularity was spiking (and the ObjC one just as the iPhone was getting third-party app support). I wrote one on Go that came out just as Go was hitting 1.0.
None of these was a spectacular success but all did reasonably well simply by existing when there was a demand (most Cocoa programmers bought one book, which is actually pretty bad and contains some terrible advice, but a market that big has a bunch of books competing for second place).
The publisher, as far as I can tell, did very little in terms of publicity. For the Xen book, they flew me to the XenSummit. That probably helped: I got to announce the book to a room containing a large fraction of the total potential market. For the Cocoa book they organised a promotion with a big book seller, but that didn’t generate many sales and they also screwed up the accounting: the discounted sales were at a lower royalty rate and the returns were at the full rate so my royalties were negative for a while until they (probably) fixed it.
publishers still arguably provide a lot of value.
The publisher of my book did virtually zero marketing - they even told me they expected me to do most of it.... but they do still sell mine as part of their online bundle, so I'm still getting ~ $200 in royalty each year, 12 years later, so like I guess they do something, but it isn't really that much.
I know the big names will market the big names, I see TV commercials for books, but for little people writing niche technical stuff? Well, I can't compare directly to self publish since I don't know, but I wouldn't do it again.
(it is kinda fun to brag about having written a book though.)
I’ve never read a programming book and don’t really see the value unless it’s academic in nature.
Blog posts tend to strike the right balance between prose and getting-to-the-point but maybe that’s just me.
I think that your comment in general is a great contribution to the discussion, but I take issue with your use of the phrase ‘creative abuse’ to describe the publisher’s behaviour. Nothing described struck me as abusive the first time I read the article, and I’ve skimmed it again just in case I missed something.
Yes, the publisher pushed to complete the work, but … that’s kind of their job. Yes, they wanted it change it slightly to make it easier to sell. Again, selling the book is their job, as is knowing (or making educated guesses as to …) what will sell is a key part of that. Wanting to work some sort of AI angle into a games programming project is really reasonable: many (most?) single-player games require some sort of AI for the player to play against.
With regards to publishers in general, I see them as middlemen between authors and readers: they know how to motivate authors to write what readers want and how to motivate readers to read what authors write. That’s a valuable service. One can write one’s perfect book for an audience of one (oneself), or for what one can imagine — or one can work with professionals to address an audience of thousands or more. Likewise, as a reader I can try to search out just the stuff I somehow know about, or I can trust e.g. that O’Reilly books tend to be awesome, and take a chance on one.
I agree with you; I was too harsh. I think I probably brought some of my own mental baggage when reading that article and colored it in an unfair way. Thanks for the call-out.
(I literally cannot edit the comment at this point, as it's too old, but removing/softening that one line is about the only thing I think I'd change. Maybe add a paragraph break.)
Incidentally, did you ever write a Practical Smalltalk? I would love to read it!
Sadly, I didn't. I need to review the contracts to see if I can put up what I wrote as-was, but the fundamental issue I ran into is that Smalltalk the language is honestly fairly banal, whereas Smalltalk the developer experience is the bee's knees. Distilling an interactive experience into a book was quite the challenge, and I myself wasn't ever really happy with what I wrote, even if the publisher at least nominally was. I'd swear I had a video of me solving the 2023 Advent of Codes with Cuis Smalltalk, but something along those lines is a lot more useful for showing what Smalltalk brings to the table, IMVHO, and it's very hard to convey that in a book.
_[edit]: if you want, this is the video of me doing that AoC demo. I did this for a colleague of mine at the time, but maybe it gives you a flavor of how I was trying to write the book
I wrote a book for Packt Publishing back in 2013/2014 and I also had to use docx - they provided a specific template to fill in, with pre-set headings (even if it didn't make much narrative sense at all, I really think chapter one in particular was hard to shoehorn into it, then butchered by the editing process, ugh bad first impression), and also offered a $5k advance and i got 16% on the paper books and some other mix of ebooks depending on how they sold it (most my recent royalty check was based on ebook bundles, which is a lower percentage, but it still counts as a sale for me even though let's be honest, nobody cares about my specific book, so this is where the publisher is doing something for me). There was also an on-time bonus of $500 for meeting all their deadlines.
I sometimes don't like mentioning them by name, Packt has a reputation of quantity-over-quality, but then I read these other posts (presumably?) with other companies and maybe it isn't that different.
I took it at the time since I was between jobs and thought it would be easy and cool bragging rights, but like so many others say.... you think you already have the material, but you don't. They approached me because of some old blog stuff, but mostly Stack Overflow answers (I think anyway) where I'd write up pretty detailed things (for a while, I alone had answered about 1/6th of all D questions, many of which going into quite a bit of extra length to explain it. all to get one or two upvotes, lol, meanwhile I write some basic, almost zero effort answer on a C# utf-8 question and get 200 upvotes. what a broken system, but i digress), so the idea was to basically copy/paste and reformat those. Should be easy, right?
Nope, I spent the next 4 or 5 months of my life just constantly under the gun, so many hours, little reprieve. I got that $500 on time bonus... but golly. I made somewhere in the ballpark of $7,000 from that book. And sure, 12 years later, I'm still getting $100 royalty checks once or twice a year, so maybe some day I'll exceed $8,000. But the vast majority of sales come in the first year or two, and.... $2000 / month for working late, yeah, depending how you account for the time, it was maybe $10 / hour, and I say actually closer to $5.
For every rich author, there's at least hundred who'd be better off with just about any ordinary job.
(btw blog posts are no joke too. I find it takes me about one hour to write something that takes one minute to read. My typical effortful blog post is about 3 hours of effort. And now a bullet point news post, which is soooo much easier to write, no need to work out a narrative and write connecting glue sentences... now people will see that and claim you're ai slop. Ugh, no, that's hand written slop! but like it's hard to keep up in the best of times.)
Is that an AI-Generated cover?
Off topic of the thread but it has that yellow AI tinge to it, even if it's not I would assume it and so the contents of the book were slop. That's the kind of thing that hurts sales. Shame about the experience of the author
Yeah, cover (and probably whole image) is clearly AI generated (look at the book spine), but I'd adsume it is "just a placeholder", as the book wasn't finished and didn't have "official" cover yet
Yeeeeap. I assume the author here generated it in lieu of a cover artist (but if the guy is making so much money, as he mentions a lot, cover artists are trivial to pay, lol), buuuuuut it could be the cover that the publisher churned out as they summarily fired all their cover artists in the wake of generative AI!
The alt-text of the image says:
An AI-generated book cover for the book I was working on, 'Challenging Programming Projects'.
It's not perfect, as browser just hide alt-text towards the users - but there is a "disclaimer" at least.
Another good post about writing a book: Teiva Harsanyi wrote up his experiences writing 100 Go Mistakes and How to Avoid Them on his blog.
That (and this) was a really insightful read. Thanks for sharing it here!
I recently completed a PhD thesis so I think I can relate and appreciate some of the experience these two have gone through. I feel having a specific attitude and a good idea of the process going in is very helpful. To that end authors sharing their experiences is good.
I wonder if the publishing of programming books is an example of Cory Doctorow's enshittification? Perhaps it doesn't map exactly onto Doctorow's 3-step process, but it seems similar. At first, publishers like O'Reilly made a small number of revered, authoritative books. I don't know if authors made much profit from them, but they definitely got prestige. Once the publishers had built a reputation, they started churning out high volumes of low-quality, extremely specialized and short-lived books. Then a new publisher will come along (or maybe just a new imprint of the same company) and repeat the process. But who knows, in the AI era this cycle may be finished.
Once the publishers had built a reputation, they started churning out high volumes of low-quality, extremely specialized and short-lived books.
I think some of that is simply playing to whatever audience is still left. In the 90’s and 00’s bookstores moved a lot of tech books (presumably, anyway, they certainly stocked a lot more and had a larger selection), but starting about 10 years ago or so, it seems like all major brick and mortar stores pared their selection to almost nothing. That’s also about the time, in my mind, that you started seeing slimmer more focused books, a larger emphasis on ebooks and bundling, etc.
O’Reilly is an unfortunate case though, their books generally were an order of magnitude better than other publishers. They still have a gem or two. They do seem like a textbook case of enshitification though - they built up a solid technical reputation, then slowly started moving everything into their subscription only Safari platform, pulling in universities and companies, then they effectively put everything behind a subscription. They used to have a pretty conventional site that let you browse, preview, and purchase. I had a nice catalog of stuff from them, then everything went behind safari and you needed a subscription, or a “special link” that both gave you access to what you’d purchased, while simultaneously pushing you hard to their subscription.
For a while, safari was an amazing deal. Given the nature of the books on the subscription, having 10 of them on your "shelf" at a time was perfect. (Each one went on the shelf for a month.) For a while, I got my company to pay for it for myself and everyone who worked for me. It was invaluable. We stopped several years ago, as prices increased and quality declined.
That's why I'm grateful PragProg exists - I haven't seen anything bad/shortlived from them yet (but I was looking mostly for Elixir-related stuff, YMMV obviously!)
My interview with Hwayne covers a lot of publishing decisions, why he self published his latest book Logic for Programmers.
First of all, I'm happy to read the author negotiated a better royalty rate even though the book deal fell through. I learned from Kristine Kathryn Rusch's How To Negotiate Anything that publishers expect the first offer to be just a starting point. In fact, it can be so unfair that if the writer accepts it as is, sometimes the publisher will voluntarily improve the terms just to avoid the awkward situation when the other party realizes they've been had. Turns out making your writers angry is bad for business.
One note about this observation on editing code examples:
For example, it can be quite tedious to make sure that code snippets are consistent with snippets from 20 pages prior.
This can be surprisingly annoying. In a long book I can see some custom system being worth the effort if it helps you focus. In my own book (to be announced next week!), there's a compromise. I use the zebraw Typst package that allows emitting line ranges from a larger code block, like this:
#let code = ```typ
#grid(
columns: (1fr, 1fr),
[Hello],
[world!],
)
#zebraw(line-range: (2, 4), code)
It's hardly perfect because when changing the content of code the line numbers change too. Perhaps it could be automated further by reading the variable content from a file and using some special markers to find the line range, but it's already an improvement over simple copy & paste.
IIRC, fasterthanlime has a similar custom system with his blog to ensure consistency considering how long those articles can be, but I'm failing to recall where I heard this from, beit the blog itself or some podcast.
I (who is not fasterthanlime, to be clear) use org-babel (and rustic) to manage this for my blog. It's far from perfect, and it can require some mangling the markup a bit sometimes to make sure that the quirks don't bleed through into the final post, but it's also really reassuring to have a basic sanity check that everything works.
As a fun bonus, expanding the snippet-plus-all-context into a "full" Cargo project is just a rustic-babel-visit-project away.
Can't blame him. I pushed my only book with a publisher to completion but I now think I should have bailed out.
I was required to use AsciiDoc or Microsoft Word for my drafts. Nope, I can't use LaTeX.
He had the AsciiDoc option — what a luxury! I was forced to submit chapters in .docx
When I delivered a draft, I quickly got a marked-up version back. The feedback was mostly formatting and styling.
The main problem for me was that I constantly had to fight with the editors who tried to change my words in ways that made paragraphs factually incorrect and defend them with piles of references to documentation and standards. That was absolutely draining. No one should have to do that, especially not for $2/hour.
Yeah.... so my book recently got an amazon review that was like "there's tons of typos in chapter one". True... worst part, is the editing process made that worse! For example, I forgot a semicolon in one o the code samples. All three editors added one back. The final print was import foo.bar;;;. Ugh.
In later chapters, I realized this was a thing and knew to fix it, but the deadline for chapter one had passed so no chance to go back and fix it there too.
Then the constant switches, I wrote in American English, the first editor was British and wanted to change little American things.... then they reassigned me to someone fluent in Indian English, who wanted to change even more little things, including things the British editor already changed! Such a pain! And then yeah, some of the changes affected subtle semantics and just... yeah when they asked me to write a sequel was like no.
I had much the same experience, but pre-"AI".
Offered a book deal; wrote outline; accepted; started fighting with editor over not including irrelevant stuff; wrote lots of book; never got advance; abandoned it.
Also @gecko's experience with the rate of pay held true, too. It was just after the dotcom crash and I needed the money, but I worked out I could make quite a lot more stacking shelves in the local supermarket for minimum wage...
I can't detail it much further than just this, but I understand that Tim O'Reilly has the AI virus bad and makes his reports tell him what they've done with AI that day every day. So I've got a first guess as to the publisher.
ah! good for him! from the description there's no question that cancelling it was the right call. it takes self-assurance to do that sort of thing.
This tracks with my own experiences writing for publishers: Will write for food: becoming an independent tech author
I am attracted to extremely niche topics, and I have bought a number of self-published books, both fiction and non-fiction, for which there are no main-stream substitutes. I always buy my books in paper form, from a local independent bookseller, for personal and ethical reasons. The self-published books tend to not be available through standard book distributors, and this means my local bookstore is unable to stock the books on their shelves (because the books are non-refundable and can't be sent back). So I've had to pay the bookstore in advance for some of my books.
I think the ability to have your book stocked in bookstores is a benefit you get from using a publisher.
There is another category of book that I read, that are in practice only available as digital downloads. I hate reading long-form material from a screen, but I'll do it if there is no alternative. If you self publish and distribute your book for free over the internet, that's another way to get an audience. You don't make money, but if you can't make money working with a publisher, and they are also ripping you off, then why deal with the aggravation. I bet that directly interacting with an online audience while distributing your book online is an attraction to some authors. One book I'm reading has a web site, with a free PDF download, and a large active forum of people working with the ideas and posting their experiences.
A self-published author can use a distributor such as IngramSpark to make print-on-demand books available to regular bookstores. Source: Reddit. And I have to say I admire your dedication to your local :)
Thanks, I didn't know that detail. On IngramSpark, the author decides whether the book they publish is returnable. Returnable books imply costs and financial risk for the author, eg receiving an invoice for returned books, which a publisher would protect you from. https://www.ingramspark.com/blog/making-your-book-returnable It seems the booksellers I've dealt with will not stock non-returnable books.
As for the local, I've decided that my life will be better if I prioritize in person face-to-face IRL relationships with real humans over internet relations with faceless humans and bots. I'm doing what I can, but I haven't kicked my internet addiction yet, and here I am on Lobsters.
I liked the factual honesty of the post. It was helpful for me to have the royalty percentages and the sales numbers (this looks similar to fiction publishing).
I agree a bit with the AI part. I have programming books, but I've learned programming mostly by taking on a project and talking to people (on the internet) to solve problems as they come up so even before AI my learning was interactive.
I think programming books were useful when the internet was not as accessible as it was in the late 2000s.
Now there is a lot more junk on the internet.
Nowadays I use AI tools to summarize docs and then go through specific sections of the docs to make sure the summary is accurate for that task.
I’ve had two different book projects. Both failed. One was a “functional programming in Python” book that came inbound. I wrote an outline, rough-drafted a few of the middle chapters to get a feel for if it was a good idea or not, and didn’t sign a contract because it felt like a bad overall topic.
The second was something of my own, that I’d still like to pursue, but it was clear the publisher did not understand the concept. I had a few meetings, but the feedback was directed towards “what we do for every other book,” when this book was much more like Austin’s book in terms of not fitting the mold.
I do kind of wish the second one would have happened, because I still love the concept. Deadlines may have motivated me to actually make it happen! Or, maybe I’d have abandoned mid writing… that’s probably what would have happened.