| I think a more interesting question is, how has the ROI of college changed over the past 40 years? The cost has gone up much faster than inflation. The number of people going to college has also risen dramatically. This means there are a lot more college educated peers competing with you in the workplace. This means that the college degree is not as rare, and thus has lower scarcity value. Finally, I think it's quite possible the quality of the education has declined significantly in the past 40 years. When I was in college, almost 30 years ago, I was appalled at how the university focused and spent so much of its money on a losing football team (in a zero sum situation where the other schools were always going to be abel to massively outspend it and had larger pools of students to recruit from) ... and in the decline in the education. I remember sitting in a class and learning about how universities were started by tradesman who banded together and hired experts to teach them, and I thought "Man, I wish I could go to a school like that". Since then I've seen nothing but an increase in these efforts... I've see the quality of a CS degree (based on the people who I interview for jobs who have them) decline. So the formula is: More Cost, Less Value, Lower Quality = Lower ROI. If things don't turn around, at some point College will be a losing proposition. Of course, this presumes that the education colleges give can be obtained elsewhere. Which brings up another point MOOCs, and online access to open source frameworks have really changed things in the past 30 years. 30 years ago we were buying our compilers (CodeWarrior for life!) now they and our frameworks are open source and well documented. The books are cheaper-- $40 to Oreilley rather than $120 to the campus book store (or are my prices out of date?) You can learn more modern technologies better than going to college and spending 4 years on Java and C++. Then there's the MooCs. you can learn CS fundamentals by video, along with people all around the world. I think we're close to that tipping point. |
Let's take my compilers class as an example. I go to a 75 minute lecture 2 times a week and I do about 4 hours of homework a week. I do this over 18 weeks.
That's only roughly 120 hours of study over the course of a semester. That's only as many hours as most full time employees work every 3 weeks! And the sad thing is, I imagine if I spent 3 weeks reading a compiler book, reading though the source of lex and yacc, and implementing some kind of basic compiler using them, I'd be a much better programmer than what we're doing-- implementing a C compiler for MIPS in java, using a shitty lex library and only implenting the parts the professor thinks is important.
This brings me to another point. Programmers are necessarily autodidacts because shit changes incredibly fast. You can't be a one trick pony. So if we're pushing kids through these incredibly formulaic methods of learning, what are we really preparing them for? A life of being an enterprise code monkey? The student who taught themselves anything, even if they are missing a few core details, are more equipped to fix those gaps in their understandings.
I did a hackathon a couple weeks ago that had a sort of business spin on it. There was this group of 4 guys that made a college choosing application based off your GPA, as a desktop java application with a GUI that had background images and looked like an early 2000s keygen program.
The thing is, I have absolutely no doubt that these guys are good students and they'll probably find an alright job out of school. But all they know is java development.
I think that students that want to be more than that probably shouldn't go to school.
Here's a question to you: if I handed you a résumé, without a bachelor's degree, but instead included my github profile and a list of books I've read cover to cover and some open source contributions, am I going to get the salary I am worth?