Ask HN: Would you get a CS degree today?
31 reilly3000 74 8/10/2025, 9:10:19 PM
I’m looking for feedback from the community. My son made a plan to get a 4 year degree from a decent state university in computer science but is having second thoughts. He is looking at ~$130K in costs and 4 years of not working vs trying to find work and build a resume organically. He’s a fine young developer who loves C++ and learned Java, web dev, and EDA in his teen years for fun. His written several languages and toy compilers, ordered PCBs for his own gaming device, and built a social network in the 6th grade. He’s looking forward to higher level coursework but dreading the intro classes. His motivation for getting a degree was to be marketable to employers, but also to gain a better understanding of fundamentals. With AI making entry level programming jobs scarce, does it really make sense to invest the time and money? If not, what sort of pathway into a programming career would be a good alternative? Any and all advice appreciated.
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.
https://www.joelonsoftware.com/2005/01/02/advice-for-compute...
The moral of the story is that computer science is not the same as software development. If you’re really really lucky, your school might have a decent software development curriculum, although, they might not, because elite schools think that teaching practical skills is better left to the technical-vocational institutes and the prison rehabilitation programs. You can learn mere programming anywhere. We are Yale University, and we Mold Future World Leaders. You think your $160,000 tuition entititles you to learn about while loops? What do you think this is, some fly-by-night Java seminar at the Airport Marriott? Pshaw.
The trouble is, we don’t really have professional schools in software development, so if you want to be a programmer, you probably majored in Computer Science. Which is a fine subject to major in, but it’s a different subject than software development.
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.
It's a fairly recent phenomenon. (I'm old, so recent may mean different things depending on you frame of reference.)
Not amazed. I presume it used to be easier to get a job back in the day.
I am in a similar position as OP's son right now, and I am trying to get into a university to do CS because I believe the only way to enter the field right now is through internships.
I believe this because I don't even see any alternatives. Like, if you are not going to go to university, what are you going to do instead? Contribute to some open source project and hope for the best?
https://www.linuxfoundation.org/about/mentorship-programs/
It's nice to have, but ROI on that is terrible. Most of the time people don't even read your resume.
> https://www.linuxfoundation.org/about/mentorship-programs/
Huh, didn't know this existed. Looks promising.
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".
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...
I have considered enrolling in a university precisely for the same reason, but I never would have thought that something like that would be considered "valid".
I guess I'm full of questions for you, but in short:
- Where are you coming from and what is your target destination?
- Have you made 101% sure that this way of studying would be acceptable to the employers in your prospective destination country?
- Does one need $20-25K up front, or is there a payment plan?
Thanks if you decide to answer, and I wish you a good luck.
Happy to answer. Feel free to get in touch on one of the socials in my profile to discuss further.
Q1. I'm from Australia, and the target destination is USA. Although I have no firm plans, I want to have the option in future. Australian's have access to a particular visa called E-3, which I have failed to obtain in the past due to lack of degree.
Q2. Yes. Upon completing this, I will have a BSc in Computer Science from the University of London. It's a bachelor's degree as good as anywhere. The exams are proctored, and all the exams/assignments are graded via Goldsmiths University. It's 100% legit.
Q3. You pay per module, so you don't need to pay up front. You just pick how many modules you want to do that semester and pay for them. The only requirement is that you must complete enough modules per semester to finish within 6 years. Since the education is directly related to my work, it is also tax-deductible in my country.
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.
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)
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.
A late addition. Your son should test out of those classes given your description of his skills. Alternatively, he should talk to his advisor and seek to skip lower level courses. He'll still need the same number of credits, but I did this to get out of three lower level math and CS courses that I already had down. Some advisors are more amenable to this than others, though.
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.
No comments yet
Not to discourage choosing math over CS, of course.
You just have to do it for the right reason: Because math is friggin' cool, and programming is easier to learn on your own than math, and there is a skill transfer that goes from math to programming that doesn't go the other way.
I don't really mind it either, if I want to do something novel I do things on my own.
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, no reason to dread the intro classes IMO. Given his experience, it shouldn't be hard for him to ace them and race on ahead to bigger and better things. I learned some interesting things in intro CS, despite also coming in with prior programming experience.
Feel free to send me a message if you have any questions.
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.
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.
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.
Companies no longer want people who loved programming for the joy of it and the art of it.
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.
But can you come up with a good argument why a company should hire an entry level developer out of school - especially out of a tier 2 school in 2025 let alone in 2029? As I said I’m not being elitist, I graduated from a college that no one has heard of outside of the state.
And the FAANGs employ them at their offices in these countries.
Your people could be saving a whole year of their lives not studying algorithms they will never use.
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 also think it's worth a real discussion about what your son hopes to gain out of a college education. If the value for him is more vocational, then this strategy above seems almost like a no-brainer. If he's hoping to get that kind of intangible university life experience, community college probably isn't going to deliver.
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.
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.
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.
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.
https://aws.amazon.com/blogs/aws/customize-models-in-amazon-...
https://cloud.google.com/vertex-ai/generative-ai/docs/models...
https://learn.microsoft.com/en-us/azure/ai-foundry/concepts/...
So now where do you think things will be in 2029 by the time her son graduates?
And you still haven’t answered the question - why would this be something that everyone isn’t pursuing, there are already people who are doing it and upskilling in it and what are the chances that he is going to be competitive coming from a tier 2 school as a new grad?
You actually have to know what you are doing in this space.
The question was answered - the field is complicated - deciding to do it and being capable aren't the same thing. The field is not going to be inundated with capable people. By your thinking, one cannot be paid millions of dollars to be a lawyer because of "competition".
Saying that he can make a lot of money by chasing after the same thing everyone else is chasing after and has a years long head start is like saying he should become a football player because of the money he can make in the NFL.
The number of companies that need any more than the abstractions available from the cloud providers is vanishly small and will grow smaller in 4 years. Those companies aren’t hiring new grads from tier 2 schools.
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.
If he goes to Finland or Australia he can get a world-class education for far less.
130k seems high for public school. How much of that is room and board?
Or Maryland: https://financialaid.umd.edu/resources-policies/cost-attenda...
Or Texas: https://onestop.utexas.edu/managing-costs/cost-tuition-rates...
I think you get the picture...
Let's say you get a student job on campus to help cover costs. In my state you can only work a maximum of 19.5 hours per week in a student job by law. If you earn minimum wage (which you probably will) you can earn a maximum of $14,327/yr while attending school with your student job. That isn't enough to cover housing at either of these schools, let alone tuition.
People used to joke about people who went into six figure debt for an arts degree from a private college. Now a degree from a no name state school will set you back six figures.
I was just highlighting that whats taking 10k/year in public school tuition (18k for Michigan (!) ) to ~130k for the degree is the living expenses, which exist wether or not they attend school.
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.
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.
A masters degree ime is neccesaray for any of the most interesting fields of cs work from what I've noticed or will help alot.
Also 130k is unessesary. Go to community College, transfer credits to public university to finish the degree.
If the intro classes are to easy it's an opportunity to tutor for money too. This also goes on your resume
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.
I'd just study law or something incredibly hard that hasn't been tokenized yet.