This question came up on an HN thread.
My process for any book I’m thinking about writing is:
- write out 10 titles for blog posts on the topic
- write 1-2 blog posts (this lets you, in a low risk way, verify you have interest/expertise)
- add an email list signup at the bottom of the posts
- do a bit of research to see if someone else has written on the topic (some googling or reddit searching)
- write the rest of the blog posts
If you can get 10 meaty blog posts, you have the basics of a book. Plus, you’ll know that you are interested in the topic and that you can write. As you wrote those blog posts, you probably had related ideas or areas you wanted to explore.
You’ll also be able to share these blog posts with friends, colleagues and online communities that you may be a part of. You can get feedback on the ideas and the overall topic here.
You can self-publish the book (done that) or use a publisher (done that). The latter will take more time and effort and will require you to fill out a book proposal.
To be honest, even if you are planning to self-publish, doing the hard work of completing a book proposal is useful. Even if you don’t submit it. It forces you to think about:
- who is my audience
- what are my core ideas
- what else has been written on this topic
- why is what I’m saying unique
- why am I the right person to write this book
This can help you narrow in on what will make your book successful and can help with your marketing messaging.
What If you can’t write 10 blog posts about a topic? Then you are missing either:
- interest in the topic
- necessary knowledge
But it’s more likely the former. Because you’ll have time to do research to learn. I remember taking something like 4 hours to answer one question about how the Cordova CLI acted in one peculiar edge case. It turned into one sentence in my book.
Finally, if no one else has written anything about the topic (no books, no articles, no social media posts, no nothing) and/or none of your blog posts get any feedback (positive or negative), pick a different topic or expand your vision.
Here’s an exchange I had with Patrick McKenzie in 2013. I wrote:
I had a quick question. I was thinking about writing an ebook for a super niche topic (testing ETL transformations using Pentaho Kettle, an open source ETL tool).
I outlined the book, did some google searching and wrote up a series of blog posts with an email list signup at the bottom.
I got some nice retweets from folks in the Pentaho community and have about 8 people signed up to the list. That was a bit disheartening, but a friend suggested that the folks doing ETL work weren’t exactly developers (perhaps more DBAs or business analysts).
I am still tempted to write the ebook, given my interest in the subject–I think it is a pretty cool tool that I wish would replace lots of data munging scripts, and testing software written using Kettle makes development with it much more fun. On the other hand, I wouldn’t mind some income.
Is this too niche a topic? I’ve been a generalist for most of my career, and if I don’t write this now, in 6 months I probably won’t have the desire or knowledge to do it again (though I might find another software niche to write about by then).
His answer was:
I regret that I have absolutely no knowledge of anything you just said. In general, I might suggest something slightly less niche (you can reasonably suspect to sell 2 copies to 8 people, so unless it is going for $10,000 a copy, might want more volume). You’d still learn a lot publishing it but for the same amount of work why not write on a subject big enough to support 100 or 200 people interested in it?
I could have expanded this topic in several directions:
- focus on more general ETL testing
- expand beyond ETL and look at patterns for testing data manipulation
- focus more on the tool and write a guide to pentaho development, including testing
Or, treat the exploration as an end in itself and not write a book. That’s always a valid outcome of this process of experimentation.