Readit News logoReadit News
Posted by u/reilly3000 15 days ago
Ask HN: Would you get a CS degree today?
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.
7402 · 15 days ago
Paul Graham (remember him?) had an essay about 20 years ago that may be relevant to this: https://www.paulgraham.com/hs.html "What You'll Wish You'd Known"

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.

adt · 15 days ago
While we're wandering down memory lane, here's a good one by Joel Spolsky (remember him?): 'Advice for Computer Science College Students' (2/Jan/2005)

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.

nicbou · 15 days ago
I dropped out halfway through because I had a job offer after an internship in Berlin, and working for money and exploring Europe seemed a whole lot more fun than finishing my degree back in Canada. It was the best decision I've ever made, and our tuition was only CAD 5000 per year.

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.

koakuma-chan · 15 days ago
Why is nobody mentioning that one cannot get an internship without being a university student?
esseph · 15 days ago
It might amaze you, but most of the people I know in IT never had an internship.

It's a fairly recent phenomenon. (I'm old, so recent may mean different things depending on you frame of reference.)

nicbou · 15 days ago
You can. A few of my friends did after a career change. Also, given 4 years and $100k, there are many ways to build a resume that will get you hired.

I got my start before university by building websites for people, then eventually web apps. I had a successful little business by my first semester.

gaws · 14 days ago
> I dropped out halfway through because I had a job offer after an internship in Berlin, and working for money and exploring Europe seemed a whole lot more fun than finishing my degree back in Canada. It was the best decision I've ever made, and our tuition was only CAD 5000 per year.

How long ago did this happen?

nicbou · 14 days ago
That would have been around 2015
scarface_74 · 15 days ago
Did you have parents that you could either stay with or could subsidize your living expenses?

Most people have an addiction to food and shelter and can’t wander through life aimlessly finding themselves trying to be a better citizen of the world.

Learning programming and being employable directly out of school is entirely different.

lexandstuff · 15 days ago
I'm a CS professional of 15 years, getting a CS degree for visa purposes. I'm doing it via the University of London's World Class on Coursera [1], and it costs around ~20-25K USD for the whole thing. If all continues to go well, I'll be done in 3.5 years, all while working full time.

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...

xqb64 · 15 days ago
This comment really caught my attention.

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.

lexandstuff · 15 days ago
Hey friend,

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.

tptacek · 15 days ago
I didn't get a CS degree to begin with. I recommended against CS degrees to both my kids, even though one of them is into coding; a degree in some other discipline pairs nicely with self-taught programming skills, and a lot of my colleagues have gone that route.

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".

al_borland · 15 days ago
For what it’s worth, college for me played a much bigger role in developing my soft skills than it did the hard skills. I find these things sorely lacking with many people I work with, especially those who are extremely technical. I think these skills helped to advance my career more than anything else, and would be transferable to nearly any type of job.

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.

SamvitJ · 15 days ago
Yes. I got a computer science degree, and would get one again today. Assuming you are able to finish the degree, no major has better ROI. As AI automates more and more types of work over the next few decades, computer science, the language of automation, will become more important, not less. A computer science degree teaches you the fundamentals (easy to miss in self study), builds discipline, exposes you to cutting edge topics, and opens doors to the best jobs in the industry.

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.

lostdog · 15 days ago
Absolutely. I learned so much from my degree. Even at a decent school, the top level classes walked me through algorithms, compilers, operating systems, and graphics in a way I might not have done myself. Plus, the best people in my class were great, and discussing how to problem solve with them for coursework was very very helpful. The whole thing was very helpful as practice in a bunch of different areas of CS.

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.

trenchpilgrim · 15 days ago
Knowing what I know now, I'd do mathematics or a hard science degree and learn programming on my own.
sshine · 15 days ago
Looking at the careers of mathematicians who turned software developers after putting minimal effort into CS courses, they all make CRUD work for insurance sector consulting companies. The pay is fine, but the work is absolutely dreadfully predictable. I'm sure that kind of work is automatable before anything where you solve a hard problem.

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.

trenchpilgrim · 15 days ago
I haven't had _any_ jobs where the programming involved solving hard problems, TBH. The hard part of my job is dealing with people and regulatory environments. The code is basically trivial.

I don't really mind it either, if I want to do something novel I do things on my own.

linguae · 15 days ago
I feel the exact same way as someone who is a teacher and researcher of CS. If I were to do it all over again, I would’ve done a bachelor’s in math, with an emphasis on discrete topics (combinatorics, graph theory), linear and abstract algebra, and category theory. I would have then pursued graduate education in computer science.

I’ve found myself drawn to areas of CS such as graph machine learning and programming language theory where I wish I had stronger math chops beyond calculus, linear algebra, and introductory discrete math.