Author Topic: Computer Science Degree or Self Learn?  (Read 1509 times)

Alchemisst

  • Bristles
  • ***
  • Posts: 255
Computer Science Degree or Self Learn?
« on: October 30, 2020, 04:02:15 AM »
Have read conflicting opinions on whether a degree in computer science is worthwhile or not, some say it's mostly outdated and a waste of time as employers only care about projects/ experience others say that is a pipe dream and you won't get a foot in the door without at least a degree. Makes it difficult to make a decision either way. What is the best option?

ctuser1

  • Handlebar Stache
  • *****
  • Posts: 1741
Re: Computer Science Degree or Self Learn?
« Reply #1 on: October 30, 2020, 04:19:38 AM »
1. It is easier to get a foot in the door (or even interviews) with a degree.
2. However, I would be a little suspicious of someone who comes to a job interview with a degree but no relevant work experience. So you may have to figure out how to get your foot in the door without a degree anyway. Fortunately, most colleges should help with that (not sure how that works with COVID).


CS = a specific subset of discreet mathematics. It will *not* help you in 99.9999% of day to day programming tasks, and it will take you a lot of time/effort to get (it's hard science, just like Math Physics and is or should be equally high effort to get). Do you like Math/Physics? If yes, dive in. If you hate them instead - I won't advise spending so much time/effort/money for a CS degree and you may be better off self learning coding or coding-bootcamps etc. If you are somewhere in between, then it is a grey area that you need to figure out by yourself what you want to do.

seattlecyclone

  • Walrus Stache
  • *******
  • Posts: 7264
  • Age: 39
  • Location: Seattle, WA
    • My blog
Re: Computer Science Degree or Self Learn?
« Reply #2 on: October 30, 2020, 11:41:38 AM »
The more experience you have, the less relevant your educational background will be to a hiring manager. The less education you have, the less likely a hiring manager will give you an interview for that first job. Sort of a chicken-and-egg situation at first if you want to take the no-degree route. You may find an in-company transfer to be a promising route to getting that first shot at it. I've known a few people from non-traditional backgrounds who have gotten into more technical roles that way, starting out as tech support and moving into development project management for example.

Coding is a skill that takes a lot of practice to master. A four-year degree program is far from the only way to get that practice, but it is the path of least resistance into an industry position.

deborah

  • Senior Mustachian
  • ********
  • Posts: 16081
  • Age: 14
  • Location: Australia or another awesome area
Re: Computer Science Degree or Self Learn?
« Reply #3 on: October 30, 2020, 07:06:02 PM »
A degree or a formal course give you standards to follow and make sure you actually don’t have huge holes in your understanding. Self learning doesn’t. In my experience, this can make a huge difference once you’re working. Over my working life, I was happy to employ experienced people from either background, but the self learners were more likely to have problems, and I certainly wouldn’t have taken them without much experience.

AccidentialMustache

  • Pencil Stache
  • ****
  • Posts: 938
Re: Computer Science Degree or Self Learn?
« Reply #4 on: October 30, 2020, 10:59:58 PM »
This is really two questions about yourself that only you can answer.

One: If you self-learn, will you really learn it? Or will you know how to slap a hello world together and not much more?

Two: Do you enjoy coding? Go self-learn enough of a language (python, javascript, pick one it doesn't matter) to start doing hacker rank or advent of code exercises. Do you get joy from it? If not, learning to code may not be your ticket.


To be successful and pulling a sacks-of-cash CS-based salary, you want need One and Two to be true. If you follow-through for One is sketchy, then you probably should look at a degree program to guide you. If you're good learning on your own, the sure, do that. Use a university's "required courses" to guide subjects you should make sure to explore, and you can optionally get the textbooks for their courses if that's how you roll.

Tester

  • Bristles
  • ***
  • Posts: 478
Re: Computer Science Degree or Self Learn?
« Reply #5 on: October 30, 2020, 11:29:38 PM »
Whatever route you take, make sure you take a Systems theory course.
This is why I think a degree would help, guiding what course to take.
Some of them are not useful for me, but the systems theory sure is, every day.

MilesTeg

  • Handlebar Stache
  • *****
  • Posts: 1363
Re: Computer Science Degree or Self Learn?
« Reply #6 on: October 30, 2020, 11:42:58 PM »
1. It is easier to get a foot in the door (or even interviews) with a degree.
2. However, I would be a little suspicious of someone who comes to a job interview with a degree but no relevant work experience. So you may have to figure out how to get your foot in the door without a degree anyway. Fortunately, most colleges should help with that (not sure how that works with COVID).


CS = a specific subset of discreet mathematics. It will *not* help you in 99.9999% of day to day programming tasks, and it will take you a lot of time/effort to get (it's hard science, just like Math Physics and is or should be equally high effort to get). Do you like Math/Physics? If yes, dive in. If you hate them instead - I won't advise spending so much time/effort/money for a CS degree and you may be better off self learning coding or coding-bootcamps etc. If you are somewhere in between, then it is a grey area that you need to figure out by yourself what you want to do.

A CS degree will absolutely help you in day to day programming. Having a working understanding of fundamental data structures, algorithms and machine architecture is a must to be a decent programmer.

If I had a nickle for every non CS background coder I've worked with who I had to explain basic concepts like stack vs heap or order of complexity...

FIPurpose

  • Handlebar Stache
  • *****
  • Posts: 2062
  • Location: ME
    • FI With Purpose
Re: Computer Science Degree or Self Learn?
« Reply #7 on: October 31, 2020, 08:56:14 AM »
There's a good reason that companies continue to hire CS graduates for their coding work: The code survives longer and is of higher quality.

There's also a converse of that: A lot of coding positions don't require longevity or extremely high quality.

You can think of this as there being "blue-collar" coders and "white-collar" coders. They both have their ups and downs. They can both make a lot of money. Typically the blue-collar coder can make good money either finding gigs that they can work >40 hrs a week or finding a super tight niche (or really high demand) using a specific language or tool. Blue collar coders are also more likely to work either alone or on a small team where the quality of their code (and lack of comments and documentation)  are less likely to frustrate coworkers or matter too much in the long run. These kinds of jobs are usually small web development, office report automation, or code maintenance. Most people here make around 60-80k and room for moving up is quite limited.

CS grads are more likely to get "white-collar" coder positions. These are usually at the bigger firms where the coders have to work in giant dev teams, work on more complex coding such as embedded firmware, big data, cloud computing, etc. These jobs are much more likely to require that you understand not just how to code, but what the code itself does means. There's nothing more useless in these positions than a guy who blindly copy-pastes from stack overflow without the background to know if it's a good idea or not. These are jobs where blue-collar coders usually do not fit in very well. These are usually salaried 40 hr/week jobs. People here usually make around 80-150k. There's usually a ladder that you can climb all on the tech side in these environments.

You can certainly meet a good coder who never went to school, but they likely learned a lot more from the school of hard-knocks than from self-taught academia. However, most of the "blue-collar" coders that I worked with at big firm when I was right out of college had their code thrown away as soon as they quit/fired because it was simply unusable. There's simply a certain level of rigor and complexity in certain coding jobs that require a CS background. But there's also a slew of jobs where companies just need code pounded out where a CS grad would likely be bored or way overqualified.

bacchi

  • Walrus Stache
  • *******
  • Posts: 7101
Re: Computer Science Degree or Self Learn?
« Reply #8 on: October 31, 2020, 10:13:07 AM »
1. It is easier to get a foot in the door (or even interviews) with a degree.
2. However, I would be a little suspicious of someone who comes to a job interview with a degree but no relevant work experience. So you may have to figure out how to get your foot in the door without a degree anyway. Fortunately, most colleges should help with that (not sure how that works with COVID).


CS = a specific subset of discreet mathematics. It will *not* help you in 99.9999% of day to day programming tasks, and it will take you a lot of time/effort to get (it's hard science, just like Math Physics and is or should be equally high effort to get). Do you like Math/Physics? If yes, dive in. If you hate them instead - I won't advise spending so much time/effort/money for a CS degree and you may be better off self learning coding or coding-bootcamps etc. If you are somewhere in between, then it is a grey area that you need to figure out by yourself what you want to do.

A CS degree will absolutely help you in day to day programming. Having a working understanding of fundamental data structures, algorithms and machine architecture is a must to be a decent programmer.

If I had a nickle for every non CS background coder I've worked with who I had to explain basic concepts like stack vs heap or order of complexity...

That's not the degree, per se. It's the knowledge learned while pursuing the degree.

In other words, if someone took every CS-path course they could at Coursera and edX, they would know all about stacks and trees and O(n) and discrete math.

Most people, though, don't have the self-discipline to do so, which is why we have instructors and in-person classrooms.

bbqbonelesswing

  • Bristles
  • ***
  • Posts: 319
  • Age: 31
  • Location: Philly
Re: Computer Science Degree or Self Learn?
« Reply #9 on: October 31, 2020, 10:35:02 AM »
Have read conflicting opinions on whether a degree in computer science is worthwhile or not, some say it's mostly outdated and a waste of time as employers only care about projects/ experience others say that is a pipe dream and you won't get a foot in the door without at least a degree. Makes it difficult to make a decision either way. What is the best option?

Whether it's worth it or not depends on the role you're going after. Some jobs and some companies care about degrees, others don't. It's impossible to say without knowing what you're aiming for.

Personally, I got started without a CS degree. Most of my colleagues either have a degree in a different field or none at all. It isn't a requirement at my employer.

MilesTeg

  • Handlebar Stache
  • *****
  • Posts: 1363
Re: Computer Science Degree or Self Learn?
« Reply #10 on: November 01, 2020, 06:41:30 PM »
1. It is easier to get a foot in the door (or even interviews) with a degree.
2. However, I would be a little suspicious of someone who comes to a job interview with a degree but no relevant work experience. So you may have to figure out how to get your foot in the door without a degree anyway. Fortunately, most colleges should help with that (not sure how that works with COVID).


CS = a specific subset of discreet mathematics. It will *not* help you in 99.9999% of day to day programming tasks, and it will take you a lot of time/effort to get (it's hard science, just like Math Physics and is or should be equally high effort to get). Do you like Math/Physics? If yes, dive in. If you hate them instead - I won't advise spending so much time/effort/money for a CS degree and you may be better off self learning coding or coding-bootcamps etc. If you are somewhere in between, then it is a grey area that you need to figure out by yourself what you want to do.

A CS degree will absolutely help you in day to day programming. Having a working understanding of fundamental data structures, algorithms and machine architecture is a must to be a decent programmer.

If I had a nickle for every non CS background coder I've worked with who I had to explain basic concepts like stack vs heap or order of complexity...

That's not the degree, per se. It's the knowledge learned while pursuing the degree.

In other words, if someone took every CS-path course they could at Coursera and edX, they would know all about stacks and trees and O(n) and discrete math.

Most people, though, don't have the self-discipline to do so, which is why we have instructors and in-person classrooms.

This is a strange picking of nits, obviously I'm talking about the knowledge not just the diploma in and of itself.

There are multiple ways to attain it, but most recruiters aren't going to take the time to verify those alternatives if there's a stack of resumes.

Sid Hoffman

  • Pencil Stache
  • ****
  • Posts: 928
  • Location: Southwest USA
Re: Computer Science Degree or Self Learn?
« Reply #11 on: November 01, 2020, 11:02:06 PM »
There's hundreds of jobs that count as technology jobs nowadays. Some might help to have a CS degree, but others it would not. It's going to depend heavily on what type of work you do. I've been working in tech for something like 25 years now and never even went to college, much less got a CS degree. All I had was when I finished high school in the mid 90s was that a CompTIA A+ certification used to be considered a good thing to have. I studied a month or so, took the test and passed with a good score.

Nowadays I'm not sure I'd recommend anything from CompTIA but there's various coding bootcamps that can help you get a job somewhere like what my nephew recently did. He'd done a bunch of self-study and web design for the last year or so then took a 6-month coding bootcamp that had been crammed into 3 months due to COVID. He had a new job within a month and given a huge promotion and raise after his 90 days just recently. There's also network certifications, or even Sharepoint classes and Agile certifications or becoming a scrum master for a tech company and so much now compared to 25 years ago.

I agree a degree can really help, but at what cost? If it's going to take you 5-6 years of full time schooling to even get a degree and cost you $60k in student loans and say $200k in lost wages by schooling full time instead of working, is it worth it? Like maybe for a few jobs like if you want to be a principal architect making $250k at a huge company but for all the normal $60k-125k jobs it's not so cut and dry about a degree being more valuable than having an extra 5-6 years of work experience instead.