DEV Community

Discussion on: Computer Science fundamentals are still important.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

I disagree!
I'm a CS grad student, university topper (100% scholar), proficient in C++, JavaScript, TypeScript, and many other languages.
You can check out my GitHub to verify my skills.
While the fundamentals are useful for developing hardcore systems using networks or OS, they may not be as crucial in general cases.

Neither my college nor my degree taught me how to write code with good architecture and system design.

I do agree that it improves the intelligence to solve problems in a better way.
But it's not mandatory at all.

It is my perspective, and I completely understand if people disagree with me.

Collapse
 
nocturn9x profile image
Mattia Giambirtone

You seem to lack basic reading comprehension skills. Nowhere in the article was it mentioned that those skills were fundamental: if anything, the author stated quite the opposite. Important != fundamental.

Collapse
 
mrtillman0000 profile image
mrtillman0000

totally agree, @anmolbaranwal. real world scenarios and job duties rarely demand CS fundamentals. it's important, but sadly, it's not that important. really.

Collapse
 
moozzyk profile image
Pawel Kadluczka

As I mentioned in the article, you can get quite far without solid fundamentals. But from my experience, these fundamentals are extremely useful if you want to tackle bigger problems, and they don't have to be network or OS-related. For instance, I worked with trees on every single job, so DFS and recursion were our daily bread.

Clean code and good architecture are mostly orthogonal to CS fundamentals. System Design isn't - if I need to design a system for geolocation, I probably need to be aware of quadtrees.

Collapse
 
mrtillman0000 profile image
mrtillman0000 • Edited

the reason you can "get quite far without solid fundamentals" is because very few software shops have the scale, traffic, or unique circumstances that even demand solid fundamentals. the majority of software shops can get by with poor fundamentals, which is why CS fundamentals are not terribly important. they are important to an extent, and they are valuable in narrow contexts, but in the grand scheme, CS fundamentals aren't nearly as important as people want you to think. the average developer doesn't even have the liberty or political leverage to design systems and architectures. 99% of the time, code must conform to the existing pile of garbage.

Collapse
 
clovisdanielss profile image
Clóvis Daniel Souza Silva

I do not think the article was saying that it was mandatory.
Also, in my perspective, you are being contradictory. To say that the fundamentals are useful and say that you disagree with the post that says "fundamentals are still important" does not seem accordingly.
I think that you are implying that CS is useful, but not mandatory. And I don't see how that can be in disagreement with the post. It was a complementary opinion.

Also, the post was not about having a degree. It's about studying the fundamentals.

Collapse
 
anmolbaranwal profile image
Anmol Baranwal

Yeah, I actually said this after reading the comment. (whatever came to mind)
I know the article didn't imply that. My mistake!

comment

Collapse
 
jankapunkt profile image
Jan Küster 🔥

I think there is still a fundamental issue on how CS is perceived and what people expect from it. Computer Science is primarily not about writing software but, as the name implies, a science. The goal is not for graduates to necessarily become great software engineers.

There are Universities that understood this issue and splitted into Computer Science (lots of theory, algorithm design and verification, lots of maths, science methodology, computing, conducting studies, formal validation etc.) and Software Engineering (applied science, creating software on a professional level, knowing algorithms and which ones to use when / not, software architecture, patterns, design, more empirical work etc.)

Many Universities and Colleges still have no distinction between them so it's up to you to check their curricula and see if the education will match your future career expectations :-)

Collapse
 
mrtillman0000 profile image
mrtillman0000

wow! this is a good one! seriously great point @jankapunkt . I think it's the same difference between pure mathematics and applied mathematics: there is a clear separation between abstract concepts and the application of those concepts to real-world industry. this separation is not well-defined between computer science and software engineering.