I Wrote a (Technical) Book and So Can You
How It Began
Back in 2022, I set a goal for myself to write one blog post per month. Since I enjoy writing about whatever I happen to be working on, I figured I would continue to do so but on a monthly basis. I started on a personal project and decided to build it with SvelteKit. In keeping with the spirit of this site, I wrote about various issues I encountered and the solutions I discovered. One of those posts gained some traction within the SvelteKit community and was even linked to on the official GitHub repository issue tracker. While I enjoy writing here on my personal website, it never dawned on me that I could write a technical book.
On December 6, 2022 I received an email from someone claiming to be from Packt Publishing. At first, I thought it was a scam as I have bought books and videos from Packt in the past. Surely, they wouldn’t want me to write a book for them, right? But I did a bit of digging online and confirmed that this is in fact, how Packt often finds authors. After reading what others had to say in terms of working with this publisher, I decided that the worst case scenario was that I do a terrible job and people on the internet say mean things about me.
I also figured that since I may not get this chance again, I had better take it. While I have been writing on this very website for almost ten years now, writing a book would be an excellent way to level up my writing skills.
Getting Started
To begin the process, the publisher requires all authors to submit an outline and product information. The outline is essentially the book’s blueprint which explains the overall concepts taught in each chapter as well as what the reader can expect to take away from them. The product information consisted of various market research metrics such as how many other books exist on the topic, how this book will differ from those other books, and who the target demographic is.
Anyone can do this part and if you’re interested in writing a book, Packt will gladly accept your outline and product information. There may be additions, revisions, or removals of entire chapters but generally, good changes to be made. If it is accepted, Packt will send you an offer and a contract.
Advances, Royalties, and Contracts
When writing books, publishers typically offer an author an advance payment. The advance varies based on the length of the book, plus a bunch of other numbers made up by the publisher. Once the books is published, the publisher then starts paying the author a percentage of each sale, aka royalties. But those royalty payments only kick in after the advance is made back by the publisher! Once the advance amount has been paid off, Packt then pays 16% in royalties. After seeing that the advance amount really wouldn’t amount to much, I decided to forego the advance altogether and immediately start receiving royalties. Whether or not this was a good idea remains to be seen and in hindsight, it feels like it was probably bad idea. It’s almost always better to have some money in hand than to go through all the effort, end up writing a terrible book that nobody buys, and have no money at all.
After going back and forth on scheduling and terms, a contract was signed on December 16th, 2022. This worked out nicely as I could then take my holiday vacation and worry about writing when I was back.
The Writing Process
After the holiday, I began receiving various resources. These consisted of courses on how to write effectively, usage of the publisher’s style guides, how not to plagiarize, and access to a community of their authors. I also received chapter templates, styles guides, and some helpful example chapters for which I was very grateful.
To actually start writing, I had the option of using the publisher’s SharePoint instance where I could write in the browser. This was helpful in that I could write anywhere but the writing experience in the browser was painful. I opted to import the official style guides into LibreOffice, where I would write the chapters locally, and upload documents to SharePoint as well as attached them to emails to the editor. I liked having my own copies of everything for the reason that should the publisher back out of the deal (for whatever reason), I could still self-publish everything I had written up until that point.
It was when I began writing that I realized how much more research I wish I had done. Of course, I did do research before submitting the outline but I had never given much thought into writing a book up until this point. Fortunately, the outline wasn’t set in stone so I could revise it as I needed to and simply inform the editor and publishing team.
My actual writing process was fairly straightforward. I would copy whatever content I had from the outline pertaining to the current chapter into my initial draft document. I would also dump any and all thoughts I had into the same document and attempt to organize them in various lists. Each chapter frequently began as a mess of ideas but the more words I added to the document, the easier it was to simply remove those that were no longer helpful. I found this was a great technique for overcoming writer’s block. Simply getting words on the page made things significantly easier. After revising the outline of the chapter and building out example code, I would begin writing by breaking the chapter into sections.
Once I completed each section, I’d go back and edit it. Having stitched them all together, I would then go back and self-edit the entire chapter. It was incredibly easy to get tired of reading my own words at this point but the sooner I tackled it, the sooner I could be done writing. I’d then send the chapter to the editor who was great about getting it back to me quickly, usually the next day. I would address all of his comments and then send it back. I would then receive the chapter as edited by the technical reviewer and make the recommended adjustments. I would then move on to the next chapter and repeat until a book had finally taken shape.
Issues
When writing code, I typically use LunarVim. I love having Vim shortcuts so I can quickly edit whatever it is I’m writing. I didn’t love using LibreOffice to write. It’s nothing against LibreOffice. In fact, I was amazed at how I never had any compatibility issues with .docx
file types or the provided style templates. It’s just that LibreOffice isn’t Vim. In all fairness, I have the exact same gripe with WordPress’ Gutenberg editor which I am using to write this very post.
The only other pain came when I received the initial drafts for final approval. It’s safe to assume that someone in the process ran into problems with their keyboard, mouse, or copy/paste functionality as multiple chapters came back to me for review with broken styles or improperly formatted code. After the first three chapters went back and forth more times than they should have, I was informed that the issue was resolved. From that point on, there were only occasional issues within the final drafts but I had to be sure to read them all from beginning to end to ensure the content was correct. And that was the biggest pain because I don’t love reading my own writing; that’s for you to enjoy. 😉
Non-issues
Really, the process was smooth and there were hardly any issues. The team was really understanding and professional. If I got sick and needed more time, or wanted to change the outline, I just had to let them know. They were incredibly patient with me and always answered my questions politely. I always looked forward to checking my email inbox in the mornings. And the asynchronous style of work, worked out really well. I’d write, send the document off, and in the morning have feedback waiting for me. If I disagreed with the editor or technical reviewer’s suggestions, I could provide my reasoning and we’d move on.
Marketing
Surprisingly, a lot of the marketing seems to fall on authors. Packt’s strategy boils down to this:
Find influential people on social media that will publish content promoting your book in exchange for a free physical copy.
Find people to provide Amazon reviews of your book in exchange for a free digital copy.
Join Packt’s closed social network for authors and see if anyone there will buy or promote your book.
Make your own social media posts announcing your book.
They likely offer the book when advertising their subscription service but to me, this felt insufficient so I bought the domain sveltekitbook.dev and built a site to promote the book, all the while using concepts taught in the book. I also took the opportunity to learn Tailwind CSS while building it. The marketing team did provide me with some images to use in social media posts and on the site, as well as feedback about the site. And it was all very much appreciated.
Now what?
Being a freelancer, I’m used to tracking my time. Overall, I spent over about 190 hours writing and editing and another 40 on various other tasks over a 7 month period. I averaged approximately 1 hour per page. I had hoped to get that lower but was never able to. If you’re considering writing a book, know that it is a massive time investment. For this reason alone, I’m not sure that I would do it again. At least not anytime soon. It was a monumental undertaking and the stereotype of starving authors exists for a reason.
That being said, it was rewarding and I’m glad to have done it. I never set out to write a book but I’m grateful that I did, as I learned a lot along the way. Plus, I can now say things like “Don’t you know who I am?! I’m a published author, goddammit! You can’t treat me like this!” the next time I’m being hauled out of the store by Barnes and Noble security.
To buy your very own copy of SvelteKit Up and Running, visit https://sveltekitbook.dev!