After having interviewed, code-tested and hired quite a number of developers I can say the premise of this story is complete hogwash. You may be able to program to some level without talent or passion, but the talented, passionate ones will always outperform the untalented ones.
Citing Kaplan-Moss, Thornton, Lerdoff and DHH does not make it true. That these programmers don't consider themselves talented doesn't mean they aren't talented. They actually are very talented and passionate. They just don't see themselves in that light. You can't believe what they say, you have to look at their work.
A lot of these comments they make is actually a form of virtue signalling. It's a way of bringing themselves down a notch so you feel they are more relatable.
To be fair, the premise of the story is that "Programming Doesn’t Require Talent or Even Passion", and I can confirm that I've met plenty of untalented and unpassionate programmers.
Obviously the talented ones will outperform the untalented ones (pretty much by definition), but not everyone has to be great. There is a strange pressure in this industry, almost that if you aren't great, then you are failing. It's taken me 10 years to get comfortable with the fact that I'm never going to be a 'name' (ironically, despite my name).
There's plenty of room for mediocre people in this industry (not that I want to work with them, but there is plenty of work elsewhere for them to do).
If for some reason the goal is to stretch the term of "programming" then yes, there is plenty of room. I even remember a joke about programming being regarded as (plain) writing and the need for people that write faster. One could succeed with down-valuing the "programmer" title (for leverage on salary negotiation, perhaps?), but then we end up with this kind of problem: https://news.ycombinator.com/item?id=13612992 (on HN's 1st page at the time of this writing).
I on the other hand agree with the article and disagree with your assertions.
Talent is a natural aptitude. Passion is a strong feeling or belief.
What's that got to do with being competent at programming?
In the book "Facts and Fallacies of Software Engineering" there's a quote I really liked that seems appropriate:
"If your life depended on a particular piece of software, what would you want to know about it?” Bollinger responded, “More than anything else, I would want to know that the person who wrote the software was both highly intelligent, and possessed by an extremely rigorous, almost fanatical desire to make their program work the way it should. Everything else to me is secondary. . ."
Note that said fanatical desire is not a passion for programming, though it can perhaps be considered a passion for quality.
I'd have to go with intelligence, expertise, ethical behavior and rigor. Couldn't care less if someone had a natural inclination or passion for programming. This is stuff one might need if they want to convince someone to work at their startup for low pay.
That's not virtue signalling it's countersignalling. They're so obviously great that no one is going to doubt that no matter what they say. If someone who's mediocre says they're not talented it's easy to believe. If they actually suck even more so. When you get to DHH levels whether they have natural talent or are "just" extremely hard working with an average amount of talent becomes academic.
I don't think they're obviously great and I believe them when they say they don't consider themselves so.
They're not Donald Knuths, you know? Making somewhat novel web frameworks takes a bit of inspiration and knowledge, but it's not like it makes you a hero.
I agree that talented programmers are better than non-talented programmers (in the same way I'd prefer to hire a "talented" plumber to fix my broken toilet than a non-talented one...)
But I think that the article is spot-on with regards to "passion" setting a really high-bar that is totally needless.
I dont really care if the plumber I get in to fix my toilet is "passionate" about getting shoulder-deep in the bowl to fix it - I only care that he has the skills to do a good job that sorts out the immediate problem and wont cause more problems later.
Why do we think that programming is so different from plumbing that we not only need pure skill but "passion" too?
I kind of agree with you. If the job just requires putting something together or fixing something that has been done before then you only need a programmer with talent. Like your plumber example.
But if the project is something different that requires creativity then I'd prefer someone talented and passionate who cares about the quality of his work above and beyond.
An non programming example would be someone who's designing, building and interior decorating your dream home. Do you want someone with talent or someone with talent and passion?
The person with talent would give you a house that you've probably seen elsewhere. Everything is up to building code but doesn't surpass it. The floor hear and there migt develop a squeak down the road or maybe the layout is not as convenient after livin there for a while. The interior while nice is nothing exceptional. You're not going to wow your friends witht it.
Now the guy with talent and passion. The home will be a unique design. It will be built solid with many future problems already taken into account. The layout is perfect and the interior is amazing.
So in my opinion, passion is important when you're trying to do something new and/or unique regardless of the timeline.
Citing Kaplan-Moss, Thornton, Lerdoff and DHH does not make it true. That these programmers don't consider themselves talented doesn't mean they aren't talented. They actually are very talented and passionate. They just don't see themselves in that light. You can't believe what they say, you have to look at their work.
A lot of these comments they make is actually a form of virtue signalling. It's a way of bringing themselves down a notch so you feel they are more relatable.