It has taught me enough that I think I could compose a protocol out of primitives that on the surface appears to do what I've intended it to do. It has also taught me that there are many subtleties that can completely break a protocol, combining primitives can lead to unexpected weaknesses, and many people who understand crypto far better than I ever will have created broken protocols out of secure primitives.
I'm not sure it's the book you're looking for, but I think it's a good book if you want to understand crypto, but not design your own.
If you're using (say) libsodium to do exactly the kind of thing 100 other developers have successfully used libsodium to do in the past, you're fine. But it takes a deceptively small and subtle set of steps to end up synthesizing a new cryptosystem (see: attempts to build secure messaging systems out of libsodium primitives) without realizing that's what you're doing.
Learn a bunch of the theory! It's important.
Yikes!
Is this clever metaphor original with you?
Ex.: https://gist.github.com/tqbf/be58d2d39690c3b366ad or https://www.latacora.com/blog/2018/04/03/cryptographic-right...
Book by Bruce Schneier, Niels Ferguson, and Tadayoshi Kohno.
Today, I'd read Serious Cryptography or Real World Cryptography.
A large part of modern cryptography is figuring out secure composition.