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.
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.
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!
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.
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.
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.
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 wish anyone could really tell you. I mean, I sure don't know, and I've been a hiring manager in SF for years. I've done countless interviews, read countless resumes, all that. I can tell you what I would do if I were trying to bootstrap my way into the industry, though:
1. Do something difficult and unusual in technology, and do it in public. Basically set a goal that sounds crazy to achieve, something that would require an unreasonable amount of effort and time, and then go do it and publicize it. Note that getting a degree is difficult and time-consuming, but not really very unusual or impressive.
2. Interact with real people in technology as much as possible. Not just "networking", but actually immersing into the tech community, learning all the events and meetups and hackathons and doing as much of that as possible. Note that a degree will probably help you meet a lot of other students, but not necessarily active tech professionals.
As with all challenging goals, my real goal would be to spend a certain amount of time on them every day, taking whatever the next step is.
I am quite confident that if you put as much effort into this path as you would a degree, you will land a better job, sooner than the other way.
For many other software jobs, a degree will be required. This is an applicant filter if nothing else. These places (banks, insurance companies, manufacturers, any number of business where software enables what they do but is not the product they sell), can be boring but they can be great places to work if you want boring. Regular hours, low stress, good benefits. They will almost all require degrees. From which institution might be less important as long as it's reasonably legitimate.
Not only are you competing with lower cost people from around the world, you will increasingly begin competing versus vibe coding (at the entry level) and the never-sick-but often-wrong AI (replacing the entry and lower mid-level).
There's also, apparently, a glut in the market from all the people stockpiled during Covid and subsequently made redundant.
--
In the flip side, if you have a really strong network of people wanting to hire you if not for the B.S. checkmark, it'll probably be a good move
I entered the gaming industry a long time ago as a software engineer without a computer science degree. Later, I thought I'd get one online, just as you are considering. It was reasonably cheap compared to my income, and I thought I had the extra hours for an evening online course. But I found it to be very demoralizing. I'd be micro-optimizing containers in AAA game engines, shaving microseconds off operations by reducing CPU cache misses on target consoles in the morning, and earning a 60% grade on my JavaScript game in the afternoon, because I didn't follow the method shown in class. I also did poorly in CS math, especially with formal proofs, which were a lot of fun for math enthusiasts but grating for me, being an expert in game math and graphics math at the time. When my fourth semester rolled around, I found only one or two modules to be somewhat useful, while others, such as HTML web design, had no bearing on my profession. I dropped out about halfway through my degree, leaving me with a lot of money spent but nothing to show for it. I could have forced myself through it, but it would have been on pure discipline (which is easier for some than it is for me!)
My advice is: don't get a CS degree because it's doable. Get it if you need it for something, like if you wish to enter a specific industry that requires a meaningful academic experience, such as research. Your degree will then serve a purpose. Otherwise, you might feel like you're not getting much out of it, and it won't be easy to justify carrying through. Especially if you're already performing at a level significantly higher than what a degree puts you on. Or maybe the purpose a degree could serve for you is fun - perhaps the academics would be rewarding for you in a way that doesn't have to flow into your work, or you get networking opportunities that a good uni/college affords. But my view is: it's a significant commitment, so there has to be a meaningful, clear reason to do it. Otherwise, it will be all cost and no return.
- Degree, a general one is good, a specific one related to the job is better (especially in the German-speaking area, I don't know about the others)
- Experience, especially in well-known big companies
They used a trick there to reduce the leverage of employees in IT and created the myth of a "shortage of skilled workers" by repeatedly publishing this in various media, creating fake statistics and ghost job ads. A lot of foreigners jumped in and also the existing workforce, afraid of losing their jobs or not finding a new one, didn't bother to negotiate well anymore and are doing jobs for really bad money (e.g. 50k/year).
Now you add the "AI will replace you anyway" mantra, which initially increases this fear and the willingness of employees to work for low wages.
The effect is a workforce that is well educated and willing to work for food and shelter, no questions asked.
If you're trying to compete, a degree helps, but in the end you may be undercut by someone with the same degree (with better grades) but who takes less money because they don't know their worth.
My opinion: try to get out of Europe, run your own business or find a different career / business opportunity. These are bad times for CS employees in Europe.
I failed to get back a degree for the same reason. Also in France, once you're above 25, you can't go back to university, you need to do classes for adults, which are lower quality and delivered by the labor department. Most of those classes are for people who never wrote code.
I tried to sign up some paperwork to get a degree equivalent but it's cumbersome and got refusals.
Needless to say, getting a job is impossible now. Most of the experience I have is because of the post COVID job market, but that's over now.
I say I am a developer without a job and people are surprised. I have excellent senior C++ test scores but without an engineering degrees, it's a no.
I might not be the best candidate, but there is no shortage of developers at all. They don't "hire anybody who can type code", that's just false.
Also ghost job ads, maybe?
Get that degree.
There are plenty of reasons (working in a team, demonstrated ability to organize, hit timelines, etc etc), but the single most important, IMHO, is that it will restrict your ability to grow in the company; HR have all sorts of talent and high potential mapping tables, and all the mid-top spots have degree/professional certification requirements. It would take a very special reason to get an exception, and what you've written wouldn't qualify.
I was working as an underwriting assistant at an insurance company and became interested in landing a job as a software engineer. I took a Visual Basic class in high school and a Java class in college. I dropped out of a biology degree late during my second year of college. I managed to get a job at my company's IT helpdesk, supporting a specific application on a level 2 team.
I did a 6 month coding bootcamp for node/react, which I left feeling like I had a good baseline in coding ability. While working on the IT helpdesk, I built a webapp that allowed external insurance agents to submit tickets online by integrating with our ticket system API, but I still couldn't get an interview for a dev gig. I eventually asked an internal recruiter why I was never hearing back, and they stated that they were only interested in hiring straight from our college hire program. I was pretty crushed. Out of the blue, six months after coding bootcamp ended, a project manager whom I had known in the past asked me if I'd be interested in a SQL-heavy systems analyst job. I happily took that, and while on the job, I did some internal instructor-led Java training.
While I was an analyst, I was able to start taking on some small pieces of work on a Spring Java backend. I was able to get employed as an engineer on my team after working a little over a year as an analyst.
I am currently working on finishing up a dual Comp Sci and Math degree. This is to better my long term job safety and career prospects. I am going at a pace where my entire degree will be paid for by my company, without me fronting any money. Ultimately I was able to get employed as an engineer having done a coding bootcamp without a degree, but I think that was only possible because:
- I was well networked at my company and maintained relationships over years with prior colleagues
- I had substantial domain experience, in insurance, in my company's systems, its business processes, etc
- I developed a career path that spanned multiple steps to get to engineer, with each role building on the prior
I don't think I would have been able to get employed as an engineer outside my company without some in-between steps
In other words, the value of the degree, in tech, is largely the brand name of the school that issued the degree, and I wouldn't expect an online CS degree to open any doors that a bootcamp couldn't also open.
Most places require a comp sci degree regardless of how good you are. It's rude to say that but I've found this to be true. I've also now realized that someone with a comp sci degree saying you don't need one, well they don't know what they're talking about. Being 6 months in to my degree program, also a boot camp grad but no degree, and in this US economy just having that I'm in school has made the difference. I added the degree to LinkedIn and my resume one month ago and I started getting interviews. Causation or correlation I don't know, I think a bit of both. I'm getting strong loops and it's come up now in every interview. Keep in mind that I have a very respectable DevOps background already, but I was getting anywhere. For Software Dev roles, I really think having the degree matters that much more and would reward you accordingly.
I assume we're talking about the school everyone asks about? A comp sci degree for 15k (so 18 months?) that's * ABET accredited * and * regionally accredited * which it is, checks all the necessary boxes, and would leave you open to get an in-person Comp Sci master's degree from Georgia Tech (I called) and probably from any good school on the US West Coast.
Before committing I asked 3 recruiters that I know, plus some hiring managers, and they all responded the same: "We'd interview you for a Software Developer role if you had a comp sci degree. We really don't care that it's from that school."
No to DeVry, ITT Tech, or City U, yes to the 'owl' one.
Do it.
Everybody is having a hard time finding a job. If you get a degree, you will do all that work and simply be competing with 100,000 other people who also have degrees and also want work.
I compete with them without institutional education. Although at my stage of career no one ever asks about my education.
Keep in mind that there's not an insignificant amount of hiring managers like myself who don't care, and actively will toss your resume in the trash if the only thing on it is a CS degree. I generally have found CS degree holders to be poorer devs in general, less inventive, more interested in dogma than development.
For what it's worth I also have a network of excellent junior and mid-level engineers who haven't been able to land a gig in the tech world for years at this point, and are moving on to other things one way or another. Right now this is a very "you REALLY want to be here" market.
If you have the motivation and the funds, i don't think it can hurt. As for me, I'll take solace in knowing i can scrape by on Upwork and my below average Chicago rent if i get fired lol. I may have the funds but i without question do not have the motivation.
I joined at a different time with a degree in Mechanical Engineering. My online resume originally had a spoiler tag expander to explain it, but other than an internship, I never worked a day of MechE in my life; all software and management.
I completely agree with the sibling posters that it doesn’t matter much (or at all) once you’ve got a little full-time software dev under your belt. I think most employers just want you to be able to create value for them. Other than consulting/body shop companies, your degree (the paper) doesn’t mean much.
> lifestyle
Starting a family at one point may factor into this; you'll be happier having something stable thanks to the degree that helped place you.
You can always self-study off .edu syllabi, books, and all that. Not always at the most convenient times, but the knowledge is out there.
Make sure the degree is from a reputable school. It's possibly the most important money spent.
Online bachelor's for computer science, though. I don't know if online is best there. Experience will bolster that for sure. Just don't know how ruthless the automated filters are.
It's less risk to find out at $15k than $150k, at least.
You also have to know your terms to communicate properly with it. Like my favorite these days is asking it to decompose a conditional. You never needed this term when you were coding, but when AI writes the code, you'll say things like this all the time. I'm still quoting books from 1999 to vibe coders and vibe coding tools, the foundations matter.
Eventually the seniors will retire and they need to hire the juniors. Or someone hires Devin for a job and realizes Devin needs a buddy.
The other major trend nobody is talking about is that people are dropping out of college because they expect AI to take jobs. A friend teaches game dev and says about 1 in 7 are attending. For game dev. That's the most interesting lecture you can get into. How are the other fields faring? College is also being filled up with idiots who use ChatGPT and probably won't understand what they learned. There's going to be a huge gap in demand one day and demand will surge like it did in 2016.
If anything, it's a bad time for boot camps because AI can pass all the interviews easily.
since you are in bay area, I can grab coffee if that'd be useful for you.
Is contributing to open source an option for you instead?
Then again, I've seen $15/hr jobs that require a Master's in CS. That management is crazy.
You were lied to then. It will definitely help you land a corporate job once you decide to stop freelancing.
If I was you, then I'd keep hustling with upwork and whatever else you need to while building and launching something meaningful on your own in the space you want to work.
- slap a founder title up on your linkedin (set the start date to now)
- ship something not terrible
- continue iterating on it while becoming a better engineer, product manager, designer, etc all on your own
- learn to use AI coding tools really well
- clone and enhance the features of competitors
- talk about it a lot
- go to conferences for the business sector and for the tech stack
- network a ton
Then apply for a job if you still want to in 1-2 years. You'll have met a lot of people doing that and can hit them up or apply to competitors in the space using your startup as the perfect showcase.
When they ask why you are quitting just say you are super passionate about the space but couldn't raise money or going on a solo founder was terrible and you want to join a team.
And just don't apply for jobs at FANG ¯\_(ツ)_/¯ there are so many other companies out there that need people with the type of experience you'd have after 6 months to a year of the above. They are looking for folks with FANG background, tier 1 college/other pedigree, or specific experience building the same thing.
In lean times, every job is difficult to land and the coveted are ~impossible. Even getting to a phone screen.
Going back, I’d get the full BS degree. Even though they were teaching Fortran at the time.
Yes.
> online CS degree.
No.
Most of the value of a degree is the connections you build and get opportunities through. You're not going to get much better at software development.
You'll learn some core CS/math concepts that can help later if you want to get into niche roles though. But that's not something most people benefit from, by definition of 'niche'.
True => "I am the only one in the company that has a degree (MSc compsci). I know stuff the others never heard of." -- RamblingCTO
Learning on the job will teach you part of what others know, and none of the rest. Learning on your own will teach you what you're interested in and none of what you hate.
I'm no shining example. My whole life has been a series of mistakes, but I've been happily unemployed 20 years as of July 7, 2025, after I quit my last job (in state government) after deciding that I'd rather die than to keep working there. I'm good at saving money, so I'm OK, and living in Ecuador now, which is nice.
The advice for decades has been to get to know people, and find work through your connections. I'd say now, looking back, as a pathologically shy person, that that sort of social engineering is probably the key, along with being helpful on the job and always appearing happy and upbeat. People really like enthusiastic people who are always cheerful, and that would be good for you if you can pile it on top of expertise, especially if it's accompanied by credentials.
Education is something that no one can ever take away from you. It's a tool you can use any way you see fit. What sort of education and how much are for you to decide. Me, I spent 10 years struggling after high school before finally getting a B.A in English.
Three years later, after deciding that I wasn't going anywhere, I started over and ultimately got a B.S. in physics and computer science with minors in math and chemistry, finishing that after 12 more years (with a big break in the middle to save up enough money to continue). And pretty much did shit work in state government for the rest of my working life.
If doing it over, I would be a LOT more aggressive and not hope that I'd get rewarded for doing good work. You have to go and grab what you need or fail boldly, I think. And you are the only one who cares how your life works out, despite what you might or might not hear from anyone else, let alone an employer.
A couple of interesting posts by David Heinemeier Hansson...
Why we won't hire a junior with five years of experience. (April 8, 2025) https://world.hey.com/dhh/why-we-won-t-hire-a-junior-with-fi...
We'll always need junior programmers. (April 24, 2025) https://world.hey.com/dhh/we-ll-always-need-junior-programme...