I think the best part of my computer engineering program at the University of Waterloo was the integrated co-op system. (Basically, internships.) It meant my degree was 5 years instead of 4, but I got work experience and professional connections at several companies and came out with a slight profit instead of a ton of debt. I even turned my last internship into a full-time job after I graduated.
Assuming your son is in the United States since you mentioned “state university,” an option for reducing costs is attending a community college to get the lower-division courses in CS, math, physics, and liberal arts finished at a considerably lower cost. This also allows your son to buy some time and assess the state of the market two years from now. Two years of community college tuition is much lower than two years of university tuition, and depending on the state it might even be tuition-free.
If your son is still in high school, I also highly recommend he take Advanced Placement tests and score sufficiently well on them so that way he will get college credit for those courses. This could potentially save time in college, thus reducing costs.
I did end up with a CIS degree (computers in the business college), rather than a CS degree (engineering college). I’m not sure how the required coursework might influence the development of various soft skill. It was never something explicitly taught, just things I was forced to develop in order to get through to graduation.
In my 20 years in the industry, I was only asked once in an interview about my degree.
> but also to gain a better understanding of fundamentals
I believe there are many courses online, such as Coursera and others if he wants to learn more. None of them will have the social aspects or networking, but they are far faster and cheaper than the traditional path.
My suggestion is to sit down with your son, and start looking at the job market for junior or graduate jobs and see if it will make sense to invest $130k and 4 years of his life.
If he realises that this is not the way forward, I would suggest he start looking for local hackathons where he can join, learn, network and have fun.
Life is already difficult for young people right now and 6 figures of college debt is just putting another obstacle in their path.
For what it's worth, I don't know that the open source route is particularly fruitful either. I hear people recommending that as a way to get hired, but I never hear much about it making a difference in the hiring process.
Just my .02, though.
I don't know if AI will reduce demands for SWEs, but it seems pretty risky not to get a degree IMHO.
If he's actually interested in CS, then a CS degree (or minor) makes sense. If he's interested in programming, study just about anything else and minor in CS or double major. Being an AE or MechE that has a much better than average (for the discipline) grasp on programming is a better edge career wise.
I don't know. Some people will do better if they follow the established path. Others blaze their own trail and don't do well in rigid environments. I know I did not.
Ten years later, the best part of my studies are the ones that felt like a distraction and a waste of time back then: mandatory engineering and liberal arts classes. I would have learned programming on my own either way, but these other things added so much depth to my life!
I think that there are so many ways to live your twenties and grow as a human and as a professional. I strongly doubt that saddling yourself with debt is the best way to do it. Given four years of your full attention, you can achieve so much more, provided that you have the curiosity and discipline to try. I just wonder where the strength to explore the world beyond your main interest would come from.
My personal belief is that not hiring entry level engineers is unsustainable unless we get AGI capable of both outputting and _maintaining_ software better than humans, and if that happens all bets are off anyway.
On the practical end, your degree is still a big filter for how companies screen applicants. A lack of a CS degree makes it way more difficult to get in the door. I know there are counterexamples, but 99% of my coworkers had CS degrees. Unless the money is a huge burden, or the school you would go to really is crap, then yeah, the degree makes the rest of the journey much easier.
As advice, try to get evaluated out of the intro courses and skip to higher level stuff. Often if you can show a prof that you can program (before the school year begins) you can place right into a course that is at your level.
The AI arguments are also facile. A CS degree is still the best training to be ready to use AI effectively. You understand more about how it is built than everyone else, plus you know way more about every tool surrounding the AI, and would have an easier time making your own.
I know some people have success with alternative paths. But the main road is the main road for a reason here.
Edit: Please also look at the best schools for CS, and don't just discard them as options. My coworkers out of these schools got even more out of their classes and costudents than I did. Your son sounds talented, and the best schools can help talent go even further.
So that's another option to consider: do the CS degree part-time while working on breaking into the industry. You can adjust your workload each semester depending on circumstances, so it's flexible for someone job hunting.
[1] https://www.coursera.org/degrees/bachelor-of-science-compute...
The competition is fiercer now, but good devs will still get hired. Average devs have a lot more trouble these days.
Does your son need to go to school? Maybe he's hireable as-is.
Finally, has he looked at financial aid? It can take a bite out of that debt.
130k seems high for public school. How much of that is room and board?
I'd just study law or something incredibly hard that hasn't been tokenized yet.
Companies no longer want people who loved programming for the joy of it and the art of it.
The job market is bad but lots of hiring for AI positions, both research and application of AI are still in demand. But this could very well be cyclical.
No matter what someone has to train the AI, control the AI, etc.
It says when trying to figure out what to study, think about what might give you most options for the future, a future that you might have almost NO way of predicting now. He calls this "staying upwind." He gives an example:
Suppose you're a college freshman deciding whether to major in math or economics. Well, math will give you more options: you can go into almost any field from math. If you major in math it will be easy to get into grad school in economics, but if you major in economics it will be hard to get into grad school in math.
And given a choice between studying two subjects that interest you, but one is easier for you and one is a bit harder (but still within your abilities), opt for the harder one:
The best protection is always to be working on hard problems. Writing novels is hard. Reading novels isn't. Hard means worry: if you're not worrying that something you're making will come out badly, or that you won't be able to understand something you're studying, then it isn't hard enough. There has to be suspense.
You don't have to automatically agree with everything in his essays as Great Truths, but it's worth considering his ideas.
So I think the real question is less "should you get a CS degree" (I would have said no in 2015 too), and more "should you plan for a career in software development".
Yes, it's possible to make it without a degree, but it makes things a lot more difficult. Don't second guess it. Do it!
Also 130k is unessesary. Go to community College, transfer credits to public university to finish the degree.
He could always join the Army and have college paid for partially or fully at state school depending on years of service. I did this. Aside from the money it is a great experience for a young man, something most won't have and he can get paid while doing it. It will help for hiring at least for government jobs as well.
I think it is a huge mistake to believe AI will take CS jobs to a significant degree any time soon. I think if it does it will take other jobs as much or more. So not worth optimizing for that way.
if he's that bad into it, he'll be doing gigs and projects with students and cracks all over the world.
it's not about getting a degree in CS, it's about how bad you want to feed your curiosity. the field is still in it's teen years. there's whole human-like brains to build, hardware and infra and artificial minds that run on it.
employers? your son sounds like he'll be one in no time.
There are many reasons why one might want a college education and college experience, but purely from a vocational advantage POV the cost and time seem hard to justify.
If he goes to Finland or Australia he can get a world-class education for far less.
My perspective though is going to come from someone who worked at Amazon (AWS) in 2020-2023 and mentored a couple of interns who got return offers the next year.
Companies aren’t recruiting for the most part from tier 2 schools and it’s hard to get an internship.
I was also looking for a job in late 2023 as someone who was experienced, credentialed, networked, etc.
The market for developers sucks right now. I would have probably had a hard time finding a job if it weren’t for my network and a couple of niches where I’m one of the industry experts.
When I submitted my job to hundreds of jobs as a Plan b, I heard crickets there are a lot of people chasing few jobs and to a first approximation, no one wants entry level developers. It’s getting worse as AI improves.
Anecdotally, there are projects I lead now that I would have needed at least one entry level developer to do the grunt work that I can just do myself using ChatGPT.
I would even go as far as saying if he doesn’t go to one of the top schools that companies recruit from, don’t even bother with a CS degree.
Get a degree in something else and maybe take some CS electives if he can’t get a degree from a top school.
What that something else is? I have no idea.
There is a strong argument that understanding the relevant math (which isn't rocket science) behind AI gives one a leg-up. Most people just can't be bothered to do it and it's really important and actually practical in the modern world. Linear algebra, calculus, probability + statistics, optimization, discrete math.
My thoughts (certainly not a recommendation as every situation is unique) - foundations are always going to be critical. So things like cs (not just software eng), math, physics, biology will be super important because with AI you can have the audacity to tackle 10x harder problems. Now a 150k standardized program may not be the way to go about it. (Back home education was practically free so it was not even a question but in here things are crazy so I get it).
My 2 more cents is you have a 1-2 year window where large pct of population is either wary or cautious or unaware of how to use AI properly. If your son is the curious type id encourage him to build like a maniac (heck clone a few high priced SaaS products and learn how to sell). Worst case he loses 4 years while this AI dust settles. Best case he comes out of it with Independence and confidence to do a lot more than a grad who has only done course work (and even those are established in orgs)
My experience doing this I have learned there is only thing that influences career fulfillment: barrier of entry. You can make money anywhere in software as dependent upon the success of your employer regardless of level, skill, or competence.
To be happy doing the work, however, requires operating at the appropriate level of challenge. If you are the smartest guy in the room everyone around will be full of excuses and selfish retardation. If you are in over your head you will be the one inventing improper excuses doing selfish things.
So, always strive for the most exclusive and challenging job you can get.
Then he'll have to treat that as an investment, either into college (and hence he'd hopefully be Very Serious about it), or use it for something else - travelling, entrepreneurship, MF/stock investment, etc. The weight of the decision and the ensuing use of the monies are both the payoff, not a degree per-se.