© Azat Mardan 2019
Azat MardanWrite Your Way To Successhttps://doi.org/10.1007/978-1-4842-3970-4_2

2. ProgWriter

Azat Mardan1 
(1)
San Francisco, CA, USA
 
../images/468516_1_En_2_Chapter/468516_1_En_2_Figa_HTML.jpg

So why write programming books when there are a lot of free online resources (portals, YouTube videos, slides, presentations, and podcasts) and other less competitive products like software itself? Or why write programming books and not vampire novels that have a bigger market?

In this chapter, I’ll cover the following topics:
  • Why write books?

  • Why write a programming book?

  • Traditional vs. self-publishing

Why Write Books?

Why bother with writing books? Why can’t we just keep writing software? I’m often asked about these questions, and each time, I’m reassured that writing about technology or techniques helps me in many ways in which pure coding can’t because
  • It provides a better and deeper understanding of a particular technology and is a means of explaining it to others (not just grasping concepts intuitively, which often happens when all that the programmers do is write code).

  • It creates motivation to research, learn, and document some obscure functionalities, features, and pitfalls that otherwise likely would have never been discovered just by using the code. For example, some Express.js configurations probably would have taken me months and years of development to discover, because they are not necessary in day-to-day tasks, but knowing and using these configs can greatly enhance the quality of code and the product.

  • Practicing better written communication is paramount to achieving success in our careers or businesses in our asynchronous world (e.g., documenting, communicating via e-mail, and writing marketing copy), because people text and e-mail instead of calling; and at work we write IMs, e-mails, and JIRA tickets instead of talking in person.

  • Developing the skills to formalize ideas and thoughts is a must for technical leaders who need to learn, practice, and improve their ability to persuade (and their ability to present their ideas in the best way).

  • Establishing yourself as a thought leader in technology will boost your job security, improve recruiting/hiring appeal (when you are hiring others), and help you get speaking engagements at conferences (e.g., my QConNY 20141 speech about CoffeeScript2), meetups, and trainings.

  • It can create a source of passive income to supplement your fluctuating freelance income or even regular income.

  • It can help others to avoid the frustration of making the mistakes that you’ve made, save them time, and enable them to learn new technologies faster and more effectively (time to market is faster for self-publishing and blogging).

  • If you make a mistake in the code, the whole thing won’t work, but if you make 10 or 20 typos in the book, it won’t prevent readers from getting value. Hey, most readers won’t even notice them!

Info

../images/468516_1_En_2_Chapter/468516_1_En_2_Figb_HTML.jpg

A fun anecdotal behavior that I’ve noticed: most people don’t read books, and programmers don’t read books even more. Sometimes I receive reviews or comments from people who clearly didn’t bother to read even the Introduction of the books. The article “Programmers Don’t Read BooksBut You Should3 supports my observation. On average, software engineers read zero books per year. But they sure buy them. Some put them on shelves or use them as monitor stands4 while others skim through the Table of Contents and borrow code examples that they can possibly use in their latest projects.

I want to caution you, though. The path to writing programming books is not a get rich quick scheme. There are no shortcuts, but if you approach it seriously, it can generate a fair income. As was mentioned before, I’ve met dozens of technical authors online and in person who’ve made anywhere from $10,000 to $130,000 on a single book, usually in a span of just a few months, by working on it part-time in addition to their full-time jobs or freelance projects.

The best part is that after a relatively intense and active period of writing and publishing, you can enjoy the income passively! This beats even Software as a Service (SaaS) products because they require ongoing support and maintenance. Aside from fixing bugs and typos once in a while in new releases, books are pretty much an upload and forget thing. In other words, you have the potential to make money without putting in hours of labor. You can make money in your sleep! It was fascinating to wake up in the morning and check my inbox: one, two, or three sales of Rapid Prototyping with JS via Leanpub. Whoo-hoo! The magic of passive recurring income is obvious. But I noticed that other aspects of the process were more important to me in the beginning when I had zero sales: improving my understanding (sometimes learning something from scratch) and my thinking and writing skills and helping others.

Writing a book is not easy, unless you enjoy writing (on a blog for example) like I do. You must have good reasons to write a book in order to successfully finish it and make it a hit.

Here are the good reasons to write a book:
  • You have something to share.

  • You want to learn something.

  • You want to check it off your bucket list.

Not-so-good reasons to write a book:
  • To make tons of money and live the author’s lifestyle—whatever that means (probably living on an island).

  • To become famous: only in narrow circles of nerds and geeks (my pinnacle is shown in Figure 2-1).

  • For prestige and reputation, or because it’s trendy and everybody has a book: this is the worst reason to write a book. But without a doubt, having a book listed on a résumé is a good way to hack your way into a job.

../images/468516_1_En_2_Chapter/468516_1_En_2_Fig1_HTML.jpg
Figure 2-1

Someone put my name on the demo video on HipChat’s home page

Why Write a Programming Book?

Why write programming books and not novels? Because anybody can write a novel, and the fiction market is super saturated. The demand is also higher (anyone who can read versus only people who program or want to start programming, as shown in Figure 2-2). However, because programming books help people to make more money and they are not just entertainment, they are priced two to three times higher, that is, $20-$50 per technical book vs. $3-$10 for a novel.
../images/468516_1_En_2_Chapter/468516_1_En_2_Fig2_HTML.jpg
Figure 2-2

Venn diagram showing that not every programmer reads the books he/she buys while others enjoy free resources

Traditional vs. Self-Publishing

There is definitely more money in self-publishing. The traditional publishing model is dying, or (depending on how you look at it) changing to adapt to the rapidly growing market.

Self-publishing is not new, but for years, self-publishing was frowned upon. Self-published books were mostly poor-quality books that couldn’t make it through the editorial fence of traditional publishing. But this changed due to a number of things:
  • Amazon’s support of Kindle and self-publishers.

  • Advent of better services and tools for writers (Leanpub, Scrivener).

  • Established authors started self-publishing their new books, removing the stigma.

  • New marketplaces for support staff: editors, designers, tech editors.

The main reason I went the self-publishing route with my first books is because I didn’t think any publishers would offer me a deal easily. Therefore, I didn’t want to waste time sending proposals. However, with my later books (Practical Node.js and Pro Express.js becoming a remake of Express.js Guide), I opted to partner with a publisher for the following reasons :
  • Some 70-80% of revenue is still in print books (according to Guy Kawasaki’s APE: Author, Publisher, Entrepreneur book)5.

  • I can reach more people. It’s better to have an audience of thousands than hundreds because they can give you more feedback, and your ideas and practices can spread to more people (potentially bringing people better results and saving them time, which they otherwise would have spent scouring free blogs in vain).

  • I can develop a stronger writing style and skills.

  • I can establish my name and reputation (to boost the sale of other products and secure speaking gigs).

  • Time-to-market is not an issue (the Node.js field is already quite saturated with good books, so time wasn’t an issue as it was with Express.js Guide). In other words, self-publishing has shorter time-to-market and you can use the Lean Publishing approach.

  • I can write about my experiences in future books (like this one!).

Typically, royalties can range from 6 to 10%, depending on the volume. This seems to be on par with the majority of the tech/programming publishing industry.

However, one publisher has a different model. In it, the company splits profits with authors, but my calculations showed that it ends up the same as ∼10% of the listing price. It is, however, more confusing due to discrepancies in normal, promotional, and distribution pricing .

Remember, advances are not free money. They count toward your future sales. So if someone gets $3,000 in advance upon publication (a typical range for new authors is somewhere between $1,000 and $5,000), that means it will be the last money that author will see in a long time. This is because with 10% royalties on, let’s say, a $29.99 listing price, it will take 1,000+ copies to break even and re-coup the advance. Sadly, 70% of technical books never sell more than 1,000 copies due to the narrow market and traditional publishers’ poor marketing. Therefore, the advance is the only money the majority of traditionally published technical authors will ever see. Maybe that’s the reason that more and more authors make their books available for free online in the hope of generating more buzz and attracting more attention.

Most traditional publishers do close to no marketing for your books.

As always, there are trade-offs and benefits . Traditional publishing gives a higher-quality product for beginner authors and the brand recognition, with the cons being lower royalties and less marketing flexibility.

There’s no cookie-cutter answer here. Knowledge (such as reading this book) is a key component of success. While writing books is hard work, the rewards far outweigh any drawbacks. The benefits are there, but only if you’re willing to put in the effort! In the following sections, I’ll share how I produced and marketed my books. I hope my experiences help you on your own path to becoming a successful progwriter.

The Time Spent Writing

An average book consists of about 300-400 pages or 30,000-40,000 words. At a speed of 1,000 words per day, that’s at least a month of full-time work (that’s 20 days multiplied by 8 hours = 160 hours). This calculation brings us an average hourly rate of $18.75 ($3,000 divided by 160 hours). In most areas of the United States, that’s below an average programmer’s hourly rate.

Info

../images/468516_1_En_2_Chapter/468516_1_En_2_Figc_HTML.jpg

As of this writing, the average rate for a software engineer in San Francisco / Silicon Valley is $50-$100 per hour.

However, if an author needs to perform extensive research, which is usually the case, and/or creates a few sample applications, the pace slows down, bringing the monetary benefit even lower. Sometimes I wonder if I can make more money by working at a coffee shop rather than writing in the coffee shop.

But there are outliers who make $50,000-$100,000 on their books. That’s what you should aim for if you want to make big bucks in publishing (and I’ll show you how to increase your chances).

For me, the realization that writing programming books generates serious side income came when I started making $300-$500 each month. I thought to myself: “Hey, if I can produce five or ten more books like this, it’ll be a piece of cake to make a few grand per month!”

Before you get too excited about the process, let’s dive deeper into what constitutes an author-publisher-entrepreneur process, using both self-publishing and traditional publishing.

The ProgWriter Creative Process

Yes, the progwriter term stems from programmer + writer, but in this day and age, it means a bit more. As Guy Kawasaki coined, a self-publisher is an author-publisher-entrepreneur, or as I call it, author, publisher, and marketer. So a typical progwriting process consists of:
  1. 1.

    Doing research

     
  2. 2.

    Picking a topic

     
  3. 3.

    Coming up with a rough outline

     
  4. 4.

    Writing and sending out proposals (an expanded outline with the author’s bio, a writing sample, and the book summary)

     
  5. 5.

    Creating a landing page with a sign-up form or preorder option

     
  6. 6.

    Writing a manuscript

     
  7. 7.

    Technical editing

     
  8. 8.

    Content editing

     
  9. 9.

    Copy editing

     
  10. 10.

    Proofing

     
  11. 11.

    Publishing either with traditional publishers or by yourself; launching

     
  12. 12.

    Iterating, selling, and marketing

     
In lean publishing, an author might opt to release the book chapter by chapter, getting feedback and pivoting based on steps 6-11. For example, this is what a self-publishing process might look like:
  1. 1.

    Doing research

     
  2. 2.

    Picking a topic

     
  3. 3.

    Coming up with a rough outline

     
  4. 4.

    Creating a landing page with a sign-up form or preorder option

     
  5. 5.

    Writing a chapter

     
  6. 6.

    Technical editing, content editing, copy editing, and proofing

     
  7. 7.

    Publishing and selling the book/chapter

     
  8. 8.

    Repeating the previous steps as needed

     
  9. 9.

    Releasing the completed book

     
  10. 10.

    Iterating, selling, and marketing

     
On the other hand, there is less control with traditional publishing (but more help). You may
  1. 1.

    Research and pick a topic for the book.

     
  2. 2.

    Come up with a rough outline or several outlines.

     
  3. 3.

    Write and send out proposals to publishers.

     
  4. 4.

    Negotiate and sign a deal (yay!), and if you’re good enough, get an advance payment.

     
  5. 5.

    Write a manuscript, and deliver it in one batch or chapter-by-chapter, which simply means that chapters can be in a different stage of the editorial process at the same time.

     
  6. 6.

    Undergo technical editing, content editing, copy editing, and proofing.

     
  7. 7.

    Initiate alpha sales.

     
  8. 8.

    Have the publisher release the completed book and collect royalties; if the sales are good, later, you can do a revised edition.

     

Step 4 is rather unpredictable and might take a few proposals to get a deal.

Info

../images/468516_1_En_2_Chapter/468516_1_En_2_Figd_HTML.jpg

A proposal is an expanded outline with an author’s bio, a writing sample, and the book’s summary. The writing sample can be a chapter or two.

My personal observation is that lean publishing is better suited for established authors (or people with existing followings through blogs, newsletters, or social media) and for hot topics that serve a huge demand in the market. In other words, sell painkillers, not vitamins. Sublime Produc tivity  6 is a good example of such an approach.

In any case, make sure your book really shines! Don’t permit any bugs or typos. I made this mistake with Rapid Prototyping with JS and got a lot of hate e-mails. Books are not like SaaS apps, which we might use quite often over the course of a week. Books are quite the opposite, because readers will, most of the time, pick up a book once only (or not at all), and if they don’t like what they see in the beginning or TOC, readers rarely come back. Even if someone read a book, liked it, and found some minor issue, they rarely come back to its new revisions. Books don’t produce as many feedback loops as software does. Also, the communication channel with books is not as clear as having a UserVoice7 form on your SaaS application. I found an anecdotal support that forms work better than e-mail does, because people tend to perceive forms as less humane and less personal, and therefore are more likely to submit the feedback that way.

No matter what, make sure your book is well edited (steps 7-10). In this sense, books are like software: it’s better to have fewer features with no bugs than lots of features with bugs. Again, I learned this the hard way when I released half-baked portions of Rapid Prototyping with JS 8—typos distracted readers from my message.

For simplicity, we’ll pack the aforementioned steps into three major milestones with traditional and self-publishing routes intertwining here and there:
  1. 1.

    Writing: The goal of having a manuscript with a market-validated idea

     
  2. 2.

    Publishing: The goal is to have consumer-ready files (usually PDF, Kindle/MOBI, IPAD/EPUB) and some sort of payment system in place

     
  3. 3.

    Marketing: The goal is to make the first sale and continue to improve the product

     

In Chapter 3 we’ll look at the research phase of your future book project and a few other topics.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.144.172.115