I wish I'd self-published sooner

It took until this year to write my first eBook and it now generates revenue while I sleep. I wish I'd done this sooner. So what's holding you back? Learn from my experience so far.

Today marks almost one year since I launched my first self-published eBook. I shared the results with you after the first month, and they encouraged me to go on and to write two more technical books. You'll find: Everyday Go, Serverless For Everyone Else and Netbooting the Raspberry Pi in the OpenFaaS Gumroad store.

Information products like eBooks can generate passive revenue, which means you can earn money while you sleep. Do you like the sound of that? In this article I want to talk about my experience and I hope that you'll be inspired to go on to write your own and top up your bottom line.

Why didn't I do this earlier?

The reasons that many people including myself have put off writing and selling an eBook are numerous. There is some risk and investment involved, and you may need to get over yourself to make this happen.

Picking a topic for an eBook might feel like the hard part, but it's actually easier than you think. A good place to start is with something you've already invested time in - a skill, a project or an approach.

My eBooks have been technical, but it doesn't mean that yours have to be. You don't necessarily need to write an eBook and conform to all the assumptions that come with that, "information products" can take many forms as we'll see below.

The books in chronological order

The first was an eBook about OpenFaaS with examples written in Node.js - "Serverless for Everyone Else". I wanted to show users how to write functions that do useful things. It covers databases, REST, unit testing, secrets, monitoring and deploying securely on public cloud.

As the founder of OpenFaaS, writing a book about the project seemed only natural. But having started in 2016, why did it take me this long to get to it?

OpenFaaS the open source serverless framework currently receives between 500-1000 USD / mo in sponsorships via GitHub. The first month of sales was 10k USD, which exceeded the average sponsorship for an entire year from commercial users of the project. (Don't get me started on that)

For Serverless For Everyone Else, I wrote about what I knew with the aim of enabling others to use the project.

The second eBook ("Netbooting the Raspberry Pi with K3s") was based upon R&D work I did with the Raspberry Pi. Specific techniques were required to automate the netbooting process and run containers with K3s. Containers won't usually work with the NFS filesystem, but I found a way around this. Now I'd already written up some steps in a markdown file, so I productised that by creating an eBook, a walk-through video, diagrams and automation scripts. So anyone who wants to can now create their own private cloud with K3s, and not have to worry about wearing out their SD cards.

So a great way to make information products is by repurposing your existing work or material.

The third eBook, and the best selling is Everyday Go. I had to name it "Everyday Golang" for the sake of SEO, which I am sure upset some hard-core gophers. With this eBook I decided to increase the price point, because it was clearly something that could create value for readers - both in their current day job, and in their next move.

At Gophercon UK I was told that mid-senior level Go engineers are regularly being paid salaries 80-120k GBP, with day-rate contracting being equally eye-watering. With this in mind, value-based pricing makes even more sense. What other kind of 79-129USD investment do you know of that can help you double or triple your salary?

Another way to make a product is to collate, update and reposition existing work. Michael Lopp did exactly that for his top-selling book for engineering managers: "Managing Humans"

Alex DeBrie did not price his eBook on DynamoDB at 25 USD. He knew that DynamoDB was something people needed for work, that would create value for them.

If you could nail the architecture for your team, you'd save the company thousands of dollars, but if you got it wrong, and the product scaled massively, the AWS bill would be quite different. So he priced it at: 79 USD, 129 USD and 249 USD. How did he offer the same thing for 2-3x the amount? By bundling additional content and supplements.

Adding extras such as videos, supplements, access to Slack, a Zoom call can all create extra value and revenue.

For each of my eBooks I've tried to add something extra - whether that's code examples, a video tutorial or an extra supplement. It means that people who want to pay a little more can do so, and those who are very price sensitive, can still benefit from what I'm offering.

What have I got planned next?

I've now read more books on positioning, marketing and pricing, which make me more reluctant to work on an eBook without testing the market first. Fortunately, I have dozens of blog posts going back to 2017 to help to decide what could make an interesting topic.

I was inspired by the way that the Tailwind UI team were able to sell access to a portal for code examples. Adam Wathan shared how he made 4M USD in a short period of time through his eBooks and code samples. I bought access and used the samples to build inlets.dev. I think that could work for OpenFaaS users too. The challenge is that functions can be written in any language, so I'd probably focus it on Go or Node.js.

Daniel Vassallo was one of the people who inspired me to write my first eBook. His first couple of products earned him 300,000 USD in a short period of time. Recently, he's taken to running 3-week long online coaching sessions for budding solopreneurs and selling that on Gumroad. You see, it doesn't have to be an eBook to be an information product and to generate passive revenue for you.

My eBook on the Raspberry Pi and Netbooting may be a little too niche, so I am thinking of taking my best performing Raspberry Pi blog posts, updating them, and tying them together into a story of self-hosting and homelabs.

Many companies are trying to reach developers and to increase adoption of their open source tools. I've done well this year from advising and consulting these kinds of companies. Perhaps there's an eBook or monthly webinar series there too?

Alex's approach

Here's my approach for shipping an eBook. Yours may differ, but you are welcome to test it out for yourself. Ultimately, you have to start at the beginning and learn what works for your target readers.

Identify a topic

Identify a topic where you have recent experience. You could have just learned this, or found a new way of doing something. You could be the only expert, or maybe there are other people doing the same thing.

Find your angle

Tailwind UI shipped code examples. Daniel wrote a book about the best parts of AWS for work. I wrote the official manual for OpenFaaS and followed-up with examples in Golang based upon my work over the past six years.

Whatever your angle is, it should have a unique flavour or approach. When I wrote Everyday Go, there were dozens of cheaper books that were 500-800 pages long. What did I do differently? I wrote a book that skipped as much of the 101 content as possible and went straight to hands-on examples.

Find a friend

No matter how experienced you are at writing, you will benefit from having someone proofread your content. Professional publishers include this as part of their service, but you will need to be creative here. For some of my material, I've had friends or community members offer their help.

Ship it

Not only will you need to start your project, but you'll also have to ship it, which means finishing it. Otherwise you'll have invested time for no return. Don't you want to see dollars appearing in your bank account?

Some people charge for their eBook before they are finished. If you are clear and transparent about this, it means you'll get feedback earlier and can improve the finished product. Shipping often also means you avoid the classic waterfall problem we see in software engineering.

I've written my three eBooks using markdown and pandoc to convert to a PDF and ePub format. This works well and when you have a style you like, you can launch new products using the approach you've fine-tuned.

To design a front cover, you can use a free product like Canva or hire a designer on a marketplace like Fiverr. Put your entrepreneur's hat on, if you expect 10-50k USD in sales, then investing 100-500 USD in a design for an attractive cover is only a very small proportion of that.

Before and after

Before and after

For my first eBook, I launched with a design I made myself and then after earning the first 10,000 USD got a designer to help me out.

Launch it

On the launch day of Serverless For Everyone Else, my heart dropped. Nobody bought it for 5 hours and I thought it was going to be a failure. My mistake was that I hadn't created an email list. If you collect emails, with the specific purpose of letting them know when the book is finished, then a portion of those people will be ready to buy when you launch.

Don't over think this stage. Use whatever channels you have at your reach: Twitter, LinkedIn, your blog, your newsletter, etc.

I use Gumroad for my eBooks because they handle UK/EU VAT on my behalf which is a massive pain otherwise.

It also has:

  • Detailed referral analytics
  • Multiple product tiers and discount codes
  • Reasonable rates, that decrease as you grow
  • A referral program for your store
  • An email system that's included in the price

Make sure that you have a few tiers, so that people can pay you more if they want to. Try a team edition, so that people at a company could buy a bunch of copies for their team.

Listen to the feedback

April Dunford, author of "Obviously Awesome" says that there's two kinds of people who give feedback: those who will pick at every detail and are harbouring jealously, and those who want to help you improve your product.

If someone falls into the first category and is desperately unhappy, then my advice is to refund them and to get on with your life. It's not worth arguing with them.

Even those who fall into the later category can bring "blindsided feedback" - things everyone else knew, but you didn't. What can I say? It's tough, but you will survive. If you can use it to adapt your approach and content, it may pay off. Thank them, and if you incorporate their ideas, send them an email afterwards to show you appreciated it.

Some people will also have very nice things to say about your work. If you're using a platform like Gumroad, they can't leave a testimonial directly, but you can include a note from them on the product page or link to a Tweet.

It turns out that a number of people that buy your first eBook or product, may go on to buy your second and third, especially if they had a positive experience. They may even tell their friends. I saw a few "0 USD" purchases on my webhook processor and eventually worked out that this was from people gifting the book for others.


The launch, if done right could be the best day of sales for an information product. After that the density of sales likely to drop off and form the classic "long-tail". Having a few information products is probably going to perform better as an investment than putting cash into an investment account.

An early graph from Serverless For Everyone Else

An early graph from Serverless For Everyone Else

There may be days or weeks where there are no sales, and this is where falling back on your analytics dashboard will help. There may also be a limited market size for any of your ideas.

Discounting your eBook can stimulate a short-term response like you can see in the diagram above. My advice is to have a clear reason for the discount and to focus on getting to a stable price that reaches more people.

If you've ever wondered how to share and promote your own work, then I wrote up my tips at the beginning of the year: Learn how to share and promote your work as an engineer

A very good book for learning these skills is 1-Page Marketing Plan by Alan Dibb. I've learned a lot from Alan's book and can't recommend it highly enough.

Why not you?

So why not go and write an eBook and earn some passive revenue? Feel free to reach out to me on Twitter @alexellisuk with your questions and comments.

You can checkout my three eBooks in the OpenFaaS store or read up more about my experiences self-publishing:

I write regular email updates on independent business and open source to my GitHub Sponsors. Find my top book recommendations and learn how I've applied what I've learned each week.

Alex Ellis

Read more posts by this author.

Subscribe to Alex Ellis' Blog

Subscribe to keep in touch. By providing your email, you agree to receive marketing emails from OpenFaaS Ltd

or subscribe via RSS with your favourite RSS reader

Learn Go with my new eBook

eBook cover

"Everyday Go" is the fast way to learn tools, techniques and patterns from real tools used in production based upon my experience of building and running OpenFaaS at scale.

Buy a copy on Gumroad