Here is how I know that programmers don't know what problems are: they keep saying that what they do is solve problems, even though they're not. Not uncommonly, the process of how they pick their "problems" goes something like this:
The Story of the Problem That Needed Solving
Enter RICH, a person with money and wishes, and DUMBEY, the person who knows how to write code, both wearing clothes
RICH
Hey Dumbey, I want to do this thing that I want to do, but I can't. I really quite wish I was able to do that thing.
DUMBEY
Oh, I'm sorry to hear that, Rich, why can't you?
RICH
I… just can't. It's not possible.
DUMBEY
Oh no, that's terrible, you must be devastated. You know what? That's a problem. But today is your lucky day, because I am a programmer and I can bring things into existence by the magic powers of thinking and typing.
RICH
Sounds like you could really solve my problem, Dumbey!
DUMBEY
Sure thing. I am totally going to solve your problem for you, because solving problems is pretty much what I do.
Analysis
See what happened there? There was no problem. Rich and Dumbey kind of just made it up.
Rich can't do something that's really, really high on his wishlist? Well, that's really sad for Rich, but is it a problem? Not necessarily. But you can easily turn it into a problem by not realizing that sometimes, it's okay to not be able to do something.
The other thing that happened is that Dumbey kept repeating to himself and others this idea that he was a problem solver, so much that it didn't really matter what he was actually doing.