Linkedin on "real programmers"
As a physicist by education with a hobby in electronics I have a good laugh at people who arbitrarily pick an abstraction level to claim this is the one and fundamental at which you need to understand and operate in order to call one a "real programmer". My sibling in assembly, you couldn't debug a two-transistor NAND gate, so please don't tell me you "understand how computers work". And to my siblings in electronics -- you don't even know band theory of semiconductors nor remember how to solve a simple single-electron Schroedinger equation. I'm not better -- asked randomly, I'd probably also need to google some of the above.
Programming is picking your abstraction level at which you're going to make sand think, and then make the sand think in a way that it delivers value to people. Sometimes it means writing assembler, sometimes it means writing a new disk driver in C, sometimes it means asking your IDE to generate Java code for reading a text file because nobody remembers this shit and nobody should have to.