The why and the how of my fifth book
is a developer, technical writer, and a (former) designer.
Image by codingexercises
I am not saying that there aren’t any good books out there.
Obviously, there are many reasons for this. In this article, I’ll outline my approach and problems I tried solving while I was writing this book.
Technology moves fast, so a book must keep up with it
Technology moves fast.
This is a major issue for the tech publishing industry. How can you cope with the pace?
One thing that comes to mind is writing evergreen books.
What I mean by that is, writing books that will constantly be updated.
Books that will change with the technology.
Books that you can issue in versions: 0.1, 0.2, …, 1.3.
Just like software!
Ok, so I’ve explained why I’m self-publishing this time.
The missing staircase problem
The only problem, the exercise is to hard, and thus, pointless.
It’s as if you’d go to a gym, and the instructor shows you the proper way to bench-press 100 pounds. Then, after they’re done, they say: ok, now bench-press these 500-pound weights, for practice.
It’s a bit silly, and I’ve seen that again and again.
I call this the “missing staircase” problem. Rather than guiding you from one level of knowledge to the next, an author will often assume you can just “jump floors”.
I know superheroes are in vogue these days, but that’s a bit too much.
- Explain a simple concept
- Don’t go into too many details - cover just enough needed for understanding
- Show variations to the problem that will make the reader both exercise and see the problem from a different angle
- Limit the “number of new concepts per page” ratio
- Have 20, 30, or 50 foundational concepts that you’ll repeat again and again throughout the book
Each of these high-level approaches to transferring knowledge need to be very well thought-through and applied in a book. Thus, a book needs a lot of preparation.
As an author of a technical book, you need to spend more time thinking how you’re going to write it than the time you spend on the actual act of writing.
Address the most commonly-faced problems
- Convert regular bootstrap navigation into a sidebar navigation with specific implementation in jQuery
- Add custom navigation that behaves differently on mobile and desktop, using Angular
- Implement various versions of navigation for A/B testing on the same site
My point is: any book for beginners needs to address common problems that they’ll be faced with at work.
It needs to be practical.
Next, here’s the versioning history:
version 2020-01-07, Updated Chapters 2, 3, 4, and 5, added Chapter 6
Updates in version 2020-01-07:
- Fixed typos
- Added better explanations
- Added more examples of how to use the Quick Prototyper app provided at the end of Chapter 2
- Added function generalization in Chapter 1
- Added Chapter 6: The anatomy of an ES6 function - where we compare ES5 and ES6 functions