I know I would not want to be among the "I did some coding on my own, and a bootcamp for a few months" brigade. Also someone is of this age and is not thinking of it, but in some years time how will they feel in tough times when they have no degree and have a mortgage and kids, and the wife just told them another kid is on the way, and their current job is shaky or they just got laid off?
Of course you can always point to outliers like John Carmack and what have you.
I don't see how getting a CS degree is "the longest" way to reach that goal. You will have to learn most of this stuff any how (unless you never learn it and want to be doing low level low paying CRUD work in thirty years). The only difference is you get a degree when doing it, plus professors with office hours, peers studying the same thing you are etc. College is flexible - you can study for four years, or you can get a full-time job and take one class a semester at night or on weekends. The latter way is longer, but eventually you graduate.
As far as expenses - you can go to an expensive private school, or you can go to an affordable but decent state school. And if you want an impressive college name at some point but money is an issue at the moment - get a Bachelor's from a state school, then get an advanced degree at a fancy, expensive school at some future point.
Look at all the layoffs and rescinded offers and hiring freezes and ask if you would prefer not to have a degree now. If you send your resume in but you don't get a response from a high percentage of them - maybe it's because they got a lot of resumes, and only kept the ones of people who had degrees.
Especially when the resume next to yours is someone from a top-20 CS program who's been at AirbnUberLyft for 4 years.
You’ll also want to do other things in your life besides work. You’ll find a college degree can impact how you’re perceived in many aspects of your life.
A college degree is like a save point in a video game. Once you achieve it, no one can ever take it from you.
It is, of course, possible to waste the time you’re in college or make bad financial decisions. However, that’s a separate issue. You’ll get out of it what you put into it.
I've been looking for a software dev job for the past few months and almost everything I've found that's more than a WordPress/shopify job wants a bachelor's. Do you have any advice for getting a software dev job straight out of high school?
I ended up teaching myself programming (and electronics) while doing a double major in math and physics, which led me to develop enough of an interest that I continued in physics through grad school.
I had a summer internship at a computing facility, which led me to think that a pure programming job would actually be kind of boring. Again, this was long ago, and is related to my interests and not yours.
Today, I program. A lot. In fact, if you walk past my office (my basement right now), you've got a 50% or better chance of seeing a code editor up on my screen. But I use programming as a problem solving tool, and am not employed as a programmer. Good programming skill is a "force multiplier" for virtually any occupation.
One thing about college is that many students change their majors. College is a place where you can be exposed to a whole variety of fields, and where you can soak up the vibe of a field and get excited about it. I don't know where I'd have found my love of physics at a coding boot camp.
CS attracts a lot of students who are interested in computers, or who hear that it's lucrative, but are not necessarily interested in computer science as an end unto itself. But, figuring this out is part of the college experience!
Struggling startups, small consulting companies, they also have more ability to bring someone in straight out of high school so even if they say "bachelor's required" still apply.
If you are looking for one of those high paying jobs in the top companies and want them without a degree, you will need to impress much more than your graduated peers.
Let me add more nuance: I'm not trying to say that a CS major won't be valuable to a software developer, or that it doesn't have advantages over a bootcamp-like thing, or just raw experience. But there are tradeoffs, and I think a lot depends on what kind of software development you want to do.