What was the process like? Maybe they were from different major like engineering, physics, maths, biology, social sciences, humanities?
If you take CS courses, you learn from "other" in a compressed way and get some nice explanations. Also, the exams you write in courses foster the memorization and execution.
So, it's perfectly legit to learn from books/websites. But you need problem solving abilities, which is you mostly learn while studying - no matter if its CS, physics or any other subject.
The only thing you learn is problem solving:)
CS actually has very limited utility in the software engineering and web development industry at large. It's very rare that you'll need to work out the time complexity of something or pick exactly the right data structure to use.
The value is in the fact that you graduated. That fact means you had the access to resources, the intelligence, the conscientiousness, and the interest in the topic, such that you could stick that out for 4 years without dropping out. That, in the interviewing company's mind, makes you "one of us", and who'll continue that grind on the job without giving up, hence the value.
The knowledge actually has little value. As a tech lead, I'm not interested in if you know what a double linked list is. I don't use those. I care if people are going to have to routinely rescue you from stuff like an npm package version problem or setting up xdebug or your local dev environment failing. That's what actually affects getting things done.
But if I see a degree in CS on someone's resume, I know what they've successfully been through, proving their nature is a fit.
On the other hand, if you show up saying you read CS books, I'm going to ignore you unless you've got some solid show-and-tell.
You be far better of joining the "building in public" indie hacker crowd, because you'll have practical skills to show for it.
I'm an EE who learnt CS from books and by actual programming. It was an iterative process that worked both ways for me. I would write a program to accomplish something specific, have problems and delved into the books to solve that problem and/or better understand how to better do it. Then in other cases I would read some material in a book and then program it up and fiddle with it to understand how it works.
IMO working through MIT's SICP: https://web.mit.edu/6.001/6.037/sicp.pdf is profoundly valuable. Although there are Python and Javascript versions of that material available, I recommend the 2nd edition's Scheme version. Once you grok the essential core principles, you will readily apply your knowledge to any reasonably competent "modern" programming language.
The foregoing approach worked well for me. It lead me to complete a ME in CS, work in industry for a couple of decades and then complete a PhD in SE.
That doesn't mean it is practically possible for you (this is not a moral judgement).
It is a question of your actual motivation. If you are attracted to the work of learning CS from books, that's one thing.
If being a-person-who-knows-CS-without-formal-training is the important thing, that's another thing. It can be hard to recognize that obtaining an identity is the motivating factor in one's self.
Anyway, if you want to learn CS from books, buy a boxed set of Knuth and get started. He's been working on the TAoCP since 1962, so expect a long haul.
If you just want to learn CS, going to school is probably a more straight forward way to start. And it's not one or the other, you can go to school and learn from books.
The advantage of school is it provides a kind of legitimacy that only comes from formal education. Know if what you want is legitimacy.
Good luck.
---
Things I did not say:
1. Knuth is easy.
2. Knuth is the only or best book.
3. Formal education is the only form of legitimacy.
4. The legitimacy through formal education is a good thing.
Just letting the whole internet to know.