Live data from Hacker News

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

zeroequalsfalse.com

281–290 of 330 posts

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

#281
CS is not Software Engineering, it's more about research than about coding. But let's say the post is about SE vs self teaching. Is it better to have a teacher or to go self teaching? I think a teacher is better. A teacher can bootstrap us faster and teach us something important we wouldn't randomly step into or would underestimate. Then I think all of us know that most of our coding knowledge comes from self teaching (the google / practice loop).

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

#282

Teaching yourself to code while getting a CS degree is best IMO. Just teaching yourself you'll likely miss lots of topics and not challenge yourself as much. Conversely I've met plenty of students that don't really care about the topic and are just taking the class to get a job. So do both! Take the class and teach yourself. In other words pursue your hobbies and use code where those hobbies match. Learn the things y…

Indeed, or teach yourself to code while getting a degree in virtually anything interesting. If you've committed yourself to attending college and getting a 4 year degree for reasons good or bad, why does it have to be CS? How about physics, or math, or poetry? Use the 4 years to get "domain knowledge" or even just to develop a rewarding hobby that gets you through the days when programming seems like the pits.

I learned to code while in high school (in 1981), and had summer internships in a computer facility. My mom was teaching CS at an extension campus of a state university at the time. She was the one who didn't think a CS degree was necessary for becoming a programmer. Her students were getting good jobs after 1 year in her class. And the programming work that I observed at my internships seemed like it would be ultimately boring.

So I went to a liberal arts college and got a double major in math and physics. At the college, it seemed like the people doing "cool" things with computers, were in the physics department. I kept learning more about programming, and also taught myself electronics. And then I went to grad school in physics. Granted, this was all before the Interwebz.

A lot of people whom I've worked with over the years were programmers with degrees from all over the place: Natural science, philosophy, music, and so forth. The programmers with non-traditional backgrounds tend to be happy to be earning more than they were in their original fields, but also tend to do non-traditional work. At my workplace, any job involving math goes to a handful of "math people" who happen to have math or physical science degrees.

Survivor Bias Alert: I can't say that I discovered a magical career formula. Many of you are vastly richer than me. I'm reminded of the saying: "You go to war with the army you've got." I don't know if I can ever be self disciplined enough to sit in front of a programming screen all day. I do a great deal of programming, but my background allows me to do enough non-programming to keep me from losing my sanity. And my interest in electronics supports a fairly rewarding side-business.

Becoming a programmer at age 19 isn't a panacea. My friends who did that, many of them were swept into the vortex of alcohol and consumer debt. A couple didn't survive. For some, going to college is a way to break away from their hometown culture, and try a new life.

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

#283
post #42

Earlier quoted context omitted.

Same here, getting close to hitting 7 figures. Never stepped foot in a university but I was coding from 13 and working part time from about that age. Uni just seemed like a waste of time as the CS curriculum was already out of date for modern development in the country I'm from (this was mid 90s and internet was taking off). I would not recommend this career track if you're the kind of person that wants to climb a ca…

The most valuable lessons I got from University were: - Time and space complexity (Big O, Little O, big Omega) - Algorithms and data structures (linked lists, heaps, trees, graphs, search algorithms, sorting algorithms) - Artificial intelligence (neural networks, evolutionary computation, decision trees) - Electrical engineering logic gates and circuit analysis (gives a good basic understanding) - Discrete maths (De…

I had to learn all that stuff, and it has been nearly 20 years since I took many of those classes. Except for the database design, which I use regularly, I've forgotten it all. Which is really frustrating, because I put a lot of time, effort and money into learning that stuff.

The other day one of our network guys asked me what a Red-Black Tree is. I couldn't explain it. I got an A in my algorithms and data structures class, but I haven't used it so I forgot it.

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

#284

People REALLY hate college degrees on this site. I think my degree was a great decision. I've met a few decent self-taught programmers. Most are awful. Over and over again the bootcamp grads and people who have never attended school end up being the worst performers on my team. A LOT of the people I have worked with who do not have degrees have bad attitudes and are hyper-vigilant about "no degree" microaggressions.…

People with no degrees hate degrees. People who can't pass FAANG interviews hate FAANG interviews. It's a defense mechanism, along the lines of "I'm not a bad student, the teacher hates me".

This is a very poorly reasoned perspective. Case in point, I have a CS degree background (from a top school) and think it was completely useless in terms of my career. I got my first job through a random connection and from then on my experience and practical skills have gotten me work.

Also, even though I've worked for various "top" companies, I've never once had to write my own binary tree, hashmap, Dijkstras search, etc etc. Note, I also think FAANG style interviews are a waste of time too, which is why at my current company I make all applicants do a take home test which is analogous to the kind of work they will be doing if they get the job.

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

#285
Nothing in this article pertains specifically to a CS degree -- time management, communication, and networking are all skills that would be picked up by any college degree, and would arguably be stressed even more heavily in a, say, liberal arts degree.

Perhaps the author would be even more in favor of a history degree and teaching yourself how to code than a CS degree.

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

#286
post #222

I work with a team of people who mostly have "Software Engineering" degrees. I am one of the few with CS. In short: IN GENERAL - Those with SE degrees (or other non-CS degree, or no degree) can be excellent developers (good code style, good unit test coverage, aggressive PR reviewers, etc). However, the art of computer programming - or computer system design -- is often in formally defining the problem at hand using…

I would make the observation that mere "dozens-to-hundreds of hours agonizing" over theoretical topics leaves one very far from qualified to design critical complex systems. At best, it gives one a shallow understanding of the domain but no expertise in the theoretical design of operational systems. Every CS grad knows how to design a database engine -- a very poor and naive database engine that has little resemblance to what an expert in the theory of databases would design. Same story with parallel systems, networking protocols, etc.

For as much time as is spent in school on theory, one still needs to spend (at least) an order of magnitude more time going deep in a theoretical domain to understand it well enough to apply it competently. The difference in the amount of self-study required to grok many classes of complex systems design between someone with a CS degree and someone without falls below the noise floor. No matter what, you will need to do inordinate amounts of self-study to acquire theoretical competency.

A CS degree is essentially a theoretical survey course. It tells you these domains exist and gives a little bit of high level context, but if you want to become an expert in those theory areas then you are still learning almost entirely on your own and/or from other experts on the job.

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

#287

People REALLY hate college degrees on this site. I think my degree was a great decision. I've met a few decent self-taught programmers. Most are awful. Over and over again the bootcamp grads and people who have never attended school end up being the worst performers on my team. A LOT of the people I have worked with who do not have degrees have bad attitudes and are hyper-vigilant about "no degree" microaggressions.…

[deleted]

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

#288
i agree with the title, but not with the article. All the things listed in the article can be learned outside of a CS degree. What a CS degree does is force you to learn the academic which gives you the foundation to work at FAANG or some other company that has high [principal] engineering levels, or even just the awareness of knowing what you don't know to round out your skillset post school.

Having said that, a CS degree isn't necessary, just better under the premise that knowing more is better than not knowing more.

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

#289
Personally speaking, CS degree has been a negative indicator. Autodidacts, and people coming from math, physics, engineering, finance have all been outstanding hires.

CS grads have typically been strong on opinions, weak on everything else. The whole program is just too "meta"--and it is a huge negative!

You can give an idea to an autodidact, or a math grad, or a real-science grad, and they will approach it with an open mind. Give the same idea to a CS grad, and God help you if it conflicts in any way with their indoctrination.

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

#290

"College degrees far outweigh teaching yourself to code (Or coding bootcamps), as they provide you more skills than simply knowing how to code." But the majority of the skills listed are not intrinsic to computers, computer science, or software at all. "There are many skills that Developers now require besides just coding. They need time management skills, organisational skills, people skills, translating skills, neg…

College was pretty awful at teaching any of those soft skills. I was good at mostly turning in Algorithms homework on time and not failing tests, so I did fine. You totally can graduate with decent grades from a good school without making much progress on soft skills.

Most programs aren't going to 'teach' you these things, either (counter to the point of the linked post). You are likely to be put in situations where you have to work with other people on a project (short in-class assignments or longer term projects). I had some of these in various classes (writing, ethics, political science, etc). None of these projects ever involved any directed learning on the soft skills themselves - you just had to 'do it'. "Improving" by whatever metric you want to use was a byproduct of the exercise, not the goal.
Post reply on HN