The vast majority of developers I know completely freak out at the idea. I might as well suggest that they deadlift a car.
A few take it calmly, but don't really grasp what the stuff does or what it means.
I can probably count on one hand (maybe two?) the number of developers I know who can actually do something useful in that situation.
And that's just assembly language. Not even machine code, let alone actual hardware.
Most developers don't understand what goes on below wherever they work, and that's how it's been for a very long time.
1. The layer below has a bug that manifests at the top layer. You're not sure if your code is broke or if the stuff your code is built on is broke. I see this a lot in the Java world where people use frameworks / libraries they're sometimes not even aware of they're using and it has a bug.
2. You run into performance problems because of the things you're using at the layer below you. C++ STL containers is a good example. It's pretty much black-magic, have you ever looked at the implementation? I also see this a lot in the Java enterprise world. One of the selling points of Java is that it's monkey-coder friendly. Except when it breaks and the monkey doesn't know how things work under the hood.
Other than that, you should be fine not knowing the layer below you.