You're not dumb, the prerequisites are bullshit
There’s a chapter you can find in almost all technical books you’ll ever open. I hate it with a burning passion. It’s the chapter titled “Who this book is for,” usually found in the book’s preface.
Authors (actually publishers) use that chapter to list the skills you should have to keep up with the book contents. More often than not, it’s misleading, downplays the expertise you need to have, and it sets the bar unrealistically low.
But why do they do it? To try and sell more books, of course. If you can broaden your target demographic, chances are you’ll sell more copies of the book. In the end, it’s hard to prove that it’s misleading because experience is subjective. What’s the difference between being a novice and an intermediate Java developer? It’s open to anyone’s interpretation. That’s the beauty of the scheme.
Once, in what is now a distant past, I was gullible enough to believe the contents of that chapter. I would usually skim through the book’s first pages to find the prerequisites needed to follow the text. I would buy the book, happily breeze through the first few chapters, and I would get that nice rush you get when you learn new stuff.
Then, I would come to a chapter that made no sense to me at all. It’s like the author went from some basic arithmetic to a deep dive into complex topics on the mysteries of the universe. At that point, I would get frustrated. I would ask myself if I’m dumb. Stubborn as I am, I would spend hours reading other sources on the subject and then return to the book to prove that I could master the topic and finish the freaking thing.
I don’t think it should be like that. It would help if you were honest about the level of knowledge that your readers should have before explaining some concepts to them. Dear publishers, rethink how you’re writing the “Who this book is for” chapter. You may lose some readers, but the ones you’ll get will be grateful for not feeding them bullshit.