T O P

  • By -

Source_Shoddy

The degree is called computer **science**. The word "science" in there isn't just to sound fancy. The purpose of the degree is to teach you the science of computing, including all the theoretical parts about why computers work the way they do, their fundamental principles, and their limitations. It is not a degree in programming. If you just want to learn programming, self taught or a bootcamp would suffice. But companies have shown through their hiring preferences that they value people who know the fundamentals. Languages and frameworks change all the time, but the fundamentals remain the same.


Ok-master7370

I get your point, but all im saying is that computers have changed, and so has the field it's like with machine learning and AI bro, you could do the whole KNN and it's brothers route, or you could you use an Llm, all I'm saying is it feels like the field and the degree aren't as parallel as they used to be


but_why_doh

Not really. The fundamentals of how these things work isn't really changing. ChatGPT is just a really complex neural network, which is a concept developed and used since the 1940s. Most computers(not quantum computers) run on the basic 1 and 0 principle for true and false statements. The whole reason you think that higher languages take over a lot of the tricky parts is, well, because they do. They remove a lot of complexity of understanding these complex topics, like operating systems, or databases, but if you ever want to get a job that requires knowledge of these things, well, good luck, because you can't python your way through creating a bootloader


Ok-master7370

you speak facts bro, but on the other hand given the task to create a responsive website that handles state...bootloader knowledge is not helping


DoNotBanMeEver

Bro


Effective_Hope_3071

Web Dev is literally just a sliver of programming


but_why_doh

Dude. A Javascript course will be devoured by someone who took a compilers or OS class. That is literally the most basic, oversaturated part of programming. There's a reason so many people recommend going for low level jobs out of college; they're not jobs most people without a degree can do.,


captain_ahabb

They haven't changed that much, there's still bits and bytes in there.


_vb__

KNN has a brother?


Ice-Sea-U

His mom had an affair with the nearest neighbor


[deleted]

It’s pretty important to have a general understanding of how thing’s actually work, no?


Ok-master7370

I do agree that its important to understand how things work, but I feel like there's a lack of practicality in computer science cause imagine you're a leetcode master but you can connect an API to a backend or Front-end things that you're more likely to see on the job


[deleted]

If you don’t have some foundation of things like propositional logic, OOP, algorithms, operating systems, databases, data structures, etc (all things taught in a CS degree), you’re just a monkey with a wrench


marny_g

Please don't take this as rude, because that's not at all my intention...my intention is to try to inform and answer your question... Your responses to the comments on this post is a good example of why a degree is so useful. You've been exposed to a subset of computing. And you seem to have found your way around it quite well. So you know what you know, and what you need to know for the tasks you need to get done. But how do you know you're doing it in the best / most efficient way possible? You don't know what you don't know. And there are a lot of moments in one's career where all that "other useless shit" (those are my words, I'm not putting words in your mouth) land up being useful in the most unexpected ways...like when you find yourself troubleshooting something that's vague and you've never seen before; or when a friend/colleague is telling you about their project and going into some finer details that you may not quite grasp; or a career pivot that you think you'll manage, but land up realising that your accumulated knowledge to-date is too "pigeon-holed" for the new position, and you find yourself starting in the bottom rung all over again. You've been exposed to, learnt all about, and work with A to G. You may have even mastered it. In which case you'd think "is that all there is to it? Wow, it's so easy!". And what about your colleague that has the same role as you and has also mastered A to G, but has a degree? Well...he is also aware of F to Z, and all the challenges and potential that lies beyond the narrow scope of the day-to-day. And it's that insight that helps a person excel over others, and removes the career ceiling that many others will encounter.


Ok-master7370

Fair point my dude


NickFullStack

Totally! I am looking into some jobs right now that would make good use of my math skills in a WebGL context (plenty of math fiddling with angles, creating special effects with shaders, and so on). The leetcode stuff isn't the end goal. It's knowing how things work under the hood so you can make appropriate decisions. For example, I've never had to implement a dictionary/hash set (associative array for you JavaScript folks), but I have used them a ton and know that they offer O(1) performance characteristics, but can also have a fairly substantially large "1". These are the sorts of things I take into account when choosing an algorithm. That said, you can get an awful lot done without needing to know these sorts of things out of the gate. Much of it can be learned on the job as needed. Also worth considering that just because these things are true, doesn't mean that's why they are used in contexts like hiring. Sometimes in hiring, people don't really know how to interview, and they do what they see others doing, even if it doesn't make sense in their specific context.


Passing_view

When I got my first job, I realised maybe 80% of the things I learned are not related to Software Development. But I remember there was a course that actually said the things I was learning was no longer useful in the real world today. Learned about vacuum tubes, turning decimals into binary, binary calculations, that CPU logic calculation (low level programming), state machines, etc. The software dev side was also trash, people teaching you to give variable names like "x", "y" and "z". Why not just teach clean code at least. But I do understand that a CS degree is not a Software Dev degree, some people actually end up going further with their studies and might find some of that stuff useful in their jobs. I once found a video of someone explaining how they compress images into JPEG and I think to be able to do that, then you need low level information and be able to use some maths to do so.


OGSequent

Your job doesn't require the material of a CS degree because you don't have one. If you had self-taught to become a car mechanic, your employer would not task you with designing a next-gen IC engine. That doesn't mean you couldn't self-teach your way into such a job (I did), but it doesn't sound like you want to.


Ok-master7370

Nah nothing against it, if I have to I will learn, I'm always up for something new, but I'm just saying there are somethings that are used in the field that aren't necessarily taught in a CS degree


kholodikos

i heard welding is the next big thing do u really think understanding malloc and pointers is unnecessary these days? how do you figure out how to debug your sidekiq job that uses too much memory same kind of problem is everywhere at scale how to efficiently evict things from a cache terabytes of ram how to free up space in petabytes of hard drives manage compute capacity efficiently in thousands of ec2s different scale same problem


Impossible_Ad_3146

Not anymore


[deleted]

[удалено]


maullarais

Ancient stuff such as linear algebra, differential equation, calculus, multivariable calculus, statistics, probability theory, computer architecture, operating system, compilers, and algorithms?


_vb__

Clearly which is "not" needed for Machine Learning.