Hacker News new | past | comments | ask | show | jobs | submit login
So you want to self-publish books and courses on programming (css-tricks.com)
194 points by lorendsr on July 29, 2021 | hide | past | favorite | 65 comments



Honestly? Please don't.

I don't mean to be rude, but the quality of some coding books is not good at all. The majority are rehashes of online documentation on what the function does with barely any examples on "real world application" and could easily be found online for free. I've seen enough chapters on how NumPy arrays work to completely disregard them. As an example, I recently picked up a book on Python for Civil Engineering because I was looking for said "real world" examples for a course I was teaching. In total, there are 6 civil engineering examples across the 160 pages and each needs ALL the basic concepts before you see them (although one is just "here's how matplotlib works").

If you choose to self-publish, please have more than the bare minimum in examples. Take a page out of Miguel Grinberg's Flask Tutorial [1] and have the entire book build up to something. If you're doing something like how to do Data Science with language X, use some larger scale datasets, walk through them, and explain what you are seeing beyond "here's the print statement's output".

Most of the videos on my YouTube channel that are about "How to use X in Y" get minimal views, because they're so simple that you only need to see it once via a video or webpage to "get it". However, some of my more popular videos are where I implement algorithms like the Luhn Check algorithm. Have that kind of material in your book.

[1] https://blog.miguelgrinberg.com/post/the-flask-mega-tutorial...


You're correct that the quality of programming books is all over the map. Some of them are really bad, and are essentially rehashed SO answers sandwiched between some prosaic filler.

There are essentially two kinds of tech books:

1/ Thorough, in-depth technical discussions of programming languages, software, or apps that dive deep enough to enlighten the reader on how they work under the hood

2/ Rehashes of already existing docs, the latter of which do the job more directly without forcing you to read filler text. These books are primarily written to boost the author's reputation

Obviously, you should learn to be selective and buy only the #1 type of book. It's not hard to figure out what kind of book it is from looking at the TOC and remembering the type of books you've read from the same publisher.


Economically, a typical programming book will gain you around 20K USD, which is normally a two month pay as a good software(if you can write a book about programming, you're probably very good at it). I don't think it makes much financial sense unless your goal is something else, e.g. consult, fame, etc.


Just speaking from my own experience, if you execute very well on audience building and marketing you can do much better than this. I have released 2 books and 2 courses for developers and together they have done close to $4m USD in revenue.

I wrote in detail about the process of writing, marketing, and releasing my first book here:

https://adamwathan.me/the-book-launch-that-let-me-quit-my-jo...

And was interviewed on IndieHackers to talk about the most recent one here:

https://www.indiehackers.com/podcast/098-adam-wathan-of-refa...

If the work is a good match for your skills and personality it’s a really great way to make a fantastic living.


Hi Adam, I'm a fan of your writing, but your experience in riding and monetizing Tailwind's explosive growth is obviously a massive outlier.


Hey thank you! 3 of 4 of my educational products actually predate Tailwind — I was a millionaire from that business before even releasing Tailwind v0.1.0. Refactoring UI came after but we had built a huge audience for that well before Tailwind as well.

I’m an outlier for sure but $20k is low. If you do a great job at everything that goes into running a business like this you can definitely do much better than that. Josh Comeau did an incredible job building his audience and reputation before releasing his CSS course a few months ago for example and he has done over $500k if I remember right.


You make a good point in here. Being a financially successful author isn't just about being a successful writer - it's being a successful business person.


This.

Writing is half the battle—it is a significant hurdle and not everyone can write a great technical book.

But the other half (and I struggle with this mightily) is sales/marketing (and the whole 'business' side). Making it look pretty, getting people to know it exists, promoting it.

Many of the best technical writers I know are not great at the latter, and for them, self-publishing might not be the best approach.


This may not be the forum for saying this, but in case you need encouragement, I always follow your links when they make it to the front page of HN, and I’m always happy when I see your name in the comments. I’m a sample size of one, but I suspect you’re on a good trajectory in term of notoriety. If you struggle with self branding and promotion, you still seem to be doing something right.


Thanks for sharing this, but when I read stories like it, and look at the content sold, the concept is completely foreign to me.

I would prefer to read reference content from the vendors themselves and not third-parties, so I don’t understand what draws people to this sort of content I the first place.

That is, I couldn’t create any of this, because I would never buy it myself.

Your story is nonetheless very interesting.

I don’t think anyone can argue with the results, but arguing with reproducible results is a bit more difficult.


Just to add some contrast to this $20k figure and Watham's comments about the upside, I've published several small books that get very good reviews but haven't sold a lot of copies. I self published on Amazon as an eBook and then Print on Demand. My profits have totaled less than $1,000 in a couple years. My problems are likely that I don't have an audience built and Amazon rank is terrible until you have sales.

If you're not in it _just_ for the money though, go for it. It's extremely satisfying.

My most popular book is actual a book about how I self published. Publish Your Ebook by Joel Dare.


It seems like a lot of communities are built up with the explicit intention of being in it just for the money. There seems to be a lot of hype generation and releasing for-profit educational materials alongside eachother.

In my opinion, there is a strange marketing game around web frameworks and web frontend development especially.


The best advice I got was to focus on the topic way more than on the actual content. Great quality content about a topic that is super niche won't make much revenue compared to an average book that reaches a wide market.


That's not to say that you should write average books. It's more that people usually underestimate the amount of time it takes to come up with a good idea. And then they keep investing time into a bad idea due to sunk cost fallacy.


Book sales follow a power law distribution, so "typical" is somewhat deceptive. Sales follow a power law because we typically buy books that have been recommended to us by others.

Rust in Action (https://www.manning.com/books/rust-in-action) is only one data point, but USD20k sounds very low over the lifetime of the book, especially when you consider translation rights and other channels like Safari.


Great books outlast the author. Nobody is going to put up a Wikipedia page saying how much money I had in my bank account when I died.

Not that you should necessarily care how you get remembered as you're dead anyway, but I think it's worth it to share knowledge and give to the community if you think you have a contribution worth making. I'm certainly glad other past giants wrote instructional material even if it didn't make them rich.


True, super valid point but a technical programming book would not be a great way to be remembered after you died. The technology/library/stack/language you're writing about will probably die before you do or otherwise mutate beyond your book being useful.

I doubt that I would see "Here lies Fred, he wrote the greatest book on Fortran ever written" on a tombstone.

Or "Justine, her book on JQuery changed the world" in an obituary.

For a "heritage" book the topic would need to be longer lasting.


Hrm. If I got 10K USD a month programming(?) (I think you left out a word) I'd retire in a couple years.


Isn't this a normal salary for highly skilled software engineers in the US?


For my first book (https://www.amazon.com/Learn-TypeScript-Building-Application...), I have gone down the classic path. Overall, that experience was far from great. I suffered through the process, and it was painful towards the end, as more parties got involved, and often created more problems than they brought solutions. Of course your mileage may vary; I have no doubt that there are much better publishers out there.

I was forced to use specific tools/platforms to edit the content. Those tools were slow, buggy, didn't clearly show what was changed, etc. This was incredibly painful.

Obviously, one should not do it for the money. You can get quite a lot if you're lucky enough to be an outlier and write timeless content, but it's very unlikely. I personally went through the process as I was getting started with freelancing and wanted to boost my visibility. It served its purpose, but the opportunity cost was huge.

Once the book was released, my publisher didn't invest a whole lot in marketing the content. I did what I could on my end, which kept the sales going, but I felt left alone. Again, it depends on your publisher, and on their belief in your project; your mileage may vary there too...

For my new project (https://dev-concepts.dev), I have decided to self-publish. Here are my reasons:

- Freedom - Ownership - Financial - Responsibility

While self-publishing, I can write at my own pace, without external pressure (apart the one I put on myself). I can set my own rules, my own process, use tools of my choice, etc.

Importantly, I keep full ownership. Everything I write remains 100% mine, and I can repurpose anything I want to create new content (e.g., video courses, blog articles, etc). This is a key point for me! I also get to decide if I want to give away free copies of my book.

From a financial point of view, 100% of the benefits will be mine. This means that I can sell ~5x less copies and still make as much money. I also believe that self-published projects that have a solid copy and are marketed correctly have much a better chances to generate money.

The thing is of course that if you're alone, you're alone. Noone else is going to help, review the content, find technical reviewers, provide you a toolchain, fix typos, etc. Personally it doesn't bother me; I find that liberating and empowering!


I have written a post on the topic of writing a technical book recently which might interest people who are thinking about doing it: https://andregarzia.com/2021/04/writing-a-technical-book.htm...

I have also launched a free eBook generation SaaS at: https://little.webby.press it is completely client-side, there are no accounts and no tracking, just have fun building your own books.


This was helpful to read, as someone currently collecting my own unreleased technical writing (possibly for a book). Thank you for focusing on the "why" here and sharing information on the range of possible outcomes.

Also, congrats on the launch of https://graphql.guide/! It is so critical to have well thought out, long-form content available in this day and age.


I wrote a an article [1] about how I self-publish my printed books on Amazon using LaTeX, pandoc and some shell scripts to automate the generation of a print-ready pdf and a standards compliant epub file all in one step.

All in all it's been very successful for me, and I highly recommend doing so. The first time you get your printed book in your hand is a magical feeling not quickly forgotten!

[1] http://theroadchoseme.com/how-i-self-published-a-professiona...


Any suggestions for fulfillment on PDF ebooks? My kickstarter for my LaTeX book¹ is almost over and I have enough backers that I think I want to do something a bit more sophisticated than just send people a download link (ideally, I'd like to have individually watermarked PDFs for each backer to act as a social deterrent to uploading the file to download sites). It'd be nice also if they could come back later to get a corrected version of the PDF if I do updates in the future.²

1. https://www.kickstarter.com/projects/preppylion/the-preppy-l...

2. I'm working on being meticulous about typos but I know they will happen, plus there will likely be updates to LaTeX that will require some minor changes in the text as time goes by.


Gumroad - where I self-publish my book (https://gum.co/deploymentfromscratch) - does the watermark automatically for PDFs.

That said, probably don't worry about it. I also release additional things (like code), and it's just there for anybody that bought it. I am fine with that.

It would take you a significant effort to prevent bad actors and you would likely make it worse for the your customers in the end. It's just something to accept.


I wouldn't worry about DRM. Think of shared copies as free advertising.


(a) who said anything about DRM and (2) free advertising schmee advertising. There's plenty of evidence to show that pirated books/movies/music/software don't lead to more sales.¹ My goal is to maximize freedom of the users of the book (if you buy a PDF copy, you should be able to have it on every device you own if you like), with a mild disincentive against sharing the files against the terms of the sale.

1. And please don't give me any of that Corey Doctorow–inspired stuff.² I've heard it all before. I've heard the other side too—I've seen friends' sales crater when a pirated copy of their book showed up on some site and then rebound after it was taken down.

2. As an aside, the one Doctorow book I've read was Pirate Cinema which was not good. I did read a long story of his in 21st Century Science Fiction which started out good and had an interesting premise, but ultimately failed to deliver on its promise. I've been told some of his other books are good though.


You can use Gumroad. You can add watermark (IIRC it based on customer's email) and customer will get book updates for free. You can also send email to the customers when you have a new version.


> there will likely be updates to LaTeX that will require some minor changes in the text as time goes by.

That’s probably not a big risk tbh.


There have been some significant changes just in the last year, most notably, the movement of the xparse package into the kernel and a preference for \NewDocumentCommand et al. over \newcommand and its relatives. Most of the changes happen below the user interface level, but occasionally the bubble up beyond that (right now, there's some discussion about the fact that \NewDocumentEnvironment{foo} will silently overwrite an existing \endfoo command and how best to manage this (I'm in camp issue an error. The other possibility is to modify the default mapping of \begin{foo}…\end{foo} which currently calls commands \foo and \endfoo to do something slightly different but this would break lots of legacy code and likely won't happen). The biggest area where changes would impact the book is the appendix of error messages. In at least a few cases I've had error messages change in this year's updates (partly because of my own reports to the core dev team).


> ideally, I'd like to have individually watermarked PDFs for each backer to act as a social deterrent to uploading the file to download sites

What if someone provides fake information then uploads the book with your watermark?


I'm not looking for perfect protection, just to keep honest people honest.


So, what happens when someone's watermarked copy starts showing up online? Will you be assuming the only way it got out was abuse by the intended customer and send in the lawyers? Did you notify your customers before they paid anything of this risk they're taking?


Most likely I'd send a polite e-mail letting them know that I saw this and reminding them that they aren't supposed to share the file. The expense of a lawyer wouldn't be worthwhile. You seem to assume nefarious intent. My goal is simply to be able to let people buy a DRM-free copy of the PDF with a mild disincentive against sharing.


Not necessarily "nefarious", but I certainly don't trust everyone to behave reasonably or logically. The very act of putting the watermark in will plant that idea in at least some of your customer's heads. And since you didn't answer my question about whether you informed customers of it before they made a purchase, I think it's safe to assume you didn't. Even if all of your customers trust you to act reasonably, you could die tomorrow and all of those rights will get transferred to someone else who may not be as trustworthy.


The watermark gets the backer's name on it, now the author's name on it.


I know that. You've misread my question. The idea is that the backer won't upload the PDF on file sharing websites because the author will find it and trace it back to the backer using the watermark. But if the backer was anonymous by means of fake information provided to the author at the time of purchase then it's not deterring anything.


Whoop, yeah, I did misread.


checkout bookfunnel: https://bookfunnel.com/ I'm not affiliated with them, just a happy customer.


This is what pragprog does, but I don't know any self-publishing platform that does the same. You can probably roll your own without much trouble, just using stripe for billing.


From this month I've decided to see if I can work on my personal projects full time... these include the books I've self-published through http://datacrayon.com/shop/, but now I wonder if it's worth while getting any of them into print...


Has anyone tried LearnWorlds for publishing their course?


LearnWorlds is a solid choice. If you're after a course platform tailored for technical courses, check out https://coursemaker.org


It will good probably useful on counties without proper internet connection. But almost all of the information needed about programming is already on the internet. It's just a one search away and you can find your answer


Although a not insignificant fraction of the time, the answer will be wrong or outdated.


Surely storing Unicode in thin layers of dried tree mush stitched together in a bind is a bit outdated these days, right? Yet the demand for transmitting useful information into brains is higher than ever. If we rethink of books as a medium for thought transmission, especially the actionable thoughts of domain experts, then physical books should seem to us like dinosaur bones. Its the inertia of the dusty university library and the Madison Avenue publishing industry that keeps book relevant. If the sole goal is learning, there is still much unrealized potential to be innovated in web and mobile apps.

The iPhone is still only 14 years old. Somewhere between now and universal brain-computer interfaces are many education unicorns waiting to be found.


I like reading books because: 1) easier to focus 2) easier to take/draw notes in the margin 3) static content


4) have proven than can last for 200 years, 5) less eye-straining than normal screens, 6) can't be remotely erased or blocked by third parties.


What if I told you I had an amazing new technology for information transferal? It has infinite battery life, is readable in almost any lighting conditions, reading it won't wear out your eyes, it is water resistant and wont' break when dropping it or hitting it with a hammer. As an added bonus, the vendor can't stealthily revoke access to this information or change it without telling you. You're allowed to lend it to a single person at a time with the downside that you temporarily no longer have access to the information. This miracle technology is 100% recyclable and its manufacture is environmentally friendly and ethical requiring no rare earth metals.

Yeah there's a reason we still love books.


Each book also comes with a "free screen". We programmers have dual-monitors or triple-monitor setups.

Well, Dungeons and Dragons dungeon-masters have 2 or 3 copies of important rulebooks (Core Rulebook and/or Beastiaries) because we get tired of flipping through the pages all the time.

But its not so hard to have two books (Ex: Bestiary1 + Beastiary 2 copies) and have a page on Goblins + a 2nd book with the page on Devils to run a Goblin+Devil encounter.


> it is water resistant

Is it? I wouldn't want to test that claim on any books I own or have borrowed.


I've dropped many in the bath, and one or two down the loo - they still worked.


Well, it'll survive a coffee spill at least, I can attest to that.


Issac Asimov wrote a similar essay in 1974 called The Ancient and the Ultimate.


99.9% yes. Acid in most papers still implies an O(100yr) lifetime, AFAIK.


You might be interested in Why Books Don't Work by Andy Matuschak

https://andymatuschak.org/books/


I have to thank you, because projects like his are exactly what I had in mind with my original post, but I had forgotten this man's name and work for months!


This is really interesting, thank you! I'm dreaming about followup then but for learning, with bite-sized text (or video?) plus opportunities to engage with the text, delivered to me (via email) on a regular basis so I don't have to remember to come back to it. But the future emails are contingent on my engagement so it's impossible to get behind. And it could use the anticipation of something new and exciting factor to keep me engaged. Really interesting to think about!

Also I'm thinking about The Little Schemer format and how it includes that engagement in the dialog and the frequent small opportunities to test your thinking.

How cool would it be to subscribe to a "book" and to get the next chapter I have to type out a brief reflection of what I've read so far? It would be up to me to decide how involved to make my "reflection" but it would be really cool to have that prompt.

I suppose blogs work in a similar way for people who read them as they come out and leave comments.

Definitely a lot to think about. This is fun! :)


I have better information retention from reading text in a book than on a Kindle/digital screen.

I'm not sure why, but turning the page and feeling a physical object seems to improve my memory. It might be wasteful, but it's often hard to beat the tactile sensation of books.


It improves your memory because it creates a stronger impression. There is more novelty in the experience of reading a physical book than an ebook in an e-reader. Ever notice how you have stronger memories of your first or second drive on some roads to some place than the later drives? After you've made the commute 100 times you find yourself at your office with no strong impression from anything that happened on the way unless there was something novel or eventful (like the suicidal deer that jumped in front of me yesterday)? An e-reader, even if it's a different text, ends up creating a similarly uniform and consistent experience that makes it harder to form the same kind of strong memories that a physical book tends to create. Each page is unique, the position in the book is actually conveyed properly (not just a small number in a corner or a progress bar at the top or bottom that you quickly learn to filter out), every book has a somewhat unique smell. It has weight and heft that also matter in the creation of the memories associated with reading it. Your e-reader will always be the same weight and have the same feeling in your hand no matter what book you're reading in it.


I mostly read ebooks now, but my main issue w/kindle and similar readers is that a lot of my retention is spatial. E.g I remember where physically something is in a book better than where in a reflowable document something is.

Sticking to a single, fixed size reader and avoiding changing font sizes helps solve some of that, but it's not quite the same.


I have had the same problem. Especially because going back a page on a Kindle can cause a reflow so words aren’t in the same position.

Have you had any luck turning on progress bars on your reader? Hasn’t helped me yet but I know I have a very good intuition on physical books for how far through the book a concept was. I can often just move directly to the area and then scan forward / backwards.

On my Kindle or iPad I find this hard.


Not as much as I'd like. I think losing the tactile idea of physically how far into a book something is loses a signal.

On the other hand I think there are potential opportunities there in more strongly visually signalling position in ways you can't with physical books (e.g. by strongly visually signposting locations in various ways), that I wish someone would experiment with.


The simplest answer is:

Well printed material is much easier to read and handle than anything electronic. Eink was a step in the right direction, but there's virtually no innovation in the interfaces of ereaders. Heck - even regular PDF readers on computers/phones have a fairly poor interface.

Screens shine when it comes to dynamic content - particularly videos of phenomena (animations of functions as you change the parameter, etc). However, being able to change the form factor of paper (not all books have the same size page), as well as the ease with which one can bend pages is really helpful. Nothing electronic has yet replaced my ability to flip back and forth between two pages.


Just so you know, the author is talking about books in the general sense. In fact he very strongly implies that he's only talking about e-books.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: