I finally did what I’d been threatening to do for a year now! I self-published my book. I settled on Leanpub as the platform to use because of their philosophy: publish early, update often. I can launch with a beta version!
https://leanpub.com/theguidetoi2cdebugging

Why did it take so long?
Publishing is a very public act and will have an impact on my professional image. I was worried if I put some garbage out there, it could backfire. But after seeing some recent self-published works, I realized I might overthinking it.
I also wanted to validate the need for this book. For years, I’ve searched for a book about debugging serial protocol issues. I wanted something to recommend to software engineers entering the embedded world. I haven’t found such a volume, so I decided to write it myself.
I spent 3 months balancing my time between writing, illustrating, and editing. Being a time-boxed project, I knew it would not be completed. There are gaps. There are diagrams borrowed from elsewhere.
I had two experienced engineers look over the draft, and they confirmed my suspicions. There is solid content, but the volume feels like two partially written books bolted together. There’s a stylistic shift between the discursive primer and the terse how-to guide.
Shifting scope and getting off track.
I envisioned a pocket guide to debugging I2C, SPI, and UART for software engineers. As I wrote, I realized that there is so much vocabulary and technique that is known among hardware and firmware engineers. I needed to add primer information to bridge that gap. I also realized that I only had time to focus on one interface type, so I limited myself to I2C.

What are the next steps?
I need to split the book into appropriate volumes. I know I still need to add more details, but some chapters may also be redundant.
I need the illustrations to be free of copyright issues. I am looking at drawing tools, like CircuiTikZ, to help with the task.
I will need code samples, both to show issues and also to recreate logic analyzer and oscilloscope captures.
Before I invest time in finishing the work, I’d like to get more feedback. Sharing a Beta seems like a good thing to do.
So, why now?
The timing felt right. I could also say, “I had a few spare hours.”
Self-publishing has been on my mind for a while. I’ve seen excellent works, and some awful ones. One recent book on embedded protocols was clearly a speech-to-text transcription from a YouTube video. Compared to that, my book is already a step up.
Another book I bought recently, on text-to-diagram tools, mirrored my own challenges. It had valuable content, but the layout was uneven, and the self-publishing quirks stood out. This reassured me: my book has no more issues than other self-published works. If I put it out there, I can get useful feedback.
So, it’s published!
I hit publish. That makes me a published author.
I’ve written a few hundred blog posts in the past and published them, so I guess it’s nothing new. The only difference is the size of the book. One day, I’ll add “published author” (and maybe “nexialist“) to my LinkedIn profile and résumé, but for now, I’ll wait until I have my full first edition.
