Hacker News new | past | comments | ask | show | jobs | submit login

A little while ago I would've agreed heartily with Peter. Now, as a "born" software engineer with a decent portfolio (now age 21) recently frustratated by a fruitless job search, turned down again and again (I believe rightfully so) because the competition all had college degrees, I beg to differ.

A good college degree (especially in STEM fields) provide the basic foundation upon which to innovate. Our industries have gone so deep, and we are standing on such giant shoulders, that anyone who is going to take it further must first absorb the century or so of knowledge created so far on the subject. Even in Computer Science, the next innovation is not yet another WhatsApp, it's more along the lines of Counsyl (a dna-sequencing app), where a person without the knowledge-foundation equivalent of a degree simply would never get started with the idea of making such software, leave alone actually building it.

And I say that as a self-taught software engineer. Yes I can probably build the next Snapchat on my own. But even then I recognize the huge gaps in my knowledge due to being self taught, especially low-level stuff like kernels, bits and bytes, and fundemental details of cryptography and security. Not to say anything about the "unknown unknowns" which I certainly have because I never followed a structured path on the subject.

And that's why I'm returning to get a degree now, after spending years in industry and freelancing.




You've got 2 different concepts about college mixed up in your post.

> because the competition all had college degrees, I beg to differ.

This is an issue about "credentials" & "signaling in the marketplace"[1], and not possession of actual knowledge.

>I recognize the huge gaps in my knowledge due to being self taught, [...] which I certainly have because I never followed a structured path on the subject. And that's why I'm returning to get a degree now,

This is an issue about attaining knowledge. This is a separate issue from "credentials". All the topics of computer science that undergrad students study at Stanford and MIT are publicly available. Course syllabus, textbooks, and not to mention the vast resources of wikipedia, etc. If anyone wants to learn CS, he/she can study it. There's nothing magical about the 4 walls of a college campus that bestows special compsci knowledge. This is why hiring managers complain that many compsci graduates do not have actual programming skills.

I suspect the main thrust of your post is about the credential which is very defensible especially if you have aspirations for certain employers that absolutely require that piece of paper.

[1]http://www.econtalk.org/archives/2014/04/bryan_caplan_on.htm...


> All the topics of computer science that undergrad students study at Stanford and MIT are publicly available.

That's certainly true, and the same for mathematics or physics or philosophy or any other subject. But I've met very few people who have on their own actually done it, working through the material you'd cover in a 4-year degree (let alone going on to cover graduate-level work). Not zero people, just very few. I've met many more people who've worked through the equivalent of a few courses of material (e.g. have self-studied SICP), but that's a much lower bar.

Of those people I know who have done so, most are mathematicians. Could be random draw of who I know, but math does seem to draw autodidacts who go all-in and teach themselves the equivalent of a 4-to-6-year (or more) course of mathematics.


It's true that learning the contents of Knuth's Art of Computer Programming or Concrete Mathematics is easier in a class environment, but that's not the whole story. I'm a self taught software engineer. I actually find it fairly easy to compete against CS grads. A shocking number of them don't seem to pick up much CS during their 4 to 6 years in school. I've talked to countless grads who can't describe the differences between a process and a thread. They can't explain how they might implement even a naïve hashmap. I've had to spend an hour explaining to a colleague (a cs degree holder who was also the son of a cs professor) how amortized constant time append works in dynamic arrays.

For reasons I don't fully understand a cs degree does not imply cs knowledge. Grade inflation? Maybe they weren't given enough story problems?

When someone asks me about a concept I'm unfamiliar with, I don't have the excuse of that not being part of the curriculum.


First, there's a reason top-class students get better jobs. Not always, of course, but most of the times.

Second there are concepts that if you don't deal with them every day, you lose a your grip around them.

Third (and maybe most important), maybe CS was a good degree to have in terms of opportunities but wasn't their passion. You can't compete with passion. There are people who read this and that book only to acquire knowledge of a very specific domain out of pure passion about the topic at hand. You can't compete with those. These are the people who usually can make combine sources, spot errors, think outside the box for obvious reasons.

ps. I remember an instance when reading the Cryptonomicon, where Waterhouse - one of the main protagonists - was thinking that the fact he was at Princeton university in the 1930's was nothing special. He thought that in this place there was just a bunch of guys who knew one thing or two about maths and that was all there was to it. Later in the book while almost being drowned inside a German submarine, the only thing he could think of, was how to get his hands on a German strong box he came across. When he was healthy enough, he spent ~ 6 hours in a row trying to open the damn thing. When he did open the strong-box, he was almost depressed because he didn't really give a sht about what was inside. He wanted to know how thins German strong-box worked and if it can be reversed, somehow. Now that he knew that, there was nothing appealing about this strong-box. Not even the contents. To a pure mathematician like he really* was, there was nothing appealing in implementing something, once you understood how it works. Now, how on earth can you compete with a guy like that? :-)


> There's nothing magical about the 4 walls of a college campus that bestows special compsci knowledge.

There's a few things that make them good — most notably, the support available if you don't understand something well. While certainly there's a fair amount of support available (esp. online, and depending upon your corporate culture possibly at work as well), I'm yet to find a community that's as willing to help people understand material as many teaching staff are, especially when it comes to more obscure material.


It may just be the present college generation, but future generations will not hesitate or have issues getting into communal learning groups online to study similar topics without the need for a centralized instructor, especially when that instructor leaves them a hundred grand in debt.

Today, there is everything from IRC channels to mailing lists to forums to subreddits to facebook / g+ groups to linkedin groups to get involved with other students of the same topic, maybe even with a few veterans to provide guidance, to learn these subjects.

You won't find people that lecture you, but you will find people that will answer questions. I'm surprised there isn't an SO for that yet...


I propose both ideas are related. That requiring a degree as a signal in the marketplace is warranted because degree holders tend to actually possess knowledge.


You should realize that many people have no idea how to spot a good programmer, because they aren't good programmers, so they just go with degrees. Most people, degree or not, cannot do even the most basic tasks.

If you could build a Snapchat app on your own, you are already far ahead of most programmers, so it is only a matter of getting experience to show people other than a degree. When you get into a job you will see just how incompetent most programmers really are.

If you got a job now you could have a modest house payed off instead of being hundreds of thousands of dollars in debt four years from now.


What percentage of industry-standard incompetent programmers have college degrees?

If it's a large proportion, doesn't that say something about the quality of intake, education, and qualification in college CS?


http://www.drjamesthompson.blogspot.co.uk/2014/12/jobs-iq-te...

It's a general thing and not at all restricted to programming.


I believe that Thiel is saying that the current structure of higher education, in tiers of increasing eliteness, bundled with a living and partying arrangement over an essentially-fixed time period, is bad, not that the course material or content is bad. I'm a CS student at a very prestigious university in the UK, and I'm not going to claim that I would have learned all of the same things that I have learned if I had self-taught, but I totally didn't need the whole living arrangement thing, and I'm not really sure why I had to fight with thousands of other students for my place, when most of the teaching easily parallelises if you just record the lectures and open up the course notes.


I can't speak for others here, but college degrees don't really factor into hiring at my company. We have one lead engineer who doesn't have a college degree, and at least one other who also did not complete college. Some other fellow engineer co-workers did stuff like graphic design in college.

FWIW, I too don't have that low level knowledge - I did math & physics in undergrad and math in grad school. I never took a CS class, and am completely self-taught. I am happy & successful, and have no problems with getting a job if for some reason I am unhappy with my current one.


Good for you. While I see some wisdom in Thiel's campaign against the idea of universal higher education, I think college is still great for many individuals who can afford it. Focus on the "unknown unknowns" – you can go read about kernels and bits and bytes and cryptography, but college is the most efficient way I've experienced to become familiar with things you've never even heard of such that you can figure out how to learn more about them if the time ever comes to do so. This isn't just about the course of study either, it's about being around so many different people learning about so many different things. So don't get too heads down on computer stuff, it probably has the lowest density of "unknown unknowns" for you.


This is heartily depressing. If you're as good as you say you are, I'd love to help you. Contact info in my user profile.

(Overuse of credentialing in engineering hiring is one of my biggest pet peeves and something I'm doing my best to fix. Wrote about it at length here: http://blog.alinelerner.com/silicon-valley-hiring-is-not-a-m...)


A hypothetical. You can choose one of the following:

a) A degree with no knowledge (perhaps you forgot everything after the final).

b) The knowledge with no degree (autodidact).

Which do you believe will help you more in your job search? If the answer is (a), you pretty much agree with Thiel. If the answer is (b), it's unclear why you are spending money on a degree.


But there is another option (c): a degree with the knowledge that's hard to get without a structured course of study. As an aside, if you're the kind of person who forgets everything after taking the exam, or takes irrelevant coursework, you might not have the discipline to be a good autodidact.


> knowledge that's hard to get without a structured course of study

You are omitting other resources no autodidact could replicate: Billions of dollars in capital resources (labs, systems, etc.), access to and personal instruction from leading experts and researchers in a wide variety of fields (professors), and large numbers of smart peers studying the same things.


> it's unclear why you are spending money on a degree.

Because universities help you accumulate knowledge.

Yes, autodidacts exist. But, for most people, the atmosphere of a university, the exposure to and attention from experts, and in addition the various sticks and carrots in place (e.g. if you don't study this weekend you'll fail the exam), help with learning.


>But, for most people, the atmosphere of a university, the exposure to and attention from experts, and in addition the various sticks and carrots in place (e.g. if you don't study this weekend you'll fail the exam), help with learning.

Sure, many folks need structure for learning. But why would such folks be desirable for hiring in programming jobs? Wouldn't we rather hire an autodidact that happened to suffer his way through college instead of the student that required the forced structure of college to learn?

There will be a lot of new and difficult material (additional compsci and/or business domain knowledge) to learn after the the 22-year old student graduates. If the student didn't have a "love of learning" to motivate and self-discipline his study, what value should we place on him as a job candidate?


I'll respectfully disagree.

I found that the material I encountered in college was significantly more difficult than anything I've seen in industry. My coworkers have expressed similar opinions.

I certainly agree with wanting candidates who have a love of learning though! On the other hand, I would think someone who loves learning would want to go to school. I can't see why someone who loved learning wouldn't want to work with people who are the experts in their fields and tackle challenging, still unsolved problems.


My professors are far from experts in their field. In fact, I'll go as far to say that this is a point for the other side of the argument: in teaching things to myself i find myself on mailing lists and IRC where i have far more interaction with actual experts.

I was taught data structures by a guy giving powerpoints and code examples on windows XP. In 2014.


Hm that's unfortunate, and I apologize for projecting my own experiences to that of students at other colleges.

I can only speak for my own experiences, and when I was in college I worked with several people who were clearly leaders in their fields. The reason it was obvious was that I would go to talks with guest speakers and they would usually either cite a paper written by one of the professors or informally say that if you have questions about X you should probably ask a certain person in the room.


I'm at the university of Wisconsin. We're nationally ranked for graduate computer science.

The issue here is that there's quite a disconnect between our research and our teaching. They take tenured profs that aren't capable of doing research and stick them teaching undergraduates. Everyone else that is worth a damn is inaccessible to us. (I'll make one exception: Jin-Yi Cai is amazing.)

I don't even know what to say, besides that our CS program for undergraduates is kind of shit. These people are academics. There's nothing wrong with that. But it's not like they're at the head of their field either. They're at the head of the field from a decade ago maybe.

The woman teaching the intro classes, the guy teaching data structures, and the woman teaching machine programming (low level) all have been doing so for over a decade. Their classes don't change either, you can find their powerpoints and handouts from 6 years ago and they're the same damn thing, give or take some small changes like the date.

Let's look at two 500 level classes, my compilers class and the OS course. There's two profs teaching OS. One is the chair of our cs department.

Searching google for "<their name> site:gmane.org" returns no results for the non-chair OS prof and no results for my compilers prof.

The chair has a few mailing list posts, such as one on the ALSA list with an amazing subject of "help with first ALSA program, please?" And this wasn't from 1999 or anything. He was the active chair at the time of asking. It was less than 2 years ago. It's embarrassing, honestly.

As for guest speakers, that's another subject. UW has a lot of smart people around it. It's just that they're entirely separate from the 18 year olds.


Ah that's very unfortunate to hear. I certainly did have many lecturers who were not professors, and also professors who were not as great as other ones. Nevertheless, at my school at least there was never anything stopping me from just going into the office hours of a professor who wasn't teaching to talk about something. They always seemed very eager to help me with anything.

It's really unfortunate that this isn't the situation at all schools. I guess I really lucked out!


Who said they "need" structure? Maybe it is just an ideal environment? Sure you can learn without professors, free time, and research facilities. But college was the ideal place to learn simply because there were no other demands on my time. I still learn a lot outside of college! But I wish to return to that environment again some day just for fun.


I was an autodidact as a kid. I taught myself to program, and wrote fairly substantial computer programs.

If you'd looked at the maze of spaghetti code I wrote when I was 11, you would have definitely concluded that someone should teach me how to do things right...


I think the structure of school is supposed to be like a set of training wheels, with the hope is that people ultimately learn how to learn.


You're talking about vastly different fields. If you want to be a scientist and study DNA, college seems like a great option. For computer science? Not so much.

You probably feel like you've missed out on something really important but once you actually get to college, you'll realise that it isn't as great as it is portrayed to be. A lot of stuff can be self taught in a much more efficient and less time-wasting manner. As well, you can focus on recent technology whilst the curriculum of a uni may be outdated.

Despite that, I don't think your definition of "self-taught" is where a lot of industries will end up. You can still have a great education experience online (there will be many services offering this as technology evolves), so you can still cover the same content but not have to enter a traditional physical university relationship.


If you want to be a scientist and study computing, college is still a great option.

The OP's point was that increasingly, the low-hanging fruit is already picked and areas of high growth require a deep technical understanding of one or more fields.

The problem is even worse, because the low-hanging fruit isn't. The Paypals and Facebooks of today employ armies of Ph.D.s to work on their critical infrastructure. Google started as Ph.D. research.

On balance, tech startups that do not require a deep understanding of computer science to run are an anomaly. So where does Thiel's attitude come from?

I think the thing to keep in mind when listening to someone like Peter Thiel is that he's a businessman first, not an engineer first, and this colors what skills he sees as most important and necessary.

Thiel says "you don't need a degree to be successful". But almost all his warrants actually only defend the claim that "you don't need a college education or equivalent to build a successful business [because you can hire the college-educated experts you honest-to-god do need to build a business]".

Which is fine. But you're either under-estimating the difficulty of large swaths of Computer Science or over-estimating the intelligence and will of the average person if you think we can meet the demand for high-skill engineers with only people who spend large chunks of their childhoods learning about programming and computer science.


I believe Google would hire people on what they can do rather than focus on their paper qualifications. And I see this being a growing trend in the future.

The points by Thiel seem to be that uni can exist purely to be an exclusive option for a certain [richer] demographic of people, rather than an open playing field for anyone to study and improve academically. And also that uni is expensive and sold on merits of lifestyle, exclusivity etc. rather than pure academia.


> I believe Google would hire people on what they can do rather than focus on their paper qualifications. And I see this being a growing trend in the future.

Sure. Any my point was that I don't believe we can sustainable pump out the number of high-quality software engineers that a place like Google needs without something like a college system.

I think your interpretation of Thiel is uncharitable, and I hope it's not true. That would be awful.

> And also that uni is expensive and sold on merits of lifestyle, exclusivity etc. rather than pure academia.

This is certainly true and needs to change.


> especially low-level stuff like kernels, bits and bytes, and fundemental details of cryptography and security. Not to say anything about the "unknown unknowns" which I certainly have because I never followed a structured path on the subject.

First of all, the unknown unknowns are much worse from the kid who went to school. Wanna know why? Because the autodidact is definitely better equipped to repair a gap. Its ridiculous to think a 4 year degree can teach a gapless understanding of computers-- do you really expect a 22 year old to have a gapless understanding of any field?

The most important thing a CS degree can teach someone is how to learn more, and at least in my experience it dramatically falls short. Never encouraged to read source. Never encouraged to implement an assignment in another language. The message to me and my peers is clear: learn java and go work for Epic or another dead-end enterprise place.

Last semester I did a hackathon and some of the competitors were 4 kids that clearly did nothing outside of class. My group implemented a mobile app and responsive website. We learned NONE of that in any class. They implemented a GUI desktop application in java with eclipse. (It astounds me how many people can come out of my CS program and the only way they know how to compile their projects is via a green button.)

Second of all: your lack of knowledge about low level stuff is entirely on you. You can learn that anywhere. The problem is that 20 year olds, whether they're in uni or not, think that the high level world of rails and Python is more interesting than bits and bytes. I have never formally learned about the specifics of any of the *nix kernels, Unix tools, python arthimetic, C macros, and more. But I do know about them, because it interests me.

Maybe it just doesn't interest you.


> 'python arithmetic'

Stupid autocorrect. Pointer arithmetic


When you say you had a decent portfolio, was this at previous companies or stuff you did on your own?

The reason I ask is I don't have a degree either but I haven't had much trouble getting offers after I got my first job.

Nevertheless I think it's great that you're going back to school; I plan to do the same later.

But, I went to school for a few years didn't find that the undergraduate curriculum really went in detail for any particular subject, so I hope you won't be disappointed as I suspect you will still have gaps in knowledge even after you leave. On the other hand, you will have a good foundation and also have an idea of where to look or people to ask.


Sounds like a good plan. Just keep in mind, if you'd gone to school right away, there's a fair chance you still wouldn't know much about those things, and you'd still have to plug gaps through self study.

It sounds like you'll be in a better position to direct your academic experience, but you may end up feeling frustrated as well. There's a good chance you won't be able to study what you want to in college, and you discover that you have to get it through self-study anyway. On the bright side, some professors absolutely love students like this (because it's how they learned as well) and will help you out.


Then why don't you go learn those things? Set yourself up with a project where you'll need to learn them and go get it done. If that's not how you've learned everything you know to-date, then do whatever it was you did to learn those things with these new things.

College is only structured learning. If you can build that structure yourself, you're only missing a piece of paper.


Where do you live? The reason I'm asking is because location and experience are the two biggest factors that come into play when looking for employment. When I graduated from college, I spent 5 months trying to find an entry level development job and it was tough.


Toronto.


Funnily enough, from what I can tell, neither of the Counsyl founders have a CS degree.


Balaji Srinivasan's background probably counts: https://www.linkedin.com/in/balajissrinivasan


School is absolutely fine for learning what you need. Better than doing it by yourself. The real problem is that it's A) Necessary for certain jobs B) Way too expensive. Making people decide to go autodidact


Is it really way to expensive though? I will graduate with just shy of 40k in debt, and a 100k+ job. That is imho a great investment. I think the biggest problems with college is that too many view it as just a piece of paper and simply a continuation of high school. I went back to school after a decade from graduating from high school, and while I wouldn't say that college is perfect, I appreciate that they exist what they are for.


I will graduate with just shy of 40k in debt, and a 100k+ job. That is imho a great investment.

That's not enough information to tell you if it's a good investment or not. What would the next best alternative be? Unemployment? A 70k job? And remember that you didn't just lose 40k - you also lost the potential income you could be earning during those years. Assuming that job would earn you 40k/year of disposable income, and you went to college for five years, you actually forwent $240k, not just $40k.


I gave up about 15k in salary per year(I continued to make money while in school). I also only took 4 years. So I gave up 100k and accounting for inflation my break even point is about 2.5 years.


What if I'm a skilled worker coming from France or Germany, with no education debts and I get the same job you have?

How would you feel?




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: