I can tell you the last time I had to write a singly-linked list implementation though. October 17th, Nineteen Ninety Never.
From there, one can modify it to implement tries.
And then one can understand trees, arborescences etc.
The rest is about algorithmic complexity (speed and size) which I never remember but that's easy to look it up.
It's true that someone who does simple frontend engineering (for example) might not need to know too much about that.
But for instance, it was just a couple weeks ago that I've realized a markov chain is just a bunch of linked lists (a DAG, Directed Acyclic Graph).
I've found Computer Science to be a very nice framework to think about the world.
Empathy tends to win here: you need to understand why people are using the software and how they are using it to make good decisions.
Communication tends to be better with people that have empathy.
The point of writing (and working with) linked list implementations in a CS2 course is not because linked lists are something you'll have to implement yourself later (although there are certain areas of systems programming where return values of various system calls are, effectively, linked lists).
The point of working with LLs in CS2 is because they are an extremely simple data structure that you can inspect the entire implementation of; and their use of references/pointers gives practice with that concept before upgrading to the concepts of trees and (linked) graphs; and their fundamental structure and properties are so different from array-type list implementations that they provide a good first example of two different implementation strategies that can produce exactly the same output/result but with different space and time usage properties; and the parallel implementations are also a motivation for abstracting interface away from implementation and keeping data private and interface public.
So, that's why I teach linked lists in CS2. I try to be very up-front with my students about that; sorry to hear that your professors maybe weren't. I pretty solidly agree that a LinkedList per se is not particularly useful to a working software engineer; but that's not why we teach them.
Why do you believe that Computer Science is less "critical thinking about abstract concepts and how to articulate ideas" than Journalism?