Live data from Hacker News

A CS degree is better than teaching yourself how to code?

zeroequalsfalse.com

71–80 of 330 posts

Re: A CS degree is better than teaching yourself how to code?

#71
post #23

A CS degree helps you get an interview. That's pretty much it.

It depends. Say as part of your job you have to read and understand something like this: http://users.ece.utexas.edu/~garg/dist/agarwal-garg-DC.pdf (sampled from my work activities today..) I suspect a CS degree is going to be pretty helpful. Disclosure: I have a EE degree.

I am not sure a fresh cs grad would understand this.

Re: A CS degree is better than teaching yourself how to code?

#72
post #59

Earlier quoted context omitted.

From my experience, if people don't have the discipline to self-study some specific topic then they'll have a hard time in CS. The problem is CS is constantly changing and you need to be routinely upgrading your skills as time progresses to stay competitive in the marketplace. I would even go as far as saying that being able to self-study on your own is an essential life skill, up there with learning how to read/writ…

The whole “constantly changing” thing is not true when it comes to computer science theory. What you are talking about is essentially programming as a trade. That’s not what a CS degree or any degree is for, really. The best programmers have a deep understanding of how computer software works.

The dev tools are used in those degrees just as tools to achieve something else. I remember taking a compiler course (as in, we got to write optimising compilers as an assignment) with people who didn't have a good grasp on how to really use those tools in detail. You were just expected to pick it up on the way. It was treated as a basic skill.

Re: A CS degree is better than teaching yourself how to code?

#73
post #4

Everything here can be earned elsewhere for far less money. In fact, if you get an entry-level job you can learn all this while getting paid! IMO the advantages of CS college are this: - You can reach a higher salary. - It's easier to learn hard math/CS ideas in school than on your own. - It's easier to make friends in college than elsewhere.

> You can reach a higher salary.

I'm not sure about "reach". From what I've seen it's more of a "You can start with a higher salary". After a decade of work barely anyone cares about your university. There are some exceptions of course - R&D departments at corps like degrees for example.

Re: A CS degree is better than teaching yourself how to code?

#74
post #58

Earlier quoted context omitted.

> Beyond a few general requirements, most CS programs do let you focus on what you’re interested in, and to much greater depth and pragmatic application than trade school. Not that few. Here's what mine has: - Writing x 2 - Discrete Mathematics (a few concepts in there are really needed - the rest is mostly not) - Public Speaking - Humanities x 4 - Calculus x 2 (I doubt even 10% of SW folks use this) - Linear Algebra…

The courses you list are mostly very necessary for well-rounded knowledge and ability to synthesize research and share knowledge (like in a team project), and doesn’t seem to be a high course load. Putting it in the first two years also suggests the later years allow you to be more specialized on CS. Linear algebra, discrete math & probability really are needed all the time.

> The courses you list are mostly very necessary for well-rounded knowledge and ability to synthesize research and share knowledge (like in a team project),

I can only repeat what I said:

Look - I think I gained quite a bit from the well rounded education I got. And my general advice is that people should go for it. However, I also have the reality of experience: Most of my peers who have degrees are poor at writing, poor at communication, poor at ethics, and poor at business skills. I see nothing differentiating them from trade school folks in this regard - and these all matter in the work place.

> Linear algebra, discrete math & probability really are needed all the time.

Why?

One can understand O(N) enough to do over 90% of SW jobs without taking these courses. You just need a bit of dedicated instruction for it.

And while linear algebra is crazy important for some disciplines, it's simply not needed for over 90% of SW careers.

And I do think a good understanding of statistics and probability can really help you, I also see that most CS majors take this course and have forgotten almost everything they learn in it by the time they graduate. I think some parts of the SW industry are such where you really would benefit from it - roughly 25%. I also think that percentage will increase with time, so I would encourage everyone to learn it - degree or trade school.

Don't get me wrong. I spent over a decade in university doing math heavy stuff. I love it. I can also say from my experience in industry is that very little of this differentiates good from poor performers. Or rather, the main factor is motivation and internal drive. Those who have it learn it with or without a degree. And those who get a degree (even with a good GPA) but lack the motivation forget it ridiculously quickly. I still recall my shock in my first industry job where almost everyone had graduated with a good GPA and a top school and had forgotten most of their linear algebra, discrete math and probability within 2 years of working. And more importantly, they fought hard to avoid doing such problems.

If we were talking, say, electrical engineering (electronics/control theory/EM/communications), then I would heavily tout the degree. It's a ton more math heavy than a CS program, and it requires a lot more discipline to do that on your own, and I've not heard good experiences from trade school on those.

Re: A CS degree is better than teaching yourself how to code?

#75
post #8

I am sorry but no. All of that can be learned during your first internship where you get paid instead of paying. I would argue college delays maturity and does not foster it. Hanging out with a bunch of people that are the same age, same life stage, etc. doesn't exactly add life experience. Continuing to do "hoop-jumping" work just like we all did in high school also doesn't seem to be novel. Perhaps its the keggers…

I don't think the article made the best points in favor of a CS degree. I went to a top 40 program and I took a lot of CS and hardware classes and what I did learn, crucially, that is more difficult in the workplace, is how complex systems work and how to approach complex systems. Now, you could accidentally learn that on the job, or intentionally if you choose to, but you can also sort of skate by in a fog of ignora…

I think that is fair but remember over half of the classes you took in the pursuit of a CS undergrad were not CS classes. Of the half remaining maybe half of them were truly vital? Even the example of building a microprocessor (or your own compiler as a right of passage) totally useless to 99.5% of practitioners in industry. That is a quintessential "hoop-jumping" class. Did you also learn the proper way to heat sand to extract silicon to make your own transistors? At some point we have to climb up the abstraction ladder and academia is always a rung or two behind and moves too slowly.

I would contend there are 6 classes worth of truly important information for practitioners to be equivalently informed as your top 20% CS undergrad.

Re: A CS degree is better than teaching yourself how to code?

#76
Wow, no kidding? You’re saying it’s easier WITH a degree? Unbelievable insight

Now, if college were available as a choice to everyone, maybe you’d be making a point applicable to the people who could actually make use of the advice

But, alas, that’s not how it is. Even naturally gifted programmers born with the option go to school 9/10 times, because they have a choice and the choice is obvious.

Way to entirely miss the cause for the symptom

Re: A CS degree is better than teaching yourself how to code?

#78
post #55

The article should mention breadth. University education forces you to take courses that may be outside of being directly related to your field. My computer engineering degree also included classes in the following subjects, some mandatory, some chosen by me: - Film history - Multiple English/Literature courses - Geology - Physics - Chemistry - Macroeconomics - World History All these subjects made me a more well-rou…

Is your point that a uni degree in general is better than nothing?

My point is that it’s better than coding bootcamps or otherwise being self taught in CS.
Post reply on HN