DEV Community

Cover image for So I wrote a technical book 😁
Sebastien Castiel
Sebastien Castiel

Posted on • Originally published at blog.castiel.me

So I wrote a technical book 😁

Big week for me: I finished writing my eBook in French about React, and I couldn’t be prouder. Eight months, and it was not easy, but it’s so worth it. In this post I wanted to expose a few thoughts about what happens when you write a technical book.

Why? From the idea to starting writing

Actually this isn’t my first eBook, I already wrote one about Node.js a few years ago. But it was much smaller, and I was decided to dedicate a lot more energy in this new one.

Book « Découvrez Node.js en quelques heures » and « Des applications modernes avec React »


My first eBook (left) and the new one (right).


I took the opportunity to make similar covers!

I love writing technical articles (on my blog or other platforms such as Dev.to), and I always thought I’d like to write another book. React has been my favorite technology for several years, and luckily for me there was almost no book about it in French. I know every (French) developer is not necessarily comfortable in English, so I’m convinced it’s important to have books and articles in French too.

So the choice was not difficult to make: a book about React could really be needed somewhere by someone!

Publishing in-progress content

From the beginning I wanted to publish the content as soon as I write it, chapter by chapter. I thought this was a good opportunity to:

  • get feedback from readers;
  • be motivated by people reading your work and trusting you.

For these reasons I chose LeanPub platform, as it integrates this philosophy at its core. I can’t say I received a lot of feedback from readers, but the only fact that a few people trust you and buy your unfinished book is a huge source of motivation and energy 🙂

What should I talk about?

At start it was an easy question to answer: I wanted to write a first chapter about React basics (components, state, JSX, etc.), a second one about Redux, and a third one about React Native and Expo. But for the next ones it wasn’t that easy.

I didn’t want to present libraries that could be deprecated in a few months, or that would require only a quick tutorial to be used. I wanted to write about useful practices that would be used by a great number of React developers.

List of chapters in Trello


Trello revealed itself to be an excellent tool to organize content ideas.

For instance I could have written a chapter about GraphQL, there would have been a lot to talk about. Or maybe GatsbyJS to write static websites. I preferred dedicate the fourth chapter to several notions that could be found in a great number of apps: forms, routing, authentication and accessing a distant API. Of course I had to choose libraries (respectively Formik, React-Router and Firebase), but I really hope that practices I described can be applied to other libraries or services.

The importance of the visual aspect

LeanPub offers a nice workflow to publish a book. Basically you can write using Markdown, push to a Git repository, and the ePub, PDF and MOBI files are generated automatically. I began writing using this workflow, but very quickly I found myself very demanding about the visual aspects of the content, especially the PDF.

Terminal output of building the book


A very customized and optimized workflow.

So I created my own workflow to convert Markdown files to ePub and PDF, and thanks to Pandoc I’m very proud of the result. It’s not an easy thing to do and it takes time, but I know I will be able to reuse everything for potential future books. Maybe I’ll write a full article about this workflow so other technical writers could benefit from it.

So what now?

Now my book is available on LeanPub and Amazon, I sold a few copies on the first coupe of days and it’s awesome! I’m waiting for some reviews, comments, suggestions…

E-mails from LeanPub: A reader just purchased…


My favorite e-mails these days!

I also started a blog with posts in French, MasterReact.io, which will be a good complement to the book: tutorials for all programming levels, new features, etc. And even some excerpts from the book.

My goal is to continue posting articles there, and maybe writing new material for a second edition. React is changing very fast, I’m sincerely wondering if a new React introduction (my first chapter) could integrate hooks from the beginning, instead of class components for instance.

I’m really open to questions you could have if you consider writing a technical book some day (definitely you should, especially if you enjoy writing technical articles). Please feel free to ask in comments 😉

This article was originally posted on my blog. Photo by Sergey Zolkin on Unsplash.

Top comments (26)

Collapse
 
kayis profile image
K

Pretty awesome!

Writing development books is an excellent way to make some money on the side and get more recognition in the industry.

Also, you get the fun of developing, without all the responsibility of running a whole system in production, which is the best part, I think :D

I wrote one about React last year, and I plan my next one about serverless AWS.

Collapse
 
scastiel profile image
Sebastien Castiel

I’m not sure that a book is the best way to make money on the side given the time it takes versus how much it pays. Doing some freelance work might be a better idea for this goal 😅
But yes it’s still a very fun project, and having your name written on a book is really exciting 😁

Collapse
 
kayis profile image
K

Sure, freelance work pays much better, but I wouldn't consider it money on the side. xD

I wrote like four months on the book, while doing other things and made enough money from it to pay my rent for almost a year or so.

Collapse
 
nans profile image
Nans Dumortier

Keep us posted, I'd love to read more about serverless :D

Collapse
 
kayis profile image
K

I will!

Collapse
 
rgeraldporter profile image
Rob Porter

Félicitations!

Collapse
 
scastiel profile image
Sebastien Castiel

Merci 🙂

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

Book writing is a long and tiring process. Congrats. The presentation seems nice. Oui c'est une bonne idee de poster ici dde temps en temps car ce site est super. Sinon avez-vous essayer un workflow avec python?

Collapse
 
scastiel profile image
Sebastien Castiel

Thanks 🙂
I haven’t tried another workflow, since Pandoc is perfect for what I want to do. Of course if I wanted to write several books, or offer this workflow to other writers (by an open source tool or an online service) it would be relevant to optimize it and make it more reliable 😉

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

"It’s not an easy thing to do and it takes time," that what makes me think so, else, c'est bien de voir des francophones dans le coin!

Collapse
 
dance2die profile image
Sung M. Kim

Congrats there, Sébastien 🎊🎈🍰🍥

Collapse
 
scastiel profile image
Sebastien Castiel

Thank you ☺️

Collapse
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

glad you added the é

Collapse
 
dance2die profile image
Sung M. Kim

Been reading so copied his name from profile 😉

img

Thread Thread
 
abdurrahmaanj profile image
Abdur-Rahmaan Janhangeer

haha i guessed so but being able to read french, someone getting it right denotes a caring attitude 👍

Thread Thread
 
dance2die profile image
Sung M. Kim

🤜

Collapse
 
jeremyrobert profile image
Jérémy ROBERT

Et hop livre acheté ! Même si je lis beaucoup d'articles en anglais, c'est agréable de revenir un peu à sa langue maternelle.

Félicitations !

Collapse
 
scastiel profile image
Sebastien Castiel

Merci Jérémy 😁

 
scastiel profile image
Sebastien Castiel

You’re right, elitist might be a strong word. Let’s just be inclusive for people who want to learn programming without being fluent in English 😉

I’m totally able to learn from an article or book in English, but if I know there is a French alternative, I’ll be more comfortable.

Collapse
 
rhymes profile image
rhymes • Edited

Felicitations Sébastien! Ça est super! La documentation en chaque langue est précieuse!

Collapse
 
scastiel profile image
Sebastien Castiel

Merci 🙂

Collapse
 
jamesmh profile image
James Hickey

Awesome dude! I'd love to see another post on how you customized the look. ✔

Collapse
 
mortoray profile image
edA‑qa mort‑ora‑y

Great work!

Collapse
 
scastiel profile image
Sebastien Castiel

Thanks 😊

Collapse
 
scastiel profile image
Sebastien Castiel

Yes it would be quite elitist to restrict programming articles, books and courses to English-speaking people.