I would rather work with an actual "bad programmer" than with the kind of person who'd spend their time thinking up "alternative careers" for these people.
I kinda think it's like the Roth test for obscenity. I can't really explain what makes a shitty programmer, but "I know it when I see it."
Most people I've worked with over the years have understood their limitations and would never consider themselves great, with the possible exception of half a dozen or so folks, who truly are great.
There have, of course, been exceptions, too.
I've only had the pleasure of working with a handful of what I considered truly great programmers. I don't think a single one of them considered themselves to be "great" even though I thought they were.
Thinking that you are better than another person just because they haven't focused on your own domain of knowledge is arrogant and delusional, and in my experience many of the truly great are humble in the extreme (think Dunning–Kruger effect).
That said, a bad programmer can be a big problem if you are victim to their work. The same could be said for a bad taxi-driver or chef.
I think the article is more in the spirit of making fun of bad practices than character assassination, and that's something I can support :)