"solid places to work like Google, Microsoft, Apple, Amazon, Facebook, etc. "
I find it funny that everyone (including students) uses these companies as the benchmark of greatness/success for a CS major. Are they really that great? There are thousands of companies in varied industries that need technical grads (pharma, insurance, oil industry, manufacturing, government, etc…) That probably have interesting and lucrative positions, but still most CS grads and their families romanticize the companies mentioned above as the “brass ring” of CS. To me, they are more like factory jobs, where you have to work on a very small piece of the “assembly line” since every tech employee at these firms works on production of a handful of products - the work is extremely specific. As opposed to many many opportunities at companies that don’t produce software (they may produce medications, cars, insurance products, etc) where you can learn about a business or product outside of CS while working to solve problems and create automation in their CS department.
Edited to add- I don’t live in California where most of these companies are but it must be an interesting sociological effect to have so many white/Asian males in their 20s/30s in one area… Who have gone to top schools and worked hard to get into these companies. I feel like if you’re working among so many other people that are just like you it must be boring, from a social person, to live in these areas vs diverse (age, sex, personality, socio-econmic status) areas across the United States where many other companies hire CS grads.