I think there are very few, if any, things in software development that have an analogue in that second category.
Sure, if you're positing that the average developer has a PhD in computer science, or software engineering.
But for the average software developer, gaining an understanding of the implementation details of their preferred programming language, or relational database, or browser HTML rendering engine, etc. (or any of a half dozen or so other systems or components they regularly use as black boxes), would in fact require a similar level of effort.
For any given X, an "X Developer" can mean a developer using X, or a developer of X. The latter is where the analogies lie.
I'm not taking a stance like "if it was hard to write it should be hard to use", but quite a lot of software only seems to exist in order to hide complexity away in black boxes, often in trivial ways.