Live data from Hacker News

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

zeroequalsfalse.com

141–150 of 330 posts

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

#141
A degree will often act as gatekeeping, in my view. There is a difference between a degree and an education.

Once you have a computer and an internet connection, you're good to go. A degree will cost a lot more, especially today.

Getting a CS degree is better, of course, but it's like everything, it has a cost. It just happens that teaching yourself is possible and much more accessible.

There are pro/cons for both.

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

#142
post #42
post #31

Talking with co-workers who completed 4 year CS degrees, I feel like I got a much better value out of my now defunct 2 year trade school. Mind you this was 15 years ago, but I came out of it with a decent enough working knowledge of C, C++, VB.Net and Java - and basic understanding of SQL, PLScheme and functional. On top of that there was a solid year of data structure class. Trade schools have been largely demonized…

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 Morgan's laws)

- Database design

The database design course I did was heavily centered around relational databases but some of the core concepts of this course ended up being very valuable for any kind of DB and also for areas outside of the DB. It taught me a lot about useful software engineering concepts such as identifying functional dependencies in the data, achieving good separation of concerns, establishing a clear data flow, one-source-of-truth principle, indexing of data, etc...

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

#143
I’ve made the opposite observation.

As someone with no relevant CS background, the points made by OP are exactly what granted me my first job.

Having to sit down and force myself to learn something that is not part of my day job that is the hard part. Or worse, I don’t think of something to be relevant, precisely because I know too little on a seemingly foreign topic.

And that’s where I see a degree as valuable.

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

#144

Earlier quoted context omitted.

Upvoted, I think people don't really understand how little time is spent on actually learning to program in an average computer science degree. If you don't study programming yourself and have intrinsic motivation to do so, you really can't program all that well despite having a CS degree.

While I didn't do a CS degree, from what I could tell of friends who were doing that, it was a course in mathematical logic and algorithms built with that logic, and analysis of problems in such a way that they could be explored and solved using the logic, with some modules demonstrating applications of that mathematical logic such as operating systems and compilers, which were helpful tools created out of the logic…

The degree covers a lot of ground. Different languages, AI, robotics, people management, teams, etc etc

Mostly it informs the student of their current level of understanding. 70% of lecturing is marking assignments. That’s what you don’t get when you teach yourself.

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

#145
post #58

Earlier quoted context omitted.

While I agree trade schools are not considered enough for the value they can add, your comment strikes me as reinforcing the college degree path. 1. 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. “Focusing on things you don’t care about” is a very minor part of college technical programs unless y…

> 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…

I think some of those should be mandatory for CS programs. From my own experience:

writing: it makes a huge difference to me if some open-source project I'm supposed to be using has good documentation or not, and there are a lot that don't. Poorly written specifications are also a huge waste of everyone's time. Of course you need the right kind of writing class to make a difference here.

Linear algebra: there are different ways to teach this; the prove-stuff-from-first-principles approach which I agree is more suited to mathematicians, and the here's how you use matrices for real stuff which I used a lot in my last job. The moment graphics become involved, it's a big topic.

Prob/stat: this really depends what field you're in but for machine learning it's essential, and that's quite hot right now. I mean this in the sense of understanding what's going on and being able to interpret results, not in the sense of being able to copy a tensorflow command from stack exchange.

public speaking: if you want to rise in the organisation, or just get your ideas heard at team meetings, then it's not a complete waste of time. There are lots of more important factors, but being able to get a point across well is a small factor in your favour.

discrete mathematics: there's only a little bit of this that you'll actually need, but I got from lowly intern into proper projects at one company because I fixed a bug that had been causing random weirdness for ages at the company and it turns out someone implemented Java .equals() in a non-transitive way for one domain class and that was messing with the ORM.

The problem with a lot of universities is they want to teach CS in a way that turns out CS researchers (or at least grad students), which is an overlapping but not the same skill set as good developers.

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

#146
> Most CS degrees have group projects. These are great for learning how to interact within a multidisciplinary team, how to behave, and how to communicate technical concepts effectively. These are excellent skills to have while working in Software development.

Plenty of CS graduates have very poor communication / social skills. It's very unfortunate but it's the sad reality.

As somebody with computer science knowledge, but no official university degree, I can testify to the importance of going through such a curriculum. I'm eternally grateful to MIT and their OpenCourseWare initative which allowed me to develop my understanding of the subject. This, without a doubt, made be a better Software Developer. All of this for free.

Physically attending university has two main advantages as the article points out: Discipline for people who can't work when not pressured (ie deadlines) and of course networking (meeting with companies on campus etc)

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

#148

Earlier quoted context omitted.

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".

I got a degree and graduated summa cum laude with a 4.0 GPA. I don't think my college education has been anywhere near as valuable to me as reading software engineering books and coding a lot has been. If I could do it all over again, I would save the $60,000 and buy a sailboat.

What do you think about getting a Masters degree in a non-specialized field (e.g. Software Engineering and not Artificial Intelligence) while having a Bachelors degree already? I am currently at the crossroads of going into work, a masters degree or both. Am also currently an intern at a FAANG atm.

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

#149
post #136

At the risk of pointing out the obvious: If you live in a country where a CS degree from a decent university is not even close to costing six figures in tuition fees (for example in most of the EU), just get the degree and learn how to code by yourself.

This. The article and most comments here assume that getting a degree is prohibitly expensive, which is the case only in one country in the world. If you happen to live in that country, consider studying abroad.
Post reply on HN