One thing you should know that having a BS Computer Science or BS Computer Engineering does not equate being good at software development (or software engineer)
Being good at software development (or software engineer) does not mean you'd be good both at the frontend and backend. You can be a good software developer with no degree or have a degree and be good at both. The analogy is like being good at boxing does not mean you are good at taekwondo. Apples and oranges.
You wrote you only know html and css. Don't belittle that. I know a bunch of BSCS graduates who know nothing about simple webpage creation. I have plenty of anecdotal evidence.
I took BSCS and BSCE (didn't finish this one) but it's really all about MATH, LOGIC, PHYSICS, and CIRCUITRY (at some extent). In fact you still have to take the other crap subjects that you won't need for your work like chemistry and sociology. I call them crap because you won't use them if your goal is to be a programmer but if the job you're aiming for specifically needs these knowledge, then take them.
My best advice in school:
- Study and pass your exams. There's no need to get A's.
- Understand the data structures and algorithms
- Understand the logic and physics behind each topic
My best advice outside school:
- Learn to program with JavaScript, Go, Rust
- Learn how to write and speak English well. Enunciation is power. I'd like you to at least try applying for a call center job for experience
- Network with smart people
- Network with business minded people
- Study machine learning and IoT