"the stuff that 90% of us will be doing won’t require any revolutionary coding expertise" -- sure. But we're not talking about revolutionary programmers. Just good. Mediocre even.
Sure, you don't have to be a revolutionary programmer to implement an O(n*logn) sorting algorithm. But I know too many bad ones that would easily make it O(n2 ). Or worse. And they're exceptional at soft skills. In fact, that's how they got the job.
Isn't what you're saying the reason a lot of applications eat up enormous amounts of memory, work slowly and terrifyingly bad? Because they were coded with smart, approachable, determined, polite, interpersonally superior people who just can't write code?
If I'm listening to music, I don't care how well the band leader gets along with his band. Not in the abstract I don't, literally zero efs. I want the music to be good. If I need a surgery, I want the surgeon to be as highly skilled as it's possible, and I don't care that he yells at his interns, and is openly sexist, or whatever. I don't, I need to stay alive, and hards skills of the surgeon are my best bet. You can choose that smart, approachable and determined guy with shaking hands, no objections there.
If I'm using software...
Interesting, I've never had to implement a sorting algorithm, apart from for interviews. Sure they're important programming principles but not something that's written day to day.
I bet you also never used "Animal->Cat" and "Animal->Dog" classic class hierarchies apart from demonstrating inheritance. That's not the point.
This is just a stupid example. It might be not a sorting algorithm. It might be "run 50 transformations on each item in this list". And a good programmer that can't write code will copy the list in memory 50 times, transformation after transformation, forgetting about corner cases and error handling. And a terrible programmer who can write code will make memory footprint smaller, group 50 transformations so there are only 5, and his code will never crash the process.
All programmers can make mistakes or not know certain nuances, such things are pretty simple to catch in code reviews, which will in turn enhance their development in the future. Grads and the lessed experienced need to have good mentors to show them best practices.
You're telling that juniors will become more experienced over time. It is self-evident (if they're able and if they continue to learn, of course).
If for each LOC you have 2 mistakes, it's easier to scratch the whole thing. If your code has 2 mistakes per LOC, you're a bad programmer. Sorry. You can't code. You can't fulfil your main responsibility. I don't know how to explain and I surrender.
Everyone has their own opinions, and I appreciate you sharing yours. The article was written to elicit responses from the community, and we can see that there are people that agree and disagree with your stance.
We're a place where coders share, stay up-to-date and grow their careers.
We strive for transparency and don't collect excess data.