Last time I "Asked HN", I was in a very different place. Fresh out of a bootcamp, right at the peak, and subsequent collapse of the Covid hiring. It didn't go well. However, another HN reader turned me on to Upwork, and over the last 2 years, I've been building modest freelancing career.
I came from an automotive background where I made awful money, moved to the Bay Area, became a bike messenger in San Francisco because I didn't know what to do with myself, and once again made awful money.
I had been a hobbyist programmer for years by this point, so I got sucked into the bootcamp racket. The program was great. I got what I needed out of it, although the certificate wasn't worth the paper it was printed on.
I landed an ongoing contract on Upwork, which I still work on which really changed everything for me. I also landed an internship at Akamai as a Cloud Support Engineer, which never resulted in employment, but I'm not sure it's the type of work that I really want to be doing. It was more of a foot in the door type thing for me.
Either way, I am now making a living off of software development. A lucrative living? no, but it works for my lifestyle.
Several years ago, we were all told "You don't need a degree bro, degrees are obsolete bro, companies only care about what you know".
I found out that this wasn't true the hard way, however now I at least have some professional experience to my name. The job market is bad for everyone right now. I'm not necessarily looking for a job ATM, but at some point, the grind and hustle of freelancing might either fizzle out, or I might just get tired of it.
Now that that's out of the way, here is my question...
----------
I've thought about doing an online CS degree. It seems like this can be done for less than 15 grand, and also doable while still making money.
Is this a bad idea? Is this a good idea? Is this necessary if I want to be employable in the future?
Degrees matter when employers don't have the time and/or ability to make a reasonable decision for every candidate. They need ways to eliminate chunks of the applications. Illogical ways of eliminating candidates are acceptable because they are better than having no way. One method that's not completely illogical is to only look at candidates who have degrees.
You can get degrees for <15K. For a BSCS you can do WGU for 5/10K. For a MSCS you can do GaTech OMSCS for 7K. Those numbers are small enough that they're almost definitely worth it. But those also cost time, which you will have to decide for yourself if you want to spend.
And this is how Apple/Google end up rejecting candidates to work on open source libraries...despite the candidates being the very authors they are wed out as they haven't spent months preparing for the interview.
https://www.quora.com/Whats-the-logic-behind-Google-rejectin...
He admitted later that Google was probably right for not hiring him.
This is exactly the category that I'm in. A couple of years ago I applied to a large company, with a referral. 0-2 years experience and a non-specific bachelor's required. I got my rejection in 15 minutes, after business hours. My resume didn't even see human eyes. Did I mention I had a referral?
I know maybe a couple of guys who've had successful careers in cs despite having no degree. Those guys are especially talented and industrious. Real rock stars. I'm an average slob in comparison and I feel lucky to have my papers, as I have a decent track record of getting interviews. Small local companies seem to respond the best to my resume. Big places and remote jobs seem to have a much higher bar to clear.
Having said that - I believe many companies view OMSCS as a strong signal. It’s a difficult degree with high drop out rate.
Not perfect, but far better than the current resume filtering.
(I control how I learn and absent a professor being a dick and purposely setting up an exam that 3/4 of the class bombs, learning is a joy compared to the politics, power games and sometimes even incompetence encountered at "work").
He had learned his lesson: next time he would discard the other half of the applicant pile.
Lack of a degree or lack of a C.S. degree?
1. Will the CS degree increase your knowledge and problem-solving ability faster than you could without it?
2. Will the credential add substantially to your credibility for hiring managers?
The answer to 1 is mostly about your level of self-discipline and ability to learn independently. If you need the stimulus of a structured environment and a peer group to learn at your best, then any accredited program will be helpful, and your ability to pass coding interviews will increase (with a lot of hard work beyond the curriculum).
The answer to 2 is pretty straightforward: unless your degree is from a tier 2+ school, the raw credential is of little value, and even tier 2 is not certain. To count, an online degree must be presented by the school as competitive with an on-site degree. Georgia Tech offers such a degree program as a tier 1 school, for example.
An unaccredited program is of no value whatsoever in answer to 1 or 2. So, avoid them at any price. You are looking at a 3-5 year project, no matter what, and this is probably a good time to do that. The market will take that long to sort itself out and to realize that vibe coding is NOT the miracle it seems.
This just fails a basic real world sensibility test. Are you saying a CS grade from Montana State University that is a hiring manager at FAANG (maybe even the most famous one) is going to consider someone with a degree from Stevens or Florida Institute of Technology to be equivalent to someone without a degree? I don't know if you are aware but there many people employed CS grads that did not attend the top 3. Also, I don't know about tiers, but these rankings are largely based on research and not quality of undergraduate program or outcomes.
The idea of telling someone that doesn't have a degree that wants to know of if attaining a degree could likely help their career that they should not go if it is not "tier 2+," whatever that is, is just kind of malpractice. Georgia Tech is not the only school that offers such a degree that is equivalent to their in-person program. I would agree that you should choose a school that has a traditional program for which this online program is just a different modality, rather than one of these online-only predatory type of schools.
This, most state schools in most states offer such degrees now and have years now.
It would be “malpractice” to suggest anyone waste time on a CS degree from anything less than tier 2+ school. My degree is from a no name state college so I’m definitely not looking down on anyone.
2. yes. this could just be my cynicism talking though.
I'm not looking at any unaccredited program. I already have one of those under my belt.
College is pretty good about the last category, but really if you went through syllabi, scanned through lecture notes, and paged through the reading materials listed, you're probably ahead of most students in that category.
That exercise alone will probably give you a good idea of the technical value of the education.
I would add that words don't have objective complete meanings. Words are indirect references to ideas and ideas are like raw marble in your head, carved into meaningful shapes by working with and manipulating those ideas.
If you bring out a word like "consistency", college is very much about shaping the idea behind that word into increasingly more crisp and formal meanings, especially meanings that can then interact with ideas behind other words like "atomicity" or "scale".
For 2, fair enough. What school will give you a BS degree for <15K?
(Caveat: If you'll be emigrating in the future a degree can make a difference for visas if recognized )
If you do it and actually apply yourself (as opposed to optimizing for points/effort) I guess you'll be on the up regardless of which (:
If the course is just software engineering, don't bother imho. If it's compsci, do it. Do the hard stuff. You'll have an edge the others don't.
For context: I studied in Germany at a proper Uni and focused more and had quite the mathematical and theoretical curriculum. Not sure what the international situation is.
Also, yes, a paper helps. You have exposure to a variety of topics on a deeper level. That can come in handy!
Stuff like programming languages, frameworks, tools all come and go throughout your career
Whereas the core concepts/theory you learn in a CS degree don't change from job to job
When I was in undergrad I wished we did more practical hands on work, but now later in my career I'm glad we didn't because its easy to self learn that stuff and it goes out of date anyway
Companies are looking for people who can immediately improve their bottom lines. Why hire someone out of college with no practical skills when they can hire someone for slightly more that already has practical skills?
There is a non trivial relationship between colleges and businesses, so you are likely to do many problems in college that are not terribly different from the interview questions. Additionally all of your peers have been interviewed/do interviews/do referrals and that does matter.
College students generally did not do incredibly well on practical problems, so I would expect a non college candidate to do really well on them.
Many of the best co-workers that I remember had physics degrees. In fact, it was so pronounced I personally consider a physics degree to be a top tier signal of programming ability, but that's my own personal prejudice.
If your degree isn't from a top 10-20 CS school it's probably not worth it if you have experience. If you can't make friends while doing the courses, then I don't think it's worth it. Going to a good college is much much much much more than a few lectures, some book reading, and some assignments. It is face to face time with world class experts, it's a culture, it's social, it's exploratory. You can potentially work on bleeding edge research or be introduced to things you never knew existed.
It sounds like your idea of what college is, is that it's a technical education rather than a liberal education. If that's true I think your perception of college is wrong.
There are some situations where a college degree really matters. If you want to apply for a work visa in a foreign country, a degree from a good college can potentially get your application a rubber stamp or lack of one could completely restrict you from it.
Some CS programs have moved away from heavy maths requirements over the last 2 decades, outside a few maths-heavy specific CS courses.
Physics degrees still mean you have very decent maths, but CS degrees are not necessarily as strong a signifier of it.
I suspect that is the difference, particularly if you are actually working on tricky programming tasks.
That and they necessarily have to learn a lot of CS just to do their own degree work. It's like wondering why cross country runners perform well at other sports too, their sport incorporates the 'hard' part of most sports, the running and endurance aspects.
You're basically just using it as a proxy for general intelligence, the _average_ physics major's IQ is around 130.
You want a lower level administrative job? You better have a degree so we know that you're not stupid. Now you get to pay off your loans with 20 bucks an hour.
Hah, I also noticed that. For some reason, ex-army programmers really excel in their junior years (or sometimes even just months), too. Do you think it's the attitude towards problem-solving?
My feeling is that they're just built different, military, especially in US will either teach you or make you disciplined (not something I'd say about my country, you'll learn how to get hazed and drink). If you have a task, well, you better solve it quick, no distractions.
I remember thinking "oh, you understand, like actually understand" to them in particular, so maybe it's that they spend more time understanding before doing.
In my experience those with math degrees too. Maybe the structured methods of analysis and problem solving.
I agree with a sibling comment that physicists often seem to make the best coders, for some reason.
My hypothesis: it's because physicists are rigorously trained to model real-world systems directly. What would be considered an "advanced" modeling problem to most would be an intro problem to a physics student.
Math is absolutely related, but I think the secret ingredient is "mathematical maturity" — the ability to fluidly jump between layers of abstraction. Mathematicians are good at this too, but physicists go a step further: they are trained to ground their abstractions in concrete physical phenomena.
Mathematicians ground systems in axioms, sure. But physicists have to tether models back to reality — to processes and measurements — which turns out to be exactly the skill set that makes for good programmers and system designers.
Huge generalization, obviously.
But personally, I've noticed my own programming ability increases the more physics I learn. Physics gives you a systematic framework to reason about complexity — and physicists get the luxury of a "relatively simple" universe compared to fields like chemistry or biology. They're working with rich systems described by just a few tightly-coupled parameters. And the kicker: a lot of those systems are 100% repeatable, every time.
That kind of structure — and the habit of respecting it — is priceless for engineering.
As above I would say that the physics students I know are often the ones going furthest in their careers either in research, computing (know a few at google), consulting e.g. PWC etc
I’ve also found this to be true. And math degrees.
I can also confirm that.
It shouldn't come as a surprise that people with a formal degree are on average better prepared to interviews.
But sadly, it has absolutely no correlation with work performance. Zero, none.
In fact, I can say that the overwhelming majority of non graduates did far better on the job: more motivated, stays longer, hungrier to learn and prove themselves.
I think those type of people just have really good analytical thinking
You can find people with physics degrees working in pretty much any technical field.
What I can say is that the more you fill out your resume with work experience, the less the degree will matter to non-FANG employers.
I suppose it depends on the kind of programming that you do, but not having a CS degree hasn't held me back at all. By this point I've got over 16 years of experience I think, and I don't even bother listing much about my education other than having a BA and the university I got it from.
If you're thinking about doing something else to have some variety on the resume, authoring and maintaining an open source library, or becoming a contributor or maintainer of one is always a nice addition to the resume. Unlike getting a degree, it's free to do (time aside) and can show a different kind of experience than you might be getting now through freelancing.
https://news.ycombinator.com/item?id=25467900
Once I had real experience getting a job was not a problem. That said, getting some specific job at a specific company might be hindered by not having a degree (or even not having a CS degree).
I would say:
- A degree in Comp.Sci. is useful for what you learn not just for the paper.
- Sometimes the paper matters. Some companies will only hire people with a degree. Others you'd need to be a superstar to work around that requirement.
- Sometimes the degree can impact your pay. E.g. if you work for the government or a university.
- A degree can impact things like immigration. E.g. it's much easier for me as a Canadian to work in the US because my degree means I can get a TN. Some countries will give preference to immigrants with degress.
- You can meet interesting people and make connections during your studies.
I'm not really interested in specific companies. I'm really NOT interested in FAANG type companies. I have however seen many listings where I was like "this fits my knowledge and interests perfectly other than the degree requirement"
- While I'm interested in the paper, I absolutely love learning everything I can about computers. I'm super neurodivergent, and have trouble learning things I'm not interested in. Gen Ed is why college didn't work out for me 20 years ago.
- There's always going to be jobs that require specialized degrees. I understand that. I just don't want to have my resume thrown in the trash when I apply for an entry level front end web dev job.
- Totally, I'm not terribly interested in university jobs, and this seems like the worst time ever to work for the government
- Doesn't apply to me, but I appreciate you sharing your experience.
- Thats true, but I'm in no place to actually go sit in a classroom right now.
If you have 20 years of experience I wonder if there are options for you to have that recognized towards a degree or even to get accepted into a Masters program (where presumably you'd have to make up some required courses but still).
Very quickly into the program I was stuck by just how unethical it was for me, with no experience and certification to make guarantees and promises to an employer who didn't know better. In most fields the knowledge worker could be held liable for making this kind of "contract" (think lawyers, electricians, doctors, etc.).
You can be driven and motivated. You might have learned a ton on your own. You cannot know what you don't know. People in these comments will trip over each other to explain that education is subjective and you won't use any of that stuff in the real world. They have stories about wasted classes and dusty academics. The reality is much more boring.
* Lectures are very effective ways of provide a curated bit of information.
* Structured practice and verification (homework and grades) are quick ways to ensure that the start of learning has occurred.
* Working with your peers will likely expose strengths and weaknesses in your existing understanding of the subject matter. This often helps everyone involved.
* Reading academic publications and textbooks helps to standardize the shared understanding of the subject and ensures that future efforts to expand the field or solve hard problems are more effective.
You said in your post that you're not sure where to go with your career and your opportunities aren't evident to you --- go to school and give yourself some deeper knowledge. It'll help you figure out how to navigate the field.