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

Having worked my way through college working as a full-time Software Engineer in Silicon Valley, many people look down on others who don't have a Computer Science degree.

Pragmatically, after more than a decade I've seen people with PhDs from top schools who couldn't code their way out of a paper bag. I've also seen "uneducated" software craftsmen who could write the most elegant and clear code.

There is no silver-bullet in the tech industry--yes, having a Computer Science degree helps, but it doesn't guarantee the person will be a good Software Engineer.




So I'm going to ask you a basic question: do you believe there is no correlation, a positive correlation, or a negative correlation, between a candidate having a degree from a good quality institution (I'm deliberately ruling out degree mills) and candidate quality?

That is the only question worth asking.

The rest of your post is just useless anecdote. Yeah of course there's candidates with degrees that suck, and candidates without degrees that are amazing. You've said basically nothing of substance by pointing that out.

What are the averages? It I'm sifting through dozens of resumes for an initial cull, guess what? I'm using heuristics. "Has a degree" is one (of many) of them.


Before you call someone else's comment useless, consider if yours is any better:

You have no evidence supporting your hunch that degreed applicants make better employees, so you're making your most important business decisions based on feels.

You have never performed a long-term study or an A/B test of degreed and non-degreed applicants.

You run all applicants through a filter that eliminates outliers and produces a mediocre average, before you start looking for people that are above average, able to fit your team.

The problem with your hiring process isn't the candidates but that your ties to them are too weak and that there are too many of them, so that you can't put enough time into learning about them. Degrees have nothing to do with it.


I have interviewed and hired many people over the years, from all walks of life. I hold a CS degree awarded by rather prestigious British university.

In my experience, there is no correlation _whatsoever_ between a candidate's "quality" (although I'm not really sure what that means) and whether they have a degree from a "good institution". As a consequence, the only reason I look at the education section of a candidate's CVs is to see if I can find anything that could help starting a conversation, such as an interesting final year project.


> What are the averages? It I'm sifting through dozens of resumes for an initial cull, guess what? I'm using heuristics. "Has a degree" is one (of many) of them.

You'd have a much better experience if you threw out that heuristic, and also stopped looking at resumes. Resumes are generally packed full of bullshit and lies anyway, ignore them. Create a simple test problem and require candidates to submit code solutions to the problem. That immediately filters out all the bullshitters who can't code because they won't bother applying for a job that demands code as a resume. What you'll be left with is just a few submissions from people who can actually code, and most of the them will be shitty but functional solutions to the problem. A small few will submit great code to your sample problem, you'll see it right away, you hire those people.

A computer science degree doesn't tell you anything at all about how well a person can program; computer science and software engineering are quite frankly vastly different things and little if any actual computer science is needed by most software engineers. Filtering by it as a heuristic does nothing positive for you, you're just filtering out a bunch of great programmers; it's a terrible heuristic.


I've found CVs contain almost no actionable information beyond an indication of what the candidate is interested in doing, technologically - ten years of Java isn't great, for example.

A simple 10 minute coding problem on Codility is a more useful filter - just to see if they can read and write code at all.


Unfortunately that is not the only question worth asking.

Let me turn this question around to help illustrate. Do you think there is a correlation between IQ and candidate quality? Any correlation, positive, negative?

Is that the ONLY QUESTION that determines whether IQ test results should be on a resume?

The fact of the matter is that sometimes more information causes people to make less accurate judgments. Overweighting of information of small use can lead to worse judgments.


> I've seen people with PhDs from top schools who couldn't code their way out of a paper bag

A computer science PhD, in my humble opinion, does not teach how to program anymore then having PhD of Architecture teaches you how to build a residential home. If it did, there'd be much more time spent learning about tooling and practicing programming instead of reading papers and generating novel research.

If I were hiring C.S. PhD's, I would not be judging them on the quality of their code or proficiency in any particular language.


This is true, and the unfortunate effect of treating all software engineers as equal. However, if PhDs are not expected to write code, don't call them software engineers, call them "researchers".


>This is true, and the unfortunate effect of treating all software engineers as equal. However, if PhDs are not expected to write code, don't call them software engineers, call them "researchers".

Generally, they aren't called "engineers". They'd be computer scientists. But I say that as someone who lives in a place (Canada) where "engineer" is a protected term, of sorts. You can't just slap the title on anyone.


Fair, but not relevant—all the alternate titles (programmer, coder, computer "scientist" without the science... whatever) would also be just as ill-fitting.


Obligatory link to Larry Page's question about Java while getting his PhD at Stanford:

https://news.ycombinator.com/item?id=8587697

I consider the ability to perform practical programming a skill of software/computer engineering...In the same way that someone can be brilliant in chemistry and yet have little clue how to perform the kind of chemical engineering needed to efficiently produce chemical reactions...being a great mathematician/computer scientist doesn't necessarily relate to building. It's not that they don't have the intellectual capacity to do it, it's just that building/engineering requires its own experience and field of knowledge.


He'd have never passed a Google interview. ^_^


> If I were hiring C.S. PhD's, I would not be judging them on the quality of their code or proficiency in any particular language.

No, it's not about this

It's about a CS PhD that can't program at all. Believe me, they exist


> I've seen people with PhDs from top schools who couldn't code their way out of a paper bag.

I've seen PhDs in Electrical Engineering who couldn't repair a television. Somehow they missed that class.


Electrical engineering is a pretty wide field that doesn't necessarily involve working with actual electronics. Personally, I've built a circuit simulator software package, but I can't actually design or build circuits worth a damn. I had to copy all but the most basic test circuits for my project off of existing designs, and I'd probably fail to build a physical realization of most of them.


I'm an engineer without a degree and I'm guilty of looking down on those without, but I'd like to justify my actions. Lots of engineers lack the ability to determine not just how to solve the problem (disturbingly common in theoretically competent and seasoned engineers), but the ability to determine which problems need to be solved. Determining how to do the traveling salesman problem in an acceptable time isn't solvable (or if it is to them, they should be doing something better with their time than working with me). Figuring out how to avoid that problem generally is, and I expect candidates to intuit that they shouldn't spend time chasing unsolvable problems.

I didn't learn computer science formally, but I did learn it. I don't expect everyone to know exactly what I know, but I do find a degree a useful proxy for some percentage chance of knowing their shit. Industry experience is useful for some additional, knowing what words to put on their resume is part of it too. If they don't pass some combination of the group they're not worth my time, but I have to verify that by interviewing some amount of applicants anyway to check that those are real determining factors.


I've worked with fantastic developers without a degree. Typically, I've had to point out gaps in their understanding of the "why" behind things. I also had these shortcomings because I had an MIS degree. The difference when working with CS graduates is simple business knowledge seems to be their shortcoming. So working in accounting, finance, etc. they have a knowledge gap.

No one comes out of college knowing it all, it's just figuring out where your shortcomings are and always trying to fill in those gaps. I'm a mediocre software developer at best. However, I'm better than about 90% of the people I've worked with (IMO). The 10% that are better than me I strive to learn from and discuss topics constantly instead of being intimidated by their expertise.

If companies would simply hire good people and make growing them into well rounded developers, they'd have a hell of a lot better return on their investment than simply having a checklist of "employee must have" when hiring.

I'm on (failed) startup #8 at the moment with one of these friends. Our primary goal is to hire people that haven't had job experience in the field so we can train them on the proper ways to build software (well, our opinions on what's "right"). Assuming we ever get to the point of replacing ourselves. :-)


If you're better than 90% of the people you've worked with you definitively aren't mediocre. This type of mentality is what leads people to undervalue themselves.




Join us for AI Startup School this June 16-17 in San Francisco!

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

Search: