

Ask YC: Why the degree? - matthewking

I am a developer without a degree, I left school when I was 16, at which time id been programming for 2 years. I've studied several languages, worked for countless companies doing contract work, and been employed as a developer and lead developer full time.<p>I'm now 24.<p>I used to be very frustrated to see companies demanding degrees before they'll even talk to you for new developer positions. I have always put that down to the HR department that don't really know what they're doing when employing developers.<p>However, I'm sorry to see many startups that are employing developers in the early stage, are requiring that candidates have a degree.<p>For all the company knows, I (and countless others) could be the best developers they'd ever meet. And yet we're automatically excluded from even applying.<p>Why?<p>If/When I am employing developers, a degree won't even separate one candidate from another, as long as I judge both to be good developers, then they're on an equal standing.<p>I know several people that have degree's in computer science, and none have any magical abilities that you only pickup at university.<p>So what gives?
======
yummyfajitas
>For all the company knows, I (and countless others) __could be __the best
developers they'd ever meet. And yet we're automatically excluded from even
applying.

The game is about probability, not possibility. The assumption is:

P(qualified | degree) > P(qualified | no degree)

That's probably reasonable, since schools do filter out at least some idiots.
To find a candidate, one must interview roughly 1/P candidates. If interview
costs are high (e.g., face time is precious), you want as many easy filters as
you can get.

This is especially true if you don't trust HR to properly find the "diamonds
in the rough" (I certainly wouldn't).

~~~
LPTS
The assumption does not hold with more information.

First, self teaching processes filter out idiots too, since idiots can't self
teach.

P(qualified | (no degree + autodidactic)) > P(qualified | (Degree + little
self teaching ability))

~~~
Goladus
For those following along at home, the unpretentious word for "autodidact" is
"self-taught"

~~~
eru
Is autodidact such an unusual word in English?

(I would find a perfectly acceptable - but I am not a native speaker though.
That's why I am asking.)

~~~
maximilian
Its the first time i've ever seen autodidact(ic). I assumed it meant self-
taught based on context, probably like most of the others.

~~~
eru
OK, probably I only know all the weird words you never actually use.

~~~
mark-t
That actually happens a fair amount with non-native speakers, since our
uncommon words are sometimes very similar to their common words. For example,
an italian recently called me ascetic, and I had to look it up.

~~~
hhm
"Autodidacta" is the most common way to say "self-taught" in Spanish.

~~~
DougBTX
I love how English is quite happy to absorb new words, even if the English
speakers only know a subset!

Back in school, we were warned about "faux amis", words which sound like
they'd be right to an English speaker, but very much out of place to a native
French speaker. I think in English we'd just accept any and all alternative
meanings and let context sort it out, who's up for some creative reading?

------
mrtron
"I know several people that have degree's in computer science, and none have
any magical abilities that you only pickup at university."

I think you are shortchanging the value of a formal education. You are forced
to learn things you don't necessarily enjoy. For example, I was forced to take
a few stats courses which I found extremely boring, but recently at work it
was incredibly valuable. I know I thought I was a great developer when I was
16, but looking back I was just a good problem solver. A degree also forces
you to work extremely hard on some things (projects, exams) with rigid
deadlines.

Are you suggesting that people are wasting 4 years of their life? I realize it
is 'just a piece of paper', but that piece of paper signifies an
accomplishment.

Now I am sure a few people are going to say I have drunk the Kool-Aid. To that
I suggest there are some places you can break the rules, and some times you
have to play within the rules of the game. I think getting a degree still
opens many doors, and because of that I followed through with it. Clearly
there were times I considered skipping university or dropping out to pursue an
opportunity, but looking back I have no regrets.

~~~
matthewking
I'm not meaning to take any value what so ever from a degree, and I believe
that people that have them have accomplished something worthwhile.

What I am saying is that people shouldn't just dismiss people without a
degree, because those of us who have a true interest in what we do, and learn,
read books and experiment on our own - without being forced, or having a set
syllabus to follow can become very talented developers.

If you've got to a very high level alone, I think that's a damn good
accomplishment too, one that is at least comparable to a degree in itself.

~~~
daveambrose
Matthew, I agree, however, there's a general trend I've noticed within this
conversation: technical v thoughtful ability.

From my experience, programming requires both understanding and experience.
What you learn in college does not necessarily correlate to success in a
technical field (especially when you're coming out of a Liberal Arts
university as I did).

Simply put, when it comes to a technical field:

(Past experience + understanding + execution) > a Liberal Arts degree.

But you shouldn't disregard a degree when it comes to thinking + innovation.
College provides an invaluable means to look/analyze the world around you.

I wrote about this a few days ago that may be of interest:

<http://datainsightsideas.com/post/35471878/>

------
sah
In my experience hiring software engineers, possession of an undergrad CS
degree was not a helpful filter for resumes. I did find that candidates with
advanced degrees or undergrad EECS degrees tended to be a little bit stronger
than the average candidate. So did candidates with unrelated undergrad
degrees, and a few years of job experience.

I never figured out how to look at a resume and meaningfully select for
extremely good hackers who were within our ability to attract (although it was
easy to identify them in interviews). The ones for whom that was obvious from
their resume had better opportunities.

One thing that I find interesting about this conversation is how much more
often it comes up in software than elsewhere. Why are there so many autodidact
hackers out there? I think it might be that computers are such excellent,
affordable learning environments. The quick feedback loop you can get actually
working with a computer is unlike anything available for most fields.

On the other side, academic CS programs are relatively new, and possibly don't
do such a great job yet. Or maybe it's just that they've been attracting large
numbers of the wrong people in recent years.

~~~
mark-t
Computer programming is something that you have to do for a long time to be
good at. Almost all good programmers started well before college, and a lot of
them go on to study something other than CS. My BS is in Electrical
Engineering, and I have an MS in Math, yet I still consider myself a desirable
candidate for programming jobs.

~~~
aswanson
Back in my day I didn't know CS was it's own major; I thought it was just a
subset of EE and programming was just one thing you had to know, in addition
to being actually able to build a computer from scratch.

------
mooneater
I haven't met self-taught programmers who learned much theory (CS, math,
physics, etc). I bet there are some, but I guess they are rare.

Theory gets useful if you want to tackle harder problems. If you aren't aware
of the theory, you often don't know what you are missing. As an ex-dropout, I
was in that position for a long time.

Going out on a limb now, big company with little respect for theory ->
Microsoft, big company with healthy respect for theory -> Google.

You can do fine without theory, but its getting harder (and will continue to).

------
bkovitz
I worked 20 years in software and publishing with no degree. In my experience,
no one cared.

I did not see any correlation between skill level and degree. Programming is a
craft, like carpentry. You learn it by doing it, by doing it with other
people, by thinking about it and talking about it, a little bit by reading
books about it, and almost not at all by watching lectures about it.

That said, people who don't have the kind of experience with programming to
tell a good programmer from a bad one have to resort to proxy measures like
credentials. I usually worked for small companies, where this is less of a
problem.

~~~
dhimes
But a carpenter is not an architect. The barrier to entry for pure programming
is rather low.

I see programming today as in a similar state as auto mechanics was in the
1970s & early 80s in the US. If you had good sense and aptitude, you could be
one, and the barrier to entry was very low.

Now it's different. You (for the most part) need some sort of certification to
be a "grease monkey;" and even then, you are fixing, tuning and rebuilding
engines, not designing them.

------
jeff_college
A Bachelor's degree (even in CS) isn't just job training. At least half the
classes required for a degree are not related to your major. When you graduate
with a CS degree you've (hopefully) learned some CS theory and some practical
skills but also you're more well-rounded from learning composition, speech,
math, history, science, etc. If being a developer meant pounding out code all
day long then a college degree shouldn't be a factor in the hiring process.
Most developers I know spend more time doing other things - planning,
estimating, communicating with other teams, etc. - than coding. This non-
coding workload increases as you move up the ranks so most HR departments hire
with an eye toward the future as well. So given what you know to be true -
that most companies require a degree - you have two options: 1\. Get a degree
2\. Work for a company that doesn't require a degree

And one more thing - the plural of degree is degrees not degree's. I learned
that in school.

~~~
matthewking
Interesting points. However, you seem to be assuming that people without
degrees disappear into some kind of a time warp while everyone else is at
university.

Team work, communication, planning and organisation skills can be picked up in
real life environments too, if anything in a better fashion.

When you enter employment at a young age, your employer and your colleagues
are more willing to show you the ropes and give you time to learn on the job,
considering you usually start at a low position. Then you proceed to learn
real world experience for a number of years, depending on how quickly you
dropped out of education, and how quickly you landed a job.

I had been working as a developer for 5 years by the time my friends of the
same age finished their degrees. Put that into perspective and compare to
people fresh out of university.

I'm not saying people with a degree have wasted their time, or that it wasn't
the right thing to do. Just give those of us who chose a different path some
credit too.

As far as my options go, I'm now self employed and loving it.

~~~
xirium
> I had been working as a developer for 5 years by the time my friends of the
> same age finished their degrees.

I knew a fellow who didn't go to university and was managing a team of 12
developers within his first five years of work. He was richer than the average
graduate too.

------
sc
If the company is great, but HR acts as a filter, skip HR. Contact the
department you're looking at directly and be prepared to wow them.

------
mindcrime
Most job ads I see say "Bachelors degree __or equivalent experience __" In
those cases, definitely apply even without a degree. And even if they don't,
apply anyway. A lot of time stuff gets put in job descriptions by copy &
paste, or because it's common, not because it's an actual requirement. Yeah,
HR might filter you out for not having a degree in some cases, but you'll get
past them to the hiring manager in other cases, then you have a chance to sell
yourself.

------
nickb
It all comes down to energy required to make a decision. Degree acts as a
quick filter. For example, having a degree in CS does not mean that you are a
good programmer but what I, as an employer, know about a person with a degree
is that they possess a certain level of knowledge and they have also proven
themselves and have shown that they can focus and accomplish something.

If you think about it, those two things I listed are incredibly important.
When you're swamped with 100 resumes and you can interview maybe 10 people,
these little markers help employer make a decision. Now, that doesn't mean
that a person without a degree doesn't have a chance... it just means that
they will have to prove themselves in some other way (being famous
coder/blogger/speaker helps there)...

~~~
kashif
Actually, I am inclined to believe that work experience is a better filter. If
you are hiring freshers, than ask them to build something in a day or a week
and use that instead.

 _Now, that doesn't mean that a person without a degree doesn't have a
chance... it just means that they will have to prove themselves in some other
way (being famous coder/blogger/speaker helps there)..._

Actually the onus is on the employer. Shouldn't you want to hire the best?

~~~
icey
The onus is not on the employer. The employer's job is to fill the hole with
the best that they can easily ascertain. I can tell you from doing hiring in
the past that people have gotten very good at filling their resume's with
bullshit.

The last time I hired someone for a Senior Developer position, I had to filter
through almost 500 resume submissions. Of those, I did a telephone technical
interview with about 200 applicants. We did face to face interviews with the 6
applicants _who passed_ an incredibly simple technical interview - Things that
any programmer who has done any real work would almost be insulted by.

Any available filter to help sort the wheat from the chaff is helpful, and a
degree is one of those filters.

That being said, I do not have a degree in anything, I got into the industry
at 17 and haven't had time to go to school. But, I've been able to get far by
working harder than everyone else; in the conversation of degrees making a
difference, I'd like to have one, sure. But I've never needed one. I think
it's come up in one interview once, and it ended up being a nonpoint.

~~~
kashif
_fill the hole with the best that they can easily ascertain._

I as an employer and employee of other organizations in the past - I can tell
you that filling the hole with what is available lowers standards. While this
does happen, it is not something to aspire too.

 _I can tell you from doing hiring in the past that people have gotten very
good at filling their resume's with bullshit._

I agree. But how is this relevant to our discussion. I have not said that the
resume is a criteria.

 _The last time I hired someone for a Senior Developer position, I had to
filter through almost 500 resume submissions. Of those, I did a telephone
technical interview with about 200 applicants. We did face to face interviews
with the 6 applicants who passed an incredibly simple technical interview -
Things that any programmer who has done any real work would almost be insulted
by._

Apparently, your filters arent effective.

 _Any available filter to help sort the wheat from the chaff is helpful, and a
degree is one of those filters._

A degree may be one of those ineffective filters that you are already using.
Perhaps it is just a segmentation factor like gender or age. If all one seeks
to do is reduce the number of resumes/candidates one has to meet, then one
might as well use gender or age or anything else.

 _That being said, I do not have a degree in anything, I got into the industry
at 17 and haven't had time to go to school. But, I've been able to get far by
working harder than everyone else; in the conversation of degrees making a
difference, I'd like to have one, sure. But I've never needed one. I think
it's come up in one interview once, and it ended up being a nonpoint._

And see you turned out to be alright :)

~~~
xirium
> Perhaps it is just a segmentation factor like gender or age.

Young people are more likely to have a degree, so perhaps asking for a degree
is covert ageism.

------
pg
Their goal is not to be perfect judges in individual cases. A crude first pass
works fine for them as long as it leaves a lot of good people.

<http://www.paulgraham.com/judgement.html>

~~~
maxklein
Don't self link, that's called spamming.

~~~
LPTS
No one has humor here.

~~~
maxklein
Hear, hear!

------
jobeirne
Dealing with bullshit. That's what it all comes down to.

In the academic world, you invariably run into people who not only have
explicit control over your success, but are possibly unreasonable and
malicious. The fact that someone has a degree proves that he had enough
dedication to stick with it and conquer (or at least fare) the propagators of
bullshit.

Anyone intelligent can sit in the library and learn to code; not everyone
intelligent can code AND deal with adversity.

------
modoc
I wouldn't let it stop you. I've applied for and been offered numerous jobs
which listed a college degree as a requirement (I don't have one). It helps to
have a good resume. And by that I mean one that not only has lots of strong
relevant job history, but also one that is well presented/written and really
shows off your strengths, while minimizing things that might be liabilities
(like the lack of a degree). For instance, my resume doesn't even have an
education section.

So don't let it stop you. Also, as other people have mentioned, if you can
duck HR, that's great too. If you don't know anyone who works there, find one
of their tech folks on a forum somewhere, and work in from that way. Most
places give employees hiring bonuses for referrals, so most people will be
happy to help you get in the door (assuming they think you're good enough to
want to work with you).

Personally, having worked at many places, I generally find folks with CS
degrees to be liabilities. Especially if they're relatively fresh out of
college. Granted I don't work in areas where you need lots of knowledge about
machine learning, or AI, or... I do Java-based web application development.

I've found that most CS programs, by nature of the need to identify topics,
and build curriculums and supporting materials, are years behind the real
world new technologies. I'd rather hire/work with someone who had spent the
last four years building cool things with the latest and greatest
technologies. Who knew the real world tips, tricks, and pitfalls of a given
approach/language/toolkit/framework. Rather than someone who'd spent the last
4 years in a classroom or a frat house, learning technology that is 1-6 years
out of date, and didn't have hands-on-experience with how to handle a
Slashdotting, or how to run a secure world facing server/postfix/whatever, or
knew that Firefox treats xml response types very strictly and breaks on Google
inserted AdSense javascript, unless you force the type to html (while IE and
Safari don't care).

Don't get me wrong, there are some smart people in CS programs, or coming out
of CS programs, but based on my working/hiring experience, in general, a CS
degree is a slight liability on a resume from my point of view.

Real World Experience > College Degree.

And frankly, for the type of work I do, Real World Experience + College Degree
usually == Real World Experience.

------
elad
Having interviewed quite a few people, I tend to think that there's a
correlation between not just a degree, but also the quality of the school
where it was attained, and the quality of the candidate - as measured by
his/her professional knowledge and ability. That's not always true. In fact,
of the two best coders I know, one didn't bother with a degree, and the other
did it as an off hand, graduating after 8 years, having worked full time all
along. Nevertheless, when it comes to people I don't know, and given that I
don't have the time to interview everyone who sends their resume, a degree
serves as an initial filter. If the resume is impressive enough without it,
then I'll go ahead and interview, but it has to be really impressive. In
short, not having a degree is an impediment. You can succeed without it, but
you're putting yourself at a disadvantage.

~~~
matthewking
If a position stated that a degree is a "nice to have, or advantage" I would
certainly still send my CV and hope that it was glowing enough to counter my
lack of degree, which I would hope it is through sheer commercial experience
gained while everyone else was in education.

But my gripe is that most employers don't even give us that chance.

In a way, that has played its part in my working life that has sent me on a
path to be independent and start my own company, so I guess its not all bad :)

~~~
aswanson
Smaller companies where productivity is measured more closely don't care that
much. Big, dumb bureaucracies tend to hire based on buzzword counts on resumes
and GPAs. You don't want to work at those places anyway.

------
msg
Lots of people have probably read these, but Steve Yegge wrote some great
posts about interview loops on his old Amazon blog.

[http://steve.yegge.googlepages.com/five-essential-phone-
scre...](http://steve.yegge.googlepages.com/five-essential-phone-screen-
questions)

<http://steve.yegge.googlepages.com/why-phone-screens-matter>

<http://steve.yegge.googlepages.com/what-you-need-to-know>

Here's an excerpt from that last one that is on point:

"My point today is that although I don't feel you need to have a Computer
Science degree in order to be a good developer, I do believe that there is a
set of learnings, which you normally acquire in the course of a CS degree,
that I would consider to be part of the core set of ideas that are 'software
common sense'. If you don't know them, then I will feel that you lack common
sense.

"In our CS degree, we saw a lot of proofs, and had to work through many of
them by hand. I feel that this was to some extent unnecessary, since it
obscured the importance of the things we were proving by putting us all to
sleep. Being able to prove something does allow you to reason through it to
assure yourself of its correctness, and to derive it from first principles if
you've forgotten it. But in everyday programming, you don't need to do proofs.
You ought to have a feel for the outline of the proof, the sort of intuitive
derivation of a rule, so you can reason through it with yourself and with
others. But you don't need to be ultra-formal about it unless you happen to
love proofs, as some folks do.

"Instead, you need to be aware of the major findings and learnings of Computer
Science, and the rough reasons for them. I realize this opinion is going to
displease two audiences: CS theory folks, who will think it's too weak, and
professional programmers with no CS degree, who will think it's too strong.
But it's my opinion and I'll stick with it."

------
pistoriusp
I'm in the exact same boat, I don't have a degree - I must admit, I worked at
a company that hired people with/ without degrees and the programmers that I
could relate best with were the ones who had degrees.

I've been thinking about getting a degree, but between working a full time job
and doing a startup I just don't have the time, I have however bought myself
two excellent books, which I'm hoping to fill the gaps with:

* The elements of computing systems (From Nand to Tetris...)

* Programming collective intelligence.

Web developers who don't have degrees aren't exposed to the fundamentals and
fancy algorithms that are beaten in to you in CS courses.

~~~
LPTS
"Web developers who don't have degrees aren't exposed to the fundamentals and
fancy algorithms that are beaten in to you in CS courses."

That's not true. First of people without degrees can be dropouts, having
learned it in school before dropping out. Second, people can self teach that
stuff too.

~~~
paulgb
I can believe that someone would have the discipline to sit down with a
textbook and teach themselves something. I've done it myself (although I wish
I could do it more often). But the problem is that it isn't always obvious
what parts are important or why. I found in my first year of university I
learned a whole lot more CS than I ever did before, not just because I was
being taught at a faster pace but also because I had a better feel for what I
should learn on my own.

------
bigtoga
I don't have a degree either and I have to admit: when I was in my 20s, it
bothered me too as I thought, "I might be missing out on something." Today
though, running my own business, I see that it worked out perfectly. In my
latest job posting (for a .NET/SQL dev), I wrote "A Computer Science degree is
not required but helpful" because I don't equate degree to good code.

Joel Spolsky talks about this in his book and he prefers a degree or, if not a
degree, evidence that the person had to go through some sort of highly
selective process.

~~~
matthewking
Thanks. I guess in that case it can be an indicator that the person has _some_
kind of skill.

Although I do have friends that have managed to get a degree in computer
science and they still can't code unless they're copying from a book.

Is Joel's book based on employing people straight out of education? because
presumably people that hadn't gone the degree route would have 2-3 years
commercial experience by the time people the same age finish their degrees.

~~~
bigtoga
Here's the book: <http://tinyurl.com/3kr99k>

It deals a lot w/ hiring interns-to-become-full-timers.

------
thorax
Well, to mention, I agree with you that engineers without degrees can be
awesome. I've interviewed a couple hundred engineers and reviewed thousands of
resumes, and when I see people without degrees I look for really solid
experience and/or lots of personal projects that show what they've
done/experienced. Often those candidates turn out to be just as good engineers
in the long-run, and sometimes better since they've come this far without
needing a degree in a college-focused career path.

That being said, I think you're misunderstanding a bit what a degree conveys
and why it's attractive to companies.

For one, it gives you a grade against some sort of scale that can be used to
measure general aptitude. Even if GPA isn't a score from a truly ideal "test",
it's a known quantity and you can roughly gauge what that number means. Yet
comparing a GPA of "3.6" against "dropped out of school and studied
programming" is really hard to do-- the GPA gives you a rating from an
accredited university of scholars about how much that candidate studied,
learned and worked. The other is just one person's word with some rough and
hard to verify guidance you might be able to get from references (and/or your
own research).

If someone were looking across listings to buy a good race horse, it's a
gamble for them to take the seller's word (and do their own independent
research) that the "horse is wicked fast" no matter how many times you said
you personally timed it. The average buyer would be more inclined to go after
the documented/well-known winners from public races. Now, we all know that's
not necessarily the most profitable strategy, but it is usually a safe one.
Those that ignore the other candidates risk missing a "sleeper" that really
can shake things up, but that's part of the game.

So your strategy should be to look for those companies that are willing to
take those chances rather than worrying so much about the ones that filter
everything by institution and GPA. I also advise you to approach them in some
way that shakes up their expectations a little anyway (e.g. sending them your
resume printed on rolled scrolls, handing it to them in-person at some
interesting event, through a respected employee, etc). You want them to think
about you differently, so give them a reason to think you're a clever puppy
outside the mold that they might have missed otherwise. If you only approach
them like the other candidates do, it's not surprising that they'd grade you
against the same criteria for the other candidates.

It's also important to keep in mind that bachelor degrees don't just convey
"Computer Science". They also convey all of the other non-CompSci courses that
you need to graduate. It's a general show of discipline across courses and
studies with one of the biggest being written communication. If you don't have
a degree, it would be awesome to also provide them examples that you've
written (white papers/essays/speeches/etc) to help show that you're a well-
rounded candidate that doesn't just know how to sit behind a computer and
code. I promise you that's not all they're looking for.

You also have the fun option of showing them all up and just starting your own
business. Here are just a few that didn't make it through college and changed
the entire world:
[http://www.portfolio.com/executives/features/2008/04/14/Bril...](http://www.portfolio.com/executives/features/2008/04/14/Brilliant-
Dropouts)

Best of luck to you.

------
bfwebster
Two of the best software engineers I've ever hired (and worked with) did not
have college degrees (one only had a GED for high school). But they were both
highly talented and came highly recommended from people I trusted.

No, getting a CS degree doesn't guarantee that you're talented; far from it.
However, it does show that you have enough aptitude to make it through a CS
program, and it lessens the chance that you'll spend my time re-inventing --
or, worse yet, ignoring -- foundational concepts in computer science and
software engineering.

Here are some more of my thoughts on the subject of hiring IT engineers:

[http://brucefwebster.com/2008/01/10/the-wetware-crisis-
tepes...](http://brucefwebster.com/2008/01/10/the-wetware-crisis-tepes/)

[http://brucefwebster.com/2008/04/14/the-longest-yard-
reorgan...](http://brucefwebster.com/2008/04/14/the-longest-yard-reorganizing-
it-for-success/)

(and thanks to dmv for the link to my 'Dead Sea' post, which is what led me
here). ..bruce..

------
joiningdots
The degree is seen as a benchmark, an easy early filter - you know someone
with a degree has had the focus to knuckle down and study a subject in depth
for a period of time. Frustrating for those who don't have a degree but have
done the same amount of studying, if not more. But that's the way it goes.

You're only 24. If it's bothering you, go get a degree. Otherwise, make sure
you produce work that demonstrates your abilities. Check out this article -
'How I got hired by Amazon' [http://www.brunozzi.com/en/2008/05/22/how-i-got-
hired-by-ama...](http://www.brunozzi.com/en/2008/05/22/how-i-got-hired-by-
amazoncom/) \- a great example of not needing to care whether the person has a
degree or not.

I don't have a degree and I ended up working at Microsoft. But it would never
have happened if I had tried applying through their recruitment channel, due
to the degree filter. I was headhunted based on performance.

------
kurtosis
I used to do web-apps for a hosting company to earn money to help pay for
school. (I think earning a degree was worth every cent BTW) None of the coders
there had a degree and they were all very good at making everything work. This
was a team of 2-3 people on a codebase of 50,000 lines of PHP / MySQL - The
owners of the company also didn't have a degree and they seemed to prefer
hiring people without one.

The other posters who have spoke of a degree as a filter which lowers the cost
of interviewing are correct. I can think of two occasions over the 1.5 yrs
that I worked there where they hired people who didn't have a clue what they
were doing. This was obvious immediately and they had to be ruthless about
firing them. I don't know if requiring a degree would have made this nastiness
less likely, but these mistakes have a significant cost for both the employer
and the employee.

------
bluelu
A degree is a proof that you were able to complete something where other have
failed, and that you are willing to learn and learn fast. It also proves that
you are not completely dumb, since few people fail at university.

Even without degree, I think that you still have a chance to get a job if your
resume and your projects you have are good enough (or if you run a business in
the past). It probably get's more difficult in the consulting business, as the
company sells you (and your resume) to their customers, so it get's difficult
to sell you for a premium rate if you got no degrees or certification.

That being said, If you haven't done so far, I would read a few algorithm
classes, because that's something you normally never learn while programming
(also a good tip for the Twitter guys... ;))

~~~
schtog
"It also proves that you are not completely dumb, since few people fail at
university."

doesnt add up, what exactly do you mean?

~~~
bluelu
Sorry.I thought that many people fail at university, so you prove that you are
somehow more capable of learning. Few was not well chosen.

However, I observed in recent years (at least here in Switzerland and also
other people told me about it) that it seems to get easier and easier to pass
university, as there is more and more pressure from the state (which finances
university) to let more and more people pass, due to the lack of engineers.

------
erdos2
There are opportunity costs either way. When I was your age (I am now, on one
leg), I didn't have my degree. After my father's premature death, I went to
work to help support my mother and two brothers. I was working in videotex--
this was before the WWW. (You might be amused to know that one of the
prototypes I worked with was written in lisp.)

While I was always able to find work, it certainly was more difficult finding
employment before I finished my degree. It raised questions--the rhetorical
kind (interviewers would raise them but weren't interested in the answers).

Now that I have my Ph.D., it's more difficult again.

The point is that timing matters. I don't have the same choices now--and
that's without having a family to support.

------
Tichy
Just curious, how did you teach yourself programming?

To me a degree would not so much signal skill in any programming language, as
a general skill in learning new stuff, which to me seems to be the most
important skill of a programmer. A university degree seems to indicate that
ability of learning stuff to some extent. Sure, if you taught yourself
programming, you have learned something by yourself, too. But I think it is a
lot easier to learn one particular programming language than to have a general
understanding of computer science, be able to write down stuff, learn things
you are not as interested in, and so on.

~~~
matthewking
I "caught the bug" when I was 14 and messing around with mirc scripting with
some IRC buddies.

I scripted a bunch of stuff for controlling mp3's, and a few socket bots to
protect from channel takeovers.

Then I wanted a mp3 player more like itunes is today, and so I set about
making one in VB.

From there I progressed to games, in VB and Java, such as space invaders etc,
dabbled a bit with 3d programming.

Moved to the web, HTML, JS, followed by PHP, then some JSP/Servlets and ASP
through a work requirement, learned SQL Server and databases in general from a
MCDBA who was also a MCT.

Messed with C and linux, borrowed some books from the library and read every
page, lost my way a bit and learned about creating exploits.

Then got back on track, some c++, some ASP.NET/C#.

And the list goes on. My language and framework of choice is now Ruby on
Rails.

~~~
Tichy
And what is the reason you did not want to study? Just trying to understand...
Obviously, it is a money issue (earning 3 years vs paying 3 years). But if you
enjoy the stuff, wouldn't it be natural to study it?

For example, personally I am bored by now by web programming, and university
really wasn't so much about practical programming. I liked the theory,
complexity of algorithms and so on. in your self-taught curriculum, did you
ever come across those kinds of things? Do you/did you care? If you are truly
interested in that stuff, but don't want to spend the money, why not do it in
a remote learning course or something? I mean, you want to learn the stuff
anyway, why not get credit for it?

Obviously it is better to create a new distributed hashing algorithm by
creating something like bittorrent, rather than doing theoretical work about
it at university. But university is not so bad, and some results from academia
do spill over into the real world.

Just today a friend told me about a program he got to analyze that did user
authentication on the client. It is amazing to me that people can be able to
program such Java clients, yet be unable to understand the security issue.
They can program, yet they can not program. Maybe it is because it is so easy
to learn programming, and bad code actually runs, too, that employers like to
see some additional verification like a CS degree (and of course the CS degree
is not guarantee stuff like that won't happen).

~~~
matthewking
Freedom to do what I want to do I guess. In the UK there's a 5 year gap
between finishing secondary school, and finishing university (2 years of
college in between).

During that 5 years, I've lived in 3 completely different locations within
England, and lived in another country for a few years too. I've worked for big
companies, small companies, startup companies and now myself.

It was a personal decision, that I took, and I don't regret it one bit. I'm
not even in the market to get a job, I just had an old annoyance come back
when I noticed a few startups requiring degree's for their jobs on here, I
thought startups would be different to the usual useless HR departments in
that they should be able to tell good developers to bad, without filtering on
whether they have a degree or not..

------
aseever
When you were 16 did you know that employers use a college degree as a coarse
filter when trying to get a manageable applicant pool? It would seem that your
answer was most likely one of two. You were either ignorant of reality when
making a huge decision, or you were the type to want to fight reality because
it felt like injustice and you 'knew better'. Of course at 16 we all 'knew
better' and if that's how it went down I'm sorry you didn't get better
advice... but it's a personality trait that some folks don't grow out of, and
if you've ever managed a team you know they aren't the ones you want to have
around.

Anyway, this is not to make any sort of judgment on you personally, you have
probably done more awesome things than most 24 year olds and may be nothing
like what I described, but you asked: when an employer sees a resume without a
degree that's a snap decision thought process they might go through.

The situation actually isn't that bad... most of the best jobs aren't "resume"
jobs, they're "hey I know a guy" jobs. Networking is much more important than
resume to getting a good job - especially at startups!

------
maxklein
I used to think that a computer science degree was not useful. However, can
you answer the following questions:

1\. How would you program a compiler for a new DSL? 2\. What is stdcall? How
does it relate to the stack? 3\. How many registers does a 486 have? What is a
register? 4\. How does ethernet work? 5\. What is the most efficient way to
break a project down into tasks and milestones when dealing with a large team?
6\. If you break a computer which you bought, but has not yet been delivered,
who is liable? 7\. How would you mathematically model a computer controlled
temperature controller system?

I know the answers to those questions because I learnt them along the way as I
got my degree. I have a wide spectrum of knowledge which is not directly
useful to programming, but is useful to me as general knowledge.

When you learn by yourself, you tend to learn enough to do what you need to
get done. In school you learn things that are not immediately obvious that you
need them.

~~~
LPTS
"When you learn by yourself, you tend to learn enough to do what you need to
get done. In school you learn things that are not immediately obvious that you
need them."

No, no, no. YOU tend to only do the minimum to do what needs to get done
without outside pressure. Don't project your flaws onto us self teaching
people who don't share them. Any autodidactic person will constantly be
learning both generalist and specialist things. Just because you don't have
enough fire in your belly to do more then the minimum learning when you're on
your own doesn't mean anything about anyone else.

(EDIT: Sorry. Not to be too harsh on you. Your quiz is relevant. Of course, if
the OP can't answer questions like yours in his field, he isn't the kind of
autodidact I'm defending. But if he can, (and given that many self teaching
people can do things like that easy) your point about learning just enough to
get stuff done is more a personal thing then anything about autodidactic
people)

~~~
maxklein
The thing is this: There are some things that ones does not know that one does
not know. And only in a formal teaching environment is one introduced to these
topics. Most schools give a healthy dose of general knowledge together with
the domain specific knowledge. And most self learners tend to stick to domain
specific topics.

I don't know how self taught you are, but 100% of my income comes from things
I learned myself and applied myself. I spent $0 to learn those things, and now
I make, well, a fair bit more than $0.

In spite of all I learned by myself, when I went back to school, I discovered
things I did not even know where useful to me.

I'm not saying that a person is flawed because he is not aware of some
specific area. He just is not aware of it because it's not something he
directly requires. What Web programmer needs to know about register transfers?
Well, if he went to do a CS degree, this knowledge would be forced on him,
making him a better programmer in general!

Civilisation only exists because of the institution of school. Don't bash it,
it's a very good thing.

~~~
LPTS
I went to college and was a semester away from graduating.

Here is my education history. I studied music and philosophy not computers.
Anyway I was self taught enough that in my senior year contemporary philosophy
of mind class (which I studied independently because it was my interest before
the class was offered), the professor asked me to proofread and critique the
final rather then take it. I never took notes but I could correct other
peoples notes from memory. I also taught myself composition and music theory
up to the 400 level before dropping out of school. In high school, I got
perfect scores on AP tests for classes I skipped almost every day (I got 15
college english credits for a class I failed). I did knowledge bows and was
the knowledge bowl coaches TA, where he gave me old questions and
encyclopedias on various topics and we got 2nd at state. (we were a poor
public school). I had more AP credits then the saludictorian and valedictorian
but I sat in the back with the pregnant girls and delinquents at graduation. I
don't think I learned things from class, and think all that was self taught. I
always got in trouble for reading ahead or hiding a book.

School is, in general, good. But for certain bright people, putting them like
that in classes with people of normal intelligence is exactly like putting
normal kids in classes with severely mentally disabled kids, and limiting the
normal kids potential to the mentally disabled kids potential. On balance
school is good, but there is a class of people for whom school is
devastatingly confining and intellectually restricting. Depending on early
experiences, these people are going to hate school early, become self taught
college dropouts or never go to college (who can blame them?) and teach
themselves skills like this guy is saying. Because these people's dropout
status is related to their high intelligence, excluding them with barriers
based on degrees is a great way to protecting yourself from some of the most
creative, intelligent, original thinkers our planet has to offer.

~~~
maxklein
I believe in people who execute. The tasks you have to do in a standard job
are for the most part VERY similar to those in school. Little creativity is
required, just follow the rules and deliver. People who cannot finish a
college degree may be geniuses, but what use is a genius to a big company if
the genius never finishes a project but gets bored after a few weeks?

University is a free place. Come and go as you please, just write the exams.
Those geniuses should have no problem doing that, no?

A company needs a good mix of the following:

1\. Slow and steady worker 2\. Charming and friendly people 3\. People with
clever ideas who know how to explain their ideas properly

Some helter skelter genius with strong opinions and a low ability to complete
projects is exactly the wrong type of person for a company.

And the right kind of person to start an own business.

~~~
gnaritas
It's a false assumption that not going to college means a person can't finish
something. Fact is, MOST people don't go to college and many of them don't do
it for financial or family reasons. College isn't like high school, it's not
available to everyone for free. Many many smart people skip college and that's
not going to change any time soon.

~~~
maxklein
Of course I don't think that people who don't go to college can't finish
something. I ABSOLUTELY would hire a person who did not go to college if he
was qualified. But a person who drops out of college because he felt the
classes where holding him back is for me a person who cannot complete stuff.

If he dropped out to execute something (like start a business), then it is a
major plus point. If he dropped out to go work in a dead end job, or to become
an 'artist' then this is a sign of a person who cannot complete projects.

I mean, why would you drop out of college to go earn $3000 a month when you
could just finish college and earn more than that?

I would NEVER discriminate against a person because financially they had
trouble going to college. But I would see it as very negative if a person
complained about college not being the right thing for them. Learning is
learning, there is no right or wrong way. Everyone does it his way.

~~~
gnaritas
Then you don't like people who can't finish things, stop equating that with
college, they are unrelated. Successfully completing college does not mean you
are good at finishing things. It may be an indicator, it's certainly not a
qualifier.

Many jocks finish college while barely being able to read, many students cheat
their way through, or barely make it through with low grades. Going to college
is much more an indicator of your social values rather than your skills.

Most people tend to go to college because they're expected to, it has a lot to
do with the values your parent instill. Many people skip college because it
never occurred to them they should go, their families simply didn't instill
those values in them.

College is nothing more than a place where one _can_ learn, it does not mean
one does learn. People who enjoy learning don't ever stop learning and self
learning eventually becomes a requirement for all who want to continue to
grow. College is nothing more than a kick start for a minority of society,
there are many other paths that are just as successful.

Many of the most successful companies in the world were started by college
dropouts who realized school _was_ getting in their way. Classrooms are good
for teaching the masses, people who learn faster than average _will_
absolutely feel like they're being held back and turn to self directed
learning as the superior method it is.

------
brianm
The key here is to see it from the opposite end -- from the potential employer
point of view. We (I am a programmer, but I do a lot of interviewing and
general recruity stuff) get metric raftloads of resumes, interest emails, and
so on. Most of them are pretty unexceptional to begin with, and most
candidates also lie^w exaggerate.

In order to find the people you want to hire you _have_ to trim down the ones
you talk to by some means. Think of it is a heuristic based search -- it won't
be perfect, but it can be very good. You take the traits which correlate
highest with success (I will leave success nebulous on purpose, that is a
whole other discussion) and start whittling down the search space. A college
degree tends to correlate highly with being a good or great programmer,
therefore it is frequently used. This is a simplification, of course (though I
am sure there are shops which really _do_ this), but there it is.

------
vlad
An employee who is 2+ years from a bachelor's degree is a long way from
finishing while an employee, and therefore there's a high chance they will
leave to attend school full-time in the near future. Companies also justify
your hire by not paying as much as somebody with a degree out of principle,
and therefore always afraid you might find a higher paying job or start
college. Finally, a college educated person will likely have debt to pay off,
and is likely to stay with the company for 1-5 years after acclimating to a
paycheck in the first 3-6 months.

------
auston
In my experience, even companies may ask for a degree, but if you show
persistence, call & introduce yourself, walk in or network your way in.. they
become more susceptible to giving you an interview.

Basically (in my experience) you have to show a genuine interest and pursue
them at first, kind of like a woman/girl/chick/etc.

------
chollida1
Many companies take their character from their founders and hire accordingly.

For instance Microsoft focused on hiring high IQ people that went to good
schools because that's where Bill Gates came from.

Google same thing, high IQ individuals with post grad degrees, hence google
looks to hire people who fit this mode.

------
helveticaman
I think it has to do with red tape surrounding the hiring process. There's an
essentially infinite number of traits a potential employer cannot ask about
(like intelligence), but a degree isn't one of them. So degrees matter because
they are the only filter HR departments are allowed to use.

------
schtog
there is no such as an autodidact really, untraditionally taught perhaps but
even if you learn at home and not at a university you still probably read kind
of the same books nd you talk to a lot of people on forums.

i guess if two people have the same skills and one is selftaught then that
says a lot more about the selftaught person.

i personally have no experience in hiring people but i could imagine a lot of
idiots who think they are the shit(but have a horrible lack of understanding
for the fundamentals) would apply.

wouldnt most jobs that ask for a degree consider someone who has a really
proven trackrecord?

i mean at least for webdevelopment...

------
mojonixon
A degree signifies that someone knows what they don't know. I am quite
competent in many technical areas, but my formal education pushed me into
areas where I'm not comfortable and would have avoided if it was up to me.

------
dawie
A degree proves that you can learn.

------
sygzzy
Why the third degree?

~~~
matthewking
I think my original question clearly states why, I would like to know why this
is the case with the overall percentage of people employing developers..

------
gunderson
do you know Ruby? let's talk.

------
LPTS
Maybe a degree means you are too willing to accept mindless mediocrity (like
that found in our education system) and no degree (but the same level of
ability) means the person is both autodidactic and unwilling to accept
everyday mediocracies like found in our education system.

So the effect of demanding degrees is one of mediocre organizations (which are
mediocre on account of, for example, routinely doing very dumb things like
using tokens of accomplishment that do not reflect actual accomplishments and
abilities to make decisions instead of doing the hard work of thinking and
taking intelligent risks) reinforcing their mediocrity by selecting for people
who have already demonstrated their ability to be content in a mediocre
system. There are lots of studies that show very little to no relationship
between grades and intelligence or grades and creativity. But organizations
are unwilling to put this scientific knowledge into use.

I would feel more excited about interviewing a self taught developer who was
good then someone who was taught through school, since I value self teaching,
meritocracy and self motivation a good self taught person would display and
despise the kind of cronyism, group think, and gradual relaxation of standards
to the lowest common denominator that schools all too often represent.

If finding the right employer is like finding a needle in a haystack, anything
that takes away most of the hay is good.

~~~
Hexstream
"There are lots of studies that show very little to no relationship between
grades and intelligence or grades and creativity. But organizations are
unwilling to put this scientific knowledge into use."

I think that's the confirmation bias at work. If such an organization learns
that a PhD-holder is real good the reaction will be: " _Well what do you
expect, it's a PhD_!" but facing a successful self-taught person they'd say: "
_How did he manage to do that without a degree? Must be luck..._ "

------
ideas101
the only degree that should matter is the quality of programming/coding a
person can do - a degree certificate, which is basically a paper can not
guarantee the quality of a hacker and his/her skills. The society has become
way too demanding - also supply and demand is off-balance. situation in india
is different than in north-america ... in USA/Canada i have seen that you can
still survive without a degree but in india you just cant survive, in fact
every other person (applying for a job) is a master degree holder -
competition over there is crazy - but there are few entrepreneur who think out
of the box - for example people behind the Zoho.com hire poor students from
the high-school in a village, they then train them and within few months these
high-school students become one of the best developers ... this is a must read
interview "The Smartest Unknown Indian Entrepreneur":
[http://www.forbes.com/2008/02/22/mitra-zoho-india-tech-
inter...](http://www.forbes.com/2008/02/22/mitra-zoho-india-tech-inter-
cx_sm_0222mitra.html)

~~~
xenoterracide
seems like every job (CS or Sys Admin) I see requires a Bachelors, here in the
US which means that almost everyone else I'm competing with has one.

------
ideas101
what are you doing right now? i hope smart people like you are always busy
doing something creative - if possible can u post your email please - i would
like to contact you.

~~~
matthewking
I am currently in the process of launching a new product for my business.

You can contact me at: matthewking [dot] yc [at] gmail.com

------
vaksel
I can see requiring a degree if you want someone from a good
university...Stanford, MIT...that way you know from the get go that you are
getting a smart person.

But in reality neither that, nor job experience really matters. Why? Because a
person can write anything they want on their resume and you'll never know that
they are BSing

~~~
jamesbritt
" Why? Because a person can write anything they want on their resume and
you'll never know that they are BSing"

Unless you pick up the phone and make a few calls. There are many things that
are trivial to check, such as whether someone actually attended a given school
or worked at a given company.

Certainly people can and do BS on their resume and get away with it, but its
not because resumes are inherently unverifiable.

~~~
vaksel
how do you know the phone # someone gives you is their ex-boss' phone # and
not their buddy's

~~~
elai
By looking the company up in the phone book/internet and calling from there.
There might be some cases where endless bureaucracy might get in your way, but
in most, it wont.

