Hacker News new | ask | show | jobs
by capote 3652 days ago
Post number 7,819,394 talking about how useful or not useful a CS degree is to a programming job.

Here are some lessons I learned by going to school that I find incredibly useful:

1. How to shut up and get some work done, even if I don't see the point to it.

2. How to shut up and get some work done, even if it isn't directly applicable or valuable to a job or something I want in the future.

3. How to take feedback and criticism from people who know better than me.

4. How to deal with someone I don't like but who has power over me.

5. Lots of other fascinating things that have nothing to do with my job but that learning about made me happy and appreciative of life.

6. A handful of things that are pertinent to my job, but I see this as added extras because I didn't go to school for the sole purpose of getting a job.

7. That a lot of people seem to think that the only things in life worth learning or paying for are those that will be useful at a job. This is a sad one.

10 comments

These are about going to school, though, not getting a CS degree. And 100% of these things could, and probably should, be learned in the real world and not through paying tens of thousands of dollars under the guise of education.

I did not go to school for a CS degree, and that has not hampered me in any way when searching for a job in software.

All I learned in college was how to game the system of the institution itself, and that institutions like that are a societal racket and waste of time and money.

If you mean 'school' as in 'secondary education' then no, they apply to tertiary education too.

And this is going to sound weird if you're an engineer, but the 'real world' of commercial employment is 90% about gaming the system of an institution which is most likely also a social racket.

That's why kickass engineers get paid less than mediocre managers; because they spend all their time solving fun technical problems instead of gaming the system.

Just to clarify, I and many other Americans use the term school to mean tertiary education (university, higher education).
I thought this was the case but wasn't 100% sure which this poster meant. So in the last sentence where they say 'college' do you think they're talking about secondary or tertiary? It might just be a confusing-to-parse post.
To me, (colloquially and ignoring subtleties):

university = college = tertiary education = higher education = postsecondary education = school = uni

Yes, thank you.
> that institutions like that are a societal racket and waste of time and money.

This is completely wrong. Universities are tremendously useful and do many great things for society and humanity. I'm not going to provide evidence because I think that any reasonable person will agree with me.

While it's clear many university institutes and projects have benefited the wider public, I think he was specifically referring to the value of university to an individual, for most people (excepting those who are studying sciences to enter a specific niche field where they wouldn't be able to pick up the necessary skills anywhere else) university is indeed a waste of time and money. I'm a 22 year old developer based in Australia, I've been working in the web industry full time since I was 18 and been earning money all along. Yet I have multiple friends who did CS etc. at uni and despite having the formal qualifications I lack, they're earning less than me and have a good 10 years of paying off their education debt before they can actually use their earnings beyond getting by.
> I'm a 22 year old developer based in Australia, I've been working in the web industry full time since I was 18 and been earning money all along.

You're conflating Comp Sci with programming. I think it's pretty clear you don't need CS to be a productive developer, especially if the kind of work you're interested in doing involves building small to medium size websites and CRUD apps using other people's libraries and frameworks. Try to go beyond that however and you will quickly find out why so many people value a formal education.

Well yeah, I'm certainly only doing high-level stuff, if I wanted to do low level systems programming, OS/language design or anything with hardware at a lower level than whatever APIs existing drivers provide then a CS degree would certainly come in handy.

I was more getting at the fact that for probably the majority of people who go to university, they're pretty much wasting their time and money because unless they're looking to do something that can't be self-taught or learned on-the-job, they could be gaining the same skills (and maybe even getting paid for it) without putting themselves in debt that they'll spend a decade or more paying off.

For example, all the lessons capote claims to have learned doing CS at uni, I learned on the job while getting paid for it.

I have no doubt that a uni education would benefit anyone, I'm just saying that I think for the vast majority of people going to uni, the costs they're ultimately paying don't outweigh the benefits they gain, unless they're going to uni to enter a high paying field which requires a degree to enter the industry at all such as law or medicine. Unless the career you want absolutely requires a degree, you probably don't need one.

You say "niche field" but in reality we could argue that there are no niche fields as all the information necessary to "self-teach" is probably out there on the internet. What's vastly different is the experience of being taught by someone who has a deep knowledge of the subject, and is willing to share his understanding. While this carries with it the nuances of that particular professor's experiences, it will be much more structured information (and tested, to an extent), and this is a big part of why education at a university is valued so much.

But certainly, university is not the only way to learn. The issue is that there are often too many applicants to jobs already, and recruiters use a university degree as a filter. I think this may be unfair to some people, but the companies also value their time.

Once again, you've completely missed the point. I am trying to say that the value of university has nothing to do with your ability to get a job. I'm trying to plead with people to stop trying to compare university with a job or measure the value of a university in terms of a job.

If you can't see the value in university, good for you; nobody's forcing you to go.

> Once again, you've completely missed the point.

But, you didn't make an argument for your point in your last statement, and instead made a vague, mysterious assertion:

> Universities are tremendously useful and do many great things for society and humanity.

You even explicitly pointed out this fact:

> I'm not going to provide evidence because I think that any reasonable person will agree with me.

I still think it's worth talking about this though, as so many people DO think its the only way to go and take on a tremendous financial risk thinking they do it for the job.

I wouldn't contest it's useful, but I'd definitely feel that for most it's probably not worth the price of a US university.

Institutions of academia do many great things.

But what we have is an unholy chimera of academia and occupational training where _everybody_ is pushed to go through it, not just the academics. That's where this two-faced mess of inapplicability comes from.

I actually think you should provide evidence because it not so obvious. Universities are a business first and foremost. The societal benefit I can see is that of providing scholarships to people of need and that is a relatively small percentage. You might also talk about the research that comes out of universities but much of that is largely funded by the tax-payer.
Sure, but the other 90% of their budget is going to useless pet projects and bureaucratic waste.
This is a very pessimistic and conspiracy-theorist-ish way to look at it. Yeah, most entities in the world don't operate at maximum efficiency or make perfect use of their money.

Doesn't make them worthless, or even close to it.

Funding to universities in the US has increased a ton by increasing student loan amounts and availability, to try to get more people degrees.

Studies have shown that the effect on universities is that "administrative expenses" have increased to absorb around 90% of the additional tuition funds coming in from loan-bearing students.

The parent is not pessimistic nor conspiratorial. This is observed behavior on the part of the universities.

Yes, 90% is me being a little facetious. I don't know the exact number. But I saw the waste first hand. My college ran large parts of its operations for the benefit of the employees, to the active detriment of the students and everyone else. For example, dining employees were easily paid 2x market wage, probably 4x counting fringe-benefits, while students were forced to pay for a wildly overpriced meal plan that robbed all of the local restaurants (which were all within a quarter-mile of the three dining halls) and supermarkets of business.

They also ran a fancy hotel that charges many hundreds per night, right in the heart of campus. They consistently failed to make a profit for years and then totally bungled recent renovations, going 3x over budget and delivering behind schedule. Here's an interesting (and admittedly biased) blog post documenting that sorry saga: http://www.dartblog.com/data/2012/01/009957.php

Throughout the country, tuition has risen many times over in the past few decades, but the money isn't going to hiring more professors. It's going to hiring more and more college administrators and staff, and on loss-making sports programs that go well beyond recreational athletics. Every single type of minority possible had at least one administrative department dedicated to them, each with multiple staff members, and often with physical plants. Many (most?) of these were straight-up indoctrination outfits, pushing critical-theory Marxism on students, teaching them that they're the victims of the white establishment, and fanning the flames of campus protests.

Don't take my word, ask the American Association of University Professors:

>The increase in spending on administrative functions, coupled with a decline in state funding relative to institutional operating expenses, is clearly connected to the continuing increases in tuition prices on many campuses. As we have noted in this report on several occasions in recent years, faculty pay is not driving up tuition costs. In fact, the stagnant salaries paid to full-time faculty members combined with the increasing use of lower-paid part-time and non-tenure-track faculty appointments have been reflected in the lowered relative spending on instruction documented earlier in this section. But don’t just take our word for it. The most recent report from the Delta Cost Project concluded that “faculty salaries were not the leading cause of rising college tuitions during the past decade. Increased benefits costs, nonfaculty positions added elsewhere on campus, declines in state and institutional subsidies, and other factors all played a role.”

Source: https://www.aaup.org/reports-publications/2013-14salarysurve...

This guy from the New York Times agrees with me: http://www.nytimes.com/2015/04/05/opinion/sunday/the-real-re...

An NPR article: http://www.npr.org/2012/06/26/155766786/whats-driving-colleg...

The LA Times: http://articles.latimes.com/2010/sep/12/opinion/la-oe-dreifu...

DDS is and was a complete fucking scam. Seriously, nobody should make $20/hr for being a lunch lady, not even Ray - and I love the guy, since he does such a great job with Pigstick. Not to mention OPAL and the various other Collis directorates - I'll be honest, I benefited from all of them, since I worked for the A/V tech staff on work-study, but the amount of money that was lit on fire to administrate all of that is sickening.
And before galileo any reasonable person agreed that the earth was flat... And precisely this is the reason why you need evidence to back up your arguments and not the influencable opinion of other people.
>the guise of education

A school that provides merely the guise of education is a bad school. This does not mean all schools are bad.

Also, while people like to argue that it's possible to get programming jobs without a CS degree, it is guaranteed to be some value of harder to get those jobs. Especially if you dream of working in less common and more specialized areas, like (for example) working on compilers or doing HPC stuff, etc.

Yeah, in theory someone can get a job without a CS degree. But it'll be a lot harder, and it's very likely that doors will be closed to you that you would prefer be open. It might be unfair, it might be an injustice, but it's still part of the equation. You might overcome it, but it is still a thing to be overcome that was taken on as an additional burden in exchange for losing a different burden (college).

I have no problem with people with passion and talent skipping college and going straight into the workforce. And it's very clear up front what they get out of it- they get an additional 4 years of professional life, and they never rack up student loans. I just object to people claiming that there's no cost to it.

There is a cost: maybe a negligible one, maybe just a little, or maybe a lot if it means you don't get to do the things you really want to do. Or if you never even find out about the stuff that you would have been incredibly passionate about because you were never exposed to it.

By not going to school, there is guaranteed to be a cost in missed opportunities. Maybe those shut doors and lost opportunities are all for things that the person didn't want to do anyway. The part that bites people is that when they are making the decision to skip school, they're probably in the 18-20 age range and most likely do not have the capacity to evaluate what those lost opportunities even are, and whether or not each one is OK to discard as a long term life decision.

I'm not sure. So I'm going to ramble on about myself a bit...

I have a mediocre degree in an unrelated subject (History and Philosophy of Science) from a good school (Cambridge). I learned to program as a child by messing with 8-bit computers.

My first job was very much an apprenticeship, I found a small company that was willing to employ me based on some level of aptitude, a modicum of demonstrable programming ability, and a willingness to work for very little (£12k in 94)

Three years later, I was able to move to a more interesting, still not brilliantly paid (£23k in 97), job at a startup, which was acquired by MS a couple of years later. I spent 14 years at MS, and was a Principal Engineer by the time I left. My experience since then is that there are no doors closed to me.

There are two places where I got lucky, 1) finding a company that was willing to make a bet on me. 2) joining a top tier company through an acquisition.

but with regards to 1, over a 9 month period in 93-94, I applied to over 100 companies, and had three job offers in the end - so it was good luck to find a job based on my resumé at the time, but the jobs were out there

And with regards to 2, not everyone who joined through that acquisition was successful at MS, regardless of education. Some hated the idea of working for MS, others weren't suited to a large corporation, and many other reasons.

Comparing myself with peers, I find that their CS degrees possibly gave them a 3-5 year head start on me, they could go straight to better jobs, but the value of the apprenticeship type job, is that I was already pushing 10000 hours (or equivalent) by the time I was ready for the better job.

Not to say school wasn't useful to you but all of these things could also be learned on the job. (As that is where I learned them)
That's true, and I completely understand, but it's besides my point. My point is to implore people to stop looking at a CS degree as just a means to get a job. If you look at it that way, of course you're not going to find 100% value in it.

Getting a job is simply not what a CS degree is for. It was never declared to be for this purpose—nobody claims it's for this purpose (except maybe some schools for marketing purposes).

Yes, we all know that you can do a good job programming without a CS degree. Good job. Whoopdeedoo. Anyone who keeps repeating this point is a broken record. Anyone who tries to scientifically prove this is wasting their time. That's not what a CS degree tries to be. This isn't why I went to school, and it's not why many, many people go to school.

Thats totally fair. But what you need to understand is that the vast vast majority of young people don't give a shit about anything other than the getting the job part of the equation.

Young people need money to buy food and pay for rent and to have fun. Thats what they care about. I went to a top tech school, but I know so many people at the school who DIDN'T go into tech and are now working as consultants doing 80 hours a week for half of my pay. But they hate their career choices.

And those are the people with the GOOD jobs, because they majored in business or something. I know others who are doing even worse than that doing part time tutoring, ect.

All of those people would have been better off just going to a coding bootcamp or something. Its ok if programming wasn't their "passion". Because its not like those people are currently following their passion working as consultants and part time tutors.

At the end of the day, getting a 6 figure salary, and working normal hours puts you way ahead of the vast majority of americans. It gives you the freedom to do what you want, when you want.

And it turns out, young people, after they have been in the workforce, failing at their dreams for a couple years, start to realized that they care a lot more about the freedom that having an awesome, high paying job offers them, and not really about anything that college supposedly delivers them.

You're right. Which is why I have been pushing to entirely separate the concepts of university education and of a job in the minds of Hacker News readers.

If you want a job, go to dev bootcamp. Or online school. Or watch YouTube videos. Or just get a job. Or go to school then get a job.

If you want to go to school, go to school.

Let's all get along and stop trying to dismiss the other path as invalid, worthless, or dumb. It's everyone's prerogative to go to school or not. Stop comparing the two or drawing associations.

Most developers already have a well paying job (likely including you) that's why they don't prioritise job education as much as a student who enrolls this year.
Most parents insist on kids going to uni specifically to get a job. If you can get the same knowledge for free (assuming you have to pay for uni), then what's the value?
If college were about knowledge transfer, we'd all stay home and read.

The value is in guided discussions, meetings with your professors, comments on your papers and code, making friends as you finally begin to understand difficult material together in the library in the middle of the night, and 4 years of living in an environment with an anomalously high signal to noise ratio of smart people throwing 100% effort into their collective intellectual growth.

Except most colleges outside the elite (and probably a lot of students at those too) expend more like 30% of effort growing intellectually. There is also significant social growth, generally, but a lot of time at college (probably most) isn't spent on intellectual endeavors.
Yep I agree they have, but that is just a fraction of the purpose they serve today - right now they're just filling the gap until something more effective comes along, like a better version of the technical college.

Uni never should have catered to the massive demand of skilled workers, leave it to the eternal academics I say...

I'm trying to say that I found value in it, and many people do. Like I said in other posts, I'm not going to fully describe this value, because it's up to you to find it.

Just know that it's not only for a job. Universities have been around for a long time and have served many great and noble purposes.

How did this get down voted out of everything I posted on here :/
You said "Getting a job is simply not what a CS degree is for" and then said "Just know that it's not only for a job"
While I agree that 'get a job' should not be the focus of university, that's what all of modern society focuses on, from government mandates, to parents pushing their kids, to employers screening candidates.

The dream of what academia should be is wildly removed from the reality of the modern (from an American viewpoint) university system.

So what is the point then?
If you can't see the point, then maybe university isn't for you. I'm not going to write an essay on what point I saw in school because I don't have time or interest.

The point is that I saw value in it. I liked learning about computer science. Why can't people stop shitting on this concept?

Because you can learn about computer science without going to college. It's that simple.
Good for you for being lucky enough to be able to follow your dreams.

But you have to understand that other people mostly just care about being able to put food on the table, pay rent, and being able to save up enough to be able to support a family and buy a house.

> people mostly just care about being able to put food on the table, pay rent, and being able to save up enough to be able to support a family and buy a house.

I think that's what capote is frustrated with.

College (traditionally, at least in the U.S.) is one of the only spaces that encourages young people to have dreams at all. It provides an environment where becoming radicalized is accepted as a norm, where young people can dream of a life and of a society other than the status quo.

Perhaps, but on a site intended for matters of intellectual substance I think it's fair to expect a bit more of ourselves.
I went to university, and you're right, it wasn't for me. It also wasn't for the vast majority of people I knew that went.

It's great that you saw value in it. I do think you are in the minority. Most people don't like learning about stuff at the same time as working a job and throwing all their money at the university just to teach them stuff.

Almost every person that goes to a university is doing it for job prospects. Unquestionably. They think it's the new high school diploma, and in a lot of ways and industries they are correct.

You are an outlier, and that's why people are shitting on this concept.

I have a degree in Mathematics, I think my educational experience has made me a better developer than if I'd have pursued a pure CS degree alone. Does that mean that I think everyone who wants to develop software should get a math degree? Not even a little bit. But I also don't think they should pursue a CS degree either. In the end the answer is "it's complicated, and there isn't one good answer yet", but we don't get from where we are now to a better state by pretending nothing is wrong with the status quo.

Moreover, I question whether or not each of your seven points are worth about $10k each, because a lot of students are paying that much.

You're still, in this post, trying to extract the value of a degree in terms of job power. That's what I'm arguing against.

I paid $180,000 to go to university and I think it was 100% worth it, regardless of my job or how much it helped my job. My selection of 7 points was mainly to make a point, that point being that I see a lot of value in university, many people do, and we should all stop trying to fit all of this into employment, because they have very little to do with each other.

In what world do we live in that a university education has nothing to do with employment? Not all of us are lucky enough to spend 180,000 on an education and not care about its impact on our job prospects.
Interesting. I was with you until this post--I'm curious if you haven't wondered, even a bit, if 180k was too steep of a price tag? I'm a fan of university in general, but find the sky-high prices of private institutions hard to stomach compared to similarly-good in-state options.
Yeah... it's definitely a high price tag. I should've probably gone to a state school to save that money. But I still find it worth it because I see what I got from school as priceless, as silly and dramatic as that sounds.

As an aside, I am of the opinion that university should be free. But in the US, it's not. It's super expensive. That's a bummer, but like I said, it's worth it to me, money or not, job or not.

> But I still find it worth it because I see what I got from school as priceless, as silly and dramatic as that sounds.

Okay that means the answer to your question why young people get college degrees for jobs can be described in one word: economics (And that should be obvious given your level of education)

>because they have very little to do with each other.

Not everyone has $180,000 lying around. Someone has to pay for it and if it's not your parents then you have to do it yourself so obviously people prioritise degrees with well paying jobs and that's how it's supposed to work in an efficient economy. Otherwise if you can spend $180,000 on something without intending to get financial value out of it, you could just as well do something random such as buying a lot of bananas.

I remember specifically taking a few equivalent math or stats classes that were equivalent credit to Comp Sci classes and realized I gained a much deeper and more transferable set of mathematical and conceptualization skills in addition to the traditional comp sci experience I was receiving.

And to think... I did took the more gruelling math and stat's courses to get out of doing comp sci labs that didn't interest me so I could work on problems I enjoyed.

#5 and #7 are great, I too don't like the anti-intellectualism a lot of degree seekers seem to have. But the typical tuition these days is a large price to pay for intellectualism. I paid a high price for my CE degree, which I entered into in large amount for the intellectual curiosity of understanding hardware, knowing full well I'd probably end up in some web dev software engineering job afterwards (that pays better anyway) since I already had prior experience with that, and in any case as long as I had some job in the tech industry I'd be making enough that student debt wouldn't cripple me.

I would only encourage people to make the choice based on a sober calculation of expected costs (including opportunity costs) and gains rather than because "it's the thing to do". Before I went to my school of choice I planned out the course sequence for my entire time there -- of course it ended up being different but not hugely so. Unexpected things will come up (#1 and #2 should have been learned by high school, what I didn't expect was that for me continuing the related path of "shut up and get BS work done" through college would result in burning out my tolerance for BS work in general and it's taken a long time to build that back up enough that I can perform ok in enterprisey roles) but that in itself is a useful thing to learn. If past me had future me as a mentor, I'd encourage past me to skip school and satiate his curiosity more directly, but not everyone has access to a mentor.

I can confirm from direct/life experience that all 7 of your points can be learned/reinforced both on the job and outside/beyond job/college/school.

Folks, just use your brain. Observe, read, study, converse, imagine, think, analyze, hypothesize, apply, try, test, revise, repeat, carry on. Good general process regardless/before/after/outside school/college/job. You can spend either $100k and 4-6 years, or, $0 and N years -- you get to decide.

People without CS are miss out, and also, some CS programs come up short: Learning soft skills are as important as any technical chops. Learning how to learn and realize you're never really done learning how to solve problems.

This is one of the reason some self-taught people often have more people skills than those who self-select to hide behind a keyboard most of their university years instead of getting out there, becoming more well rounded, and through it solving problems.

The ability to work in a group as you've mentioned is a critical and transferrable life skill that many people simply don't grasp. If you can't solve university group problems, guess what kind of co-workers you'll be stuck with in my 20's.

Having some structure in the start is important and valuable especially for those who don't have the discipline to do things that need to be done and instead jump from one shiny toy or problem to the next.

At the end of the day it's not just what your education (or lack of education) makes of you, but what you make of your ability to learn every day. Discipline is the master skill that most people at any age in or out of school in our 20's are missing.

It's funny that you mention working in a group because that's one area where I've found where academia isn't really preparing CS grads. It seems that the most our new grads have been exposed to is an ad-hoc group that was supposed to work together and threw something together which they made work but with complete disregard for having to maintain the code 1+ years in the future.

They then enter an environment where the group isn't ad-hoc, meaning there's a hierarchy and people, especially new CS grads, get overruled. They're expected to comply with policies and processes that they had no input into. And they're expected to write code that doesn't just work, but is understandable and maintainable by every member of the team.

I find that most new grads are very able to come up to speed on the code and the structure of our project. This likely comes from having a very malleable mind and never having seen a well-organized codebase. But it takes a good two months of almost constant corrections before they're contributing to the team in the right way and many more years before the understand why that type of contribution is necessary. Teamwork is more than just not writing the entire project yourself and it feels like CS grads are never taught any of the skills necessary to collaborate in the real world.

I didn't mean to imply CS consciously was setup to prepare me for group work at all intentionally - it only exposed and forced me to figure out how to get better at it in my case when I recognized it was a core skill. Having extra curricular group activities based around tech helped me a lot. I do think group work and social skills should probably be a course for CS majors as it attracts many introverts.

Many people don't having experience with having a relationship with a codebase for more than a few months, let alone a few years, let alone a few years old.. so it always seems the best way to start is fresh and from scratch because it seems easier to understand that way.

Re-factoring, or working with the reality of a codebase teaches that reading and understanding code is as important of a skill than writing.

The things you listed are pretty much everything you learn on the way to adulthood, which for a lot of people occurs when they move out and go to college, so you might want to consider that.

I worked as a programmer long before the formal education, and the only thing I really learned is the only thing that is really needed to make it a worthwhile endeavor: a shallow but wide exposure to the body of knowledge out there. I accidentally reinvented poisson regression, I didn't realize that I had wasted a month of my life until going to college in my late 20s and finding out that somebody had already done the work (and a much better job).

>7. That a lot of people seem to think that the only things in life worth learning or paying for are those that will be useful at a job. This is a sad one.

Where is the money supposed to come from? If you're paying 50k or more for your education you might want to at least break even. If there is no ROI then it's just regular consumer debt which is both bad for you and the economy as a whole.

I went to school for non CS STEM and now I do software engineering as a career. You're absolutely right. All that stuff was totally critical to me.