Creating a book-driven course: is it worthwhile?
Tags: teaching, course, workshop
Published: 2021-04-18 14:09:27

Writing a book containing a whole course that helps the instructor in case of jams and allows the attendees to follow the course at their own pace. Why?

*About the cover image: Me teaching at the Italian ReactJSDay conference. Thanks to Jaga Santagostino for the photo.*

---

In late 2019, I taught my first Front-end testing course. **I talked for four hours**, driving the attendees through an unusual path: starting from the top of the Testing Pyramid instead of from the bottom. I would have started from a low-quality E2E test going through all the [UI Testing Best Practices](https://github.com/NoriSte/ui-testing-best-practices) to become a UI testing winner.

My main doubts were: what allows me to track down the journey I want my participants to drive through? Should I use a text file with a list of bullet points? Should I use some slides?

At the same time, **what I could leave to the attendees** to return on the topics later on? **How could I avoid them annotating** what I say? (taking notes distracts, and distractions have a high cost because attendees could get lost for 30 minutes in a course where every detail is important).

What solves all my problems at once? **Writing a book!** I don’t focus so much on the in-person course but on creating a book that allows everyone to follow the journey step by step.

### How

The design process is:

 1. Listing all the best practices I want to teach

 2. Creating a journey to connect all the best practices

 3. Preparing a series of exercises for every step of the journey

 4. Writing a chapter for every exercise

 5. Polishing the book and making it accessible to the attendees

### The efforts

* Since you write the book for the public, the attention you put in is entirely different compared to a list of notes for yourself.

* Every chapter goes from a long code snippet to another. It includes the starting exercise, the ending exercise, and **all the diffs** every paragraph describes. Writing down **all the steps** of the reasoning requires a considerable amount of time.

* Sooner than later, you find yourself adding a lot of media to the chapters. Both screenshots and videos take time.

* Then, you must re-read the whole book to find errors and check that the path works and makes sense.

FYI: **it took 60–70 hours to write the book for a 4-hour course**! 😱

Is it worthwhile? It depends. In my case, it worked exceptionally well! Go on to read all the benefits of such an approach.

## Benefits for the attendees

* The course goes off without a hitch, with no downtimes.

* Attendees can follow the course at their own pace. Someone is faster and looks at the following chapters during the Q&A moments, while someone is slower and makes up during the breaks.

* Having the whole book containing the exact words and examples is valuable for going back on the contents later.

## Benefits for the instructor

* You objectively realize if the exposure flow works or not. If writing is hard, chances are the flow is not clear in your mind or that it doesn’t work.

* Whatever goes wrong during the course, you are safe. You’re writing a snippet, and it doesn’t work? Copy/paste the code from the book! Do you have a memory lapse? Read the contents from the book!

* For me, following a pre-defined flow requires fewer efforts than improvising.

* You don’t have to think about where to place contents like instructions, descriptions, about-me page, etc., because they naturally fit into a book.
>  Please note: it doesn’t mean you have to learn the course by heart and then to recite it. Body speaking and showing passion is important while speaking/teaching.

## Post-course perks

* Teaching the same or a similar course again is easy.

* [Educative.io](http://educative.io/) contacted me, and they’re transforming my book into a course on their platform right now (April 2021).

* The book is a collection of valuable resources. You can even publish them individually or use them when people ask for help.

To leverage the post-course perks, you should think of an update strategy too. In my case

* [Renovate](https://github.com/renovatebot/renovate) and automatic merges allow me to keep it updated with the latest dependencies update.

* Since the whole front-end testing world moves at an incredible pace, I trace everything valuable to update the book for the next course.

## Conclusions

Creating the book has been hard but the quality of the course and **the satisfaction of the attendees completely rewarded me**.

In economic terms, the next courses will return the investment 😉

Thanks for reading, I look forward to knowing your approaches and experiences 😊

### Special thanks

* [Fabio Biondi](https://fabiobiondi.io/): he suggested me to create the book

* [Cesare D’Amico](https://www.linkedin.com/in/cesare/): he offered me to teach at the Italian ReactJS Day conference without prior experience ❤️

* [Simone D’Avico](https://www.linkedin.com/in/simonedavico/) and [WellD](https://www.welld.ch/): I asked their developers for a dry run of the course. We spent a lovely day together 😊 (and I always remember Simone’s feedback “They never wrote a test in their life, now they’re crazy for Cypress” 😁)

* [Jaga Santagostino](https://www.linkedin.com/in/jagasantagostino/): my first course was a joint venture 😊

* [Paolo Combi](https://www.linkedin.com/in/paolocombi/): helped me with the dry run of my last course

Last but not least: [Matteo Ronchi](https://www.linkedin.com/in/matteoronchi/), because he reviews every single article of mine 🤗