A few weeks ago I released a blog post called The Best Way to Learn Development Skills (While Getting Paid in the Process) which made it on the top technology posts on all of Medium.
In this post, there was a popular quote that really resonated with many aspiring developers:
The best thing about modern development is that there is a tremendous amount of available resources. The worst thing about modern development is that there is a tremendous amount of available resources.
My point was simply that anyone can now be a developer because all the tremendous amounts of resources, but at the same time, anyone can quite easily run into fatigue.
My solution was to recommend to people to create content that teaches others the new skills they are in the middle of learning. This results in increased exposure, positive feedback, retention of knowledge, portfolio content, and even revenue if you can turn your content into a product.
This has been a tested and proven solution in my own developer journey as I went from a degree in Computer Science to impostor syndrome to a flourishing designer/developer hybrid. I have learned skills like pure CSS images, SVG, React, Vue, React VR, animations, Node.js, and more by creating content as I was learning.
As expected, people responded to my post with excitement, relief, and ambition. However, I wanted to provide even more guidance on how developers can make products by teaching what they are currently learning. Specifically, I will be focusing on how to publish an ebook as I have recently done with React.js for the Visual Learner and Learn React VR.
Before I dive into the fine details of the workflow I have used to publish ebooks, I wanted to clarify the question you may be asking yourself: “When will I be ready to publish an ebook?”
To answer this question, ask yourself three more questions:
If you can affirm both of these questions, then you are ready to write an ebook.
For my ebooks on React and React VR, each chapter was an 8–20 hour process. I worked really hard. I do this because I have a genuine desire to emphasize and assist developers who struggle with battling fatigue, finding a niche skill-set, and landing a job. I can stand behind my ebooks because I truly believe my teaching methodology is practical and refreshing.
If you can’t affirm these questions, then don’t fret. Start writing blog posts, gather feedback, and work hard to make them useful and unique. If you start finding success with this, then you should be able to affirm these questions.
In short, don’t be the person that slaps together a few videos on one Saturday afternoon and sells it on Udemy, but also don’t be the person that is full of passion and never gets the ball rolling.
If you have the interest to write an ebook, then it’s time to discuss the 9 practical steps in order to make it happen.
You should choose a skill based on what will make you a better developer within your specific niche/passion and not something that is random.
For example, I consider myself a creative frontend developer. I’m more interested in design, animation, and that sort of thing. After I wrote an ebook on React, it made sense to learn React VR and write an ebook on it as it fit right in my niche. It would not have made sense to jump ship and learn artificial intelligence as I have little interest in that.
What skills make you see coding as fun and not a chore? Will it make you more valuable than you currently are?
Once you have landed on the right skill to learn that falls within your passion, get the overview and do a little bit of introductory coding.
When I decided on React VR, I read the official documentation, searched through existing resources, and gathered answers to the following questions:
I got the basic gist and created a basic “Hello World” project:
The point is to understand what you are working with on a high level to the point where you could explain it to someone else who didn’t about it.
After step 2, you should have enough knowledge to draft the first chapter of the book which introduces a reader to the new technology. You also want to use this chapter to describe yourself, details on why you are writing the book, and how you hope to help others learn.
This gets the ball rolling.
Then, you can construct a basic outline for the rest of the book. I usually structure this by looking at the official documentation and see the order by which they teach new concepts. My ebooks consist of going through the fundamentals with much further, practical explanation than the official documentation and doing bite-sized projects to help the reader retain the concepts being introduced. At the end of the book, I walk the reader through a larger project from scratch that incorporates everything previously discussed.
I have used Trello to construct my outline and check off my tasks.
The first outline is a rough sketch. You can always make adjustments whether it’s reordering, renaming, or omitting.
In this step, you should also be looking at other books and resources on the skill. If there’s a lot of competition, then add a unique twist and reflect that in the outline.
For example, my ebook on React is called React.js for the Visual Learner. The basic premise was to teach the basics of React through design principles and visual-friendly examples. This made my ebook distinct from the crowd and it also reflected the type of developer I am. Ponder on how you can make your ebook stand out to reflect your own unique skill-set and interests.
After you have constructed a draft of the outline and first chapter for your book, the next step is to create the assets.
What do I mean by assets?
I create 3 things in this step:
Let’s look through these assets for my ebook on React VR and then I will discuss how I created them.
First, I created the ebook cover:
Obviously, creating the book cover as means creating a title. When creating the title, this depends on the competition and how unique your book will be which should have been decided in the previous step. Don’t overthink. Create a title that reflects that consideration you have already made. In my example, Learn React VR, the name was basic because there’s very little competition in terms of similar resources.
Second, I created the chapter card. This is a wide graphic that displays at the top of each chapter. The artwork and color scheme is consistent with the book cover. It contains the name of the book, the author name, and the title of the current chapter:
Lastly, I created a section card which is just the graphic that follows every major section in a chapter:
The section card was also consistent with the styling of the book cover and chapter card. It consists of a background image, a gradient overlay with slight opacity, and the logo in the center.
So, how do I create these assets?
Each of these assets were created in a free vector graphic software called Gravit.
If you are not familiar with vector graphics and getting started with them, I described the entire process in this chapter from Learn React VR.
In each of the vector graphics I created, I used a stock free photo and a gradient.
For gradients, you can use this gradient generator I created.
Put these together in Gravit or another tool and you have all your assets which you can make slight adjustments to as needed:
By this step, you have a first chapter drafted and assets. You can now publish your chapters to Medium.
First off, why do I post my chapters to Medium if I am going to sell my ebook?
I like to do this it’s the most successful way to reach your material to an audience. Your content will get into the hands of more people and there’s still value to buy an ebook for people if they either want to support you or prefer having an official copy as an EPUB, PDF, or MOBI file.
Most importantly, it gives me the opportunity to get feedback and make revisions accordingly as I am writing the book instead of after.
As far as the process of writing each chapter, I usually do a bit of research on the topic until I feel comfortable explaining it to the readers. I then start writing. I try to make use of analogies, stories, and jokes to make my teaching very practical. I also create small projects that tie in and demonstrate what is being taught in the chapter. For example, I created a project for rendering the Death Star with animation to explain my chapter on 3D modeling in React VR:
Sometimes, I jump right into the project and explain the topics. Other times, I have done a lot more written explanation before getting into coding. It all is circumstantial. Use your best judgment.
A few more things to note.
I like to include a Prerequisites section at the top of each post. The prerequisites are links to previous chapters for navigation. When you create a new post, you should also be adding a link at the bottom of the previous chapter so a user can move on to the next chapter.
At the end of each chapter, I also provide a call to action for people to buy my ebook (more on selling your ebook while you are writing in step 7).
Once I have written a chapter, I paste the text into Grammarly and update accordingly.
I keep it simple and just tweet about the chapter:
This provides exposure and another layer to gather feedback.
Leanpub is the awesome platform I use for self-publishing my ebooks. There are a couple things that I love about Leanpub.
For one, there is 90% royalty which is way better than the wimpy 30% from Amazon’s Kindle Direct Publishing. People can also either pay a minimum price, a suggested price, or pay more than suggested (and everything in between):
Most importantly for our use case, Leanpub allows (and encourages) you to sell the book it’s being created. As you can see in the image above, it shows the potential customer the completion percentage. You can update the book at any time and notify those who have purchased the book via email to download the new, updated copy.
This provides a ton of incentive because you can encourage people to support you in the process of writing the book if they like the chapters you are releasing on Medium. I encourage people to support me and pick up an official copy at the end of each chapter.
On Leanpub, there are a variety of methods for how to write your chapters. I use and recommend writing the chapters in Markdown.
In order to convert Medium posts to Markdown, I use this Medium exporter.
From command line, you follow the following syntax:
mediumexporter *insert link to post* > *insert name of file*
mediumexporter https://medium.com/@xdamman/my-10-day-meditation-retreat-in-silence-71abda54940e > medium_post.md
Then, I open up the file in a code editor.
There are a couple of manual adjustments that you need to make.
For one, all the generated images have the wrong domain name in the image address. However, you can usually do a find and replace to update it all of them.
Second, there are often issues with italics. You will see something like this:
The exporter puts a space in between the end of the word and the closing asterisk which causes issues. However, you can easily see this in a code editor.
Also, look out for this issues with asterisks used for making things bold:
Finally, you also have to manually insert the Markdown for code. With multiple lines of code, you use
~~~ to start and end the block:
For single lines of code, you use ticks:
Once you have finished making adjustments, you can post the Markdown code to Leanpub, publish an updated copy of your book, and update the completion status.
Once you have published all of the chapters, go back and double check all the format, making revision, and publish new updates on Leanpub.
Once you have published all the chapters on Medium and Leanpub, you can create the landing page (if possible).
I set up all my domains with AWS Route 53. I use Codepen Projects to create my static landing pages and deploy them with ease.
Here’s my Codepen project for Learn React VR which renders the following:
I then update all my call to action links in my Medium posts to this landing page.
That’s it! I hope this provides a bit more insight and guidance for creating an ebook product as you learn new skills within modern development. Please leave your feedback and ask questions you may have.
If you would like to support what I am doing, please consider buying my ebooks here.
Founder of Coding Artist