I can write the code and I sort of understand the circuit, but where the two meet is a fog. When something breaks I can never tell if it's my software or the actual hardware. I poke at both and just hope one of them gives.
More people experience this than they realize.
You can't tell where the code ends and the hardware begins, so problems become guesswork.
If this sounds familiar, the Library can help you find the bigger picture.