University teaches you about theoretical computer science, not problem solving skills for software engineering.
No university teaches you about how to assess an engineering problem, how to break it down, how to create at timeline/estimate, etc.
Many of them do actually. Obviously you will not be very good at it before having actual work experience, but it is useful to be open to thinking about it.
Yet that's the opposite of what the article focuses on: mostly soft-skills and all the fluff that surrounds the actual engineering work, like dealing with project maintainers, figuring out github, etc.
This approach, when taken to the extreme*, would lead people to be very good at explaining why they opened a certain pull request, but couldn't even merge it on the CLI because that's not something you need for a FOSS contribution.
* note this part
It's dependent on the job, but anyway they can learn this stuff not only during work hours (learning hours or whatever it is called), but also in their free time
It's not like only Academia is authorized to teach DS&A, FP
It shouldn't be the default that university teaches you job skills and leaves you to learn the theory on your own.
Honestly, I really don't see a solid case there.
Have you taken a senior/graduate level DS&A class before? Part of it is about proving the correctness of the algorithms and making guarantees about the DSs. It's not about competitive programing or acing leetcode interviews at all.
In the class I took we didn't write hardly any actual code.
I've taken DS&A class during CS Eng. degree, it was bullshit about sorting algorithms while using 1-indexed arrays in languages that used 0-indexed approach, nothing fancy.
I wish it were about TLA+ and formal proving
I do also wonder what people *precisely* mean when they talk about "data structures and algorithms" in context of academia
You talk from perspective of competitive programming?