I have a lot of opinions on this matter, so it's going to be hard for me to put everything together in a coherent manner, but I'll try to do my best to break it into easy-to-digest sections.
I'm in my senior year of a Computer Engineering. It's ~90% the same as a CS degree, but with a few different core requirements and a couple more hardware-focused courses. I went this route because I think low-level coding and computer architecture is more interesting than proving correctness of algorithms, but whatever floats your boat.
Academics
Demand for the major has become crazy recently. Within the last few years, the number of freshman applicants to my school's Computer Science & Engineering department has grown literally exponentially, which means that the odds of being accepted to the department have grown as an inverse of that (i.e. not good). In this regard, there's a bit of a disappointing disparity between people who want to study it and the number of people the department is capable of accepting. There's no way to state this without coming off as bragging, but the demand is probably because my school is one of the top-rated undergraduate schools in the US. I worked my ass off and barely got in 3 years ago, and I doubt I would get in if I applied today.
For any aspiring high school seniors, the best advice I could give would be to first apply to whatever schools you're interested in for direct admittance into their CS program. Most good departments should consider your application in it's entirety, i.e. they like to see good grades, AP courses, and a killer essay; in no particular order. If you get direct admit somewhere, take it. Do not hedge your bets with another school and roll the dice on applying as an undergraduate. Barring that, seriously consider going to a community college and fulfilling whatever prerequisites would be necessary for transferring into a 4-year CS program in the same state. Even at the best schools, prereq classes suck hardcore and are way too competitive since everyone is gunning for a spot in the engineering/pre-med schools.
Job Market
The job market is definitely not saturated in any way whatsoever. If the demand is lacking in your area, look somewhere else. The SF bay area, Seattle, and Texas are the hottest spots for tech jobs and companies there are always hiring. If you graduate from a top program, local recruiters will probably be breathing down your neck before you graduate. If this isn't the case, you just need to market yourself well and know where to apply (see the aforementioned markets). As with any job, networking is the key to get your foot in the door.
You actually don't even need a tech degree to get a job coding at a top tech company. If you have an insane amount of motivation, you could learn everything you needed to know online. The material is out there, and even professors in my department are teaching equivalent courses to what I've taken, only for free on Coursera. I'm not nearly self-disciplined to learn on my own, so I see my degree as a 4-year crash course in algorithms, coding, and computer architecture. A degree absolutely helps you get your foot in the door when looking for a job, but the minimum guarantee from surviving a 4 year CS degree is that it demonstrates a certain level of competence and discipline on your part.
Thanks for taking the time to read this wall of ramblings regarding my experiences over the last few years, I hope there's some value to be had in it. If you have any further questions, feel free to PM me or add me on Steam.