

Do You Really Need a College Degree to Get a Programming Job? - estherschindler
http://www.javaworld.com/community/node/2651

======
grouchyOldGuy
A friend of mine once described getting a college degree as "getting your
union card". A college degree doesn't indicate knowledge or experience per se,
but what it does imply is that person can make a long-term commitment and
complete it. A college degree is a significant investment in money, time, and
effort. Lots of people don't attempt it or quit along the way, so someone that
completes one demonstrates that they can complete long-term tasks.

~~~
extension
3-4 of the best years of your life is a hefty price to pay just to demonstrate
that you can do something for a long time.

This question is asked frequently and I can summarize the ensuing debate. For
any benefit offered by college, or competence that it allegedly demonstrates,
it can be said that:

1\. college doesn't actually accomplish that in practice, and/or

2\. it's not actually important in the real world, and/or

3\. the same thing can be achieved faster/cheaper/more effectively through
self-education/work experience, and/or

4\. it is obviously not worth the staggering investment of time and money.

I rarely see tech job ads that don't qualify the education requirement with
"or equivalent experience" so the people doing the hiring seem to feel the
same way.

~~~
chiffonade
> 3-4 of the best years of your life is a hefty price to pay

Those 3-4 aren't really going to be the best unless you're in an environment
with young girls, beer, drugs, and class, where you get to meet new people.

What are you going to do, get a job instead?

Don't make me laugh.

~~~
extension
In my town, you do all that in high school. By the time you start uni, you
either have peers from school or peers from outside school who you found
because there were no other weird people in your school. There's nothing
special going on at uni and whatever there is is perfectly accessible to
everyone else.

I'd say the connections in my extended social network are 5% through high
school, 1% through uni, 10% through doing random stuff and the rest through
friends. That network provides me with a more or less steady supply of jobs,
girlfriends, cool dudes and assorted adventures. And, it's part of the real,
permanent world and not some expensive fantasy camp that you have to leave
behind when the vacation's over.

Maybe things are different here, but if it works for us, it can work for
anyone, and economics may soon force the matter.

If people want to hook up, get high and party, they'll make it happen wherever
they are and whatever they're doing, so they might as well be doing something
useful.

~~~
rapind
If all you're going to end up with at the end of uni are some good stories,
you can condense the partying to 1 year of backpacking far more efficiently
and cheaply. I personally believe the experience is far superior, and the
lessons learnt more valuable. Depending on how you travel of course.

So imho if you're basing uni's value purely on the social aspect then it comes
up way short. Instead, go travel for a year or three, figure out who you are
and what you're passionate about, then get to it. You're forced to be social
in both atmosphere's.

Compare a four year degree to two years of travel and two years work
experience in your chosen field. Which do you think has the edge?

~~~
chiffonade
> Compare a four year degree to two years of travel and two years work
> experience in your chosen field. Which do you think has the edge?

With the right school, you can do all 3.

------
walesmd
Absolutely not. The closest thing I have to a degree is a few credits towards
my Community College of the Air Force degree (an Associate's).

Being involved in the open source community and being a wealth of knowledge
surrounding your field is more than enough.

My interview went smooth as possible as I simply talked about my past and
present projects, throwing in terms like "SVN," "jQuery," and "semantics." I'm
not saying sprinkle your keywords around but why wait for the interviewer to
ask the question - tell him right off the bat and just let him check that item
off.

For me: 6 years USAF experience in System Administration, wonderful letters of
recommendation from my Commander and Vice Commander (a 3-star and a 1-star),
leadership positions within open source communities in my field, and an
apparent knowledge of not only my specialty (PHP) but the surrounding
technologies (web servers, version control, database management, Python, Ruby,
etc.) landed me a Senior Developer position with the largest contractor in US
Defense.

My family and I live a much happier life, I am less stressed, don't have to
worry about deployments and our take-home income is three times what it was
two months ago.

~~~
kingkongrevenge
How many people from the services do you know who have gone on to well paying
non-Defense jobs? I get the impression that the enlisted route you describe is
very often a lifelong commitment to the defense industry.

In case you didn't know, working for a large defense contractor is very
different from most of the "real world."

~~~
ww
Count me as one from the 'services' that has gone on to well paying non-
defense job(s). But you are correct in that it doesn't happen often. At least
not without getting a degree somewhere along the line.

------
HeyLaughingBoy
Do you _need_ one? Obviously not. Whether or not you should have one is a
different question.

The best answer I've seen regards professionalism. We require degrees from
doctors and CPAs and passing the bar for lawyers not because it's a guarantee
of quality, but because it indicates that the person has a certain _minimal_
level of understanding of the field's Body of Knowledge. Having that knowledge
means that they are less likely to totally screw up and they have a rational
basis for finding a solution to whatever ails you. Requiring a degree in CS,
SE, or EE (I don't see the point of requiring a degree if it's not directly
related to the field) does exactly this.

Of course, the argument then becomes should we be regarded as professionals or
"just" programmers & hackers...

Disclosure: I have a BS in EE and an MS in SE and once seriously considered
becoming a registered Professional Engineer (PE). I'm also a card-carrying
hacker and I disagree with the article.

~~~
SamReidHughes_
> Requiring a degree in CS, SE, or EE (I don't see the point of requiring a
> degree if it's not directly related to the field) does exactly this.

But it doesn't. There are plenty of people with CS or SE degrees that lack a
minimal level of understanding. Even with a terribly lenient definition of
minimal.

I'm talking about people who get through 4 years of a decent CS program and
would vehemently insist that "array" is an exact synonym for "linked list".

I'd say that the benefit of a CS degree is weaker -- just that it brings
forced exposure to important topics, so if you have two people who are smart,
the one with a CS degree is going to be more well-rounded. The thing is, you
usually don't get to decide between two smart people when hiring. And the CS
degrees that are around don't seem to reduce the risk of bugmaking.

~~~
HeyLaughingBoy
Having had a lab partner who in Senior year EE couldn't do even the most basic
things, I sympathize with you. But you need to consider what that person knows
"as a whole." I've found that if you take the time to talk to graduates who
were poor students that they do have a basic understanding of the subject
matter, but there are gaps. The gaps tend to be most noticeable when they're
really simple things, which I think is the point you're making.

Contrast that with someone who has say, a History degree who happens to be a
good programmer. That person's expertise tends to be in one narrowly defined
area and when taken outside that range he does badly. I'd rather hire someone
who had promise to be reasonably good at anything I threw at him than amazing
in one aspect and weak at most everything else.

I don't know where you work, but the people who make it through both our HR
screen and the technical phone screen and end up in front of me are generally
pretty bright. We normally weed people out for teamwork/communication skills
rather than technical ability.

~~~
rapind
Next time you turn down someone with a History degree that has become a coding
expert in a narrowly defined area, please send them to me so we can
collaborate on something that rocks in another narrowly defined area.

------
jlees
It works the other way around, as well.

With a college degree in Computer Science, I had a world of trouble finding a
job that _wasn't_ programming. I'd apply for different jobs and inevitably end
up on the 'CS major' pile on some recruiter's desk. Grr.

------
xenophanes
I don't have a degree. Hasn't been a problem for getting work.

Instead of spending 4 years on a degree, spend 1 year learning just as much or
more on your own, and then spend 3 months creating a couple good demos, an
interesting resume, researching some companies you want to work at, and
writing some good cover letters when applying.

~~~
rapind
I'm in the same boat. And to be honest, this problem of asking for a degree is
not really our problem. I personally consider it part of the filter on
potential employers. If, as an employer you're not knowledgeable enough to
realize this for such an important position then I don't want to work for you
anyways. It means I'll be surrounded by peers that aren't in it for the same
reasons, and I probably won't have any chance to move up based on merit.

Not because I believe having a degree means you aren't a good programmer.
Degree or not, I just don't trust it as an indicator of skill either way. 90%
of the headhunter's I've run into in the past have no coding background
themselves... so why would you entrust them with something so important to
your business? You could be scaring off some really great candidates. To me it
says your company really doesn't know how important the position is.

Granted it's often difficult for very small companies with limited technical
resources to make the right hires, but if it's an attractive business and / or
great environment we'll find you. Just don't turn us down because we do or
don't have a degree. It doesn't mean anything.

Granted I'm not a superstar coder, but I'm very passionate about it and work
very hard. I can figure out how to do most anything I'd need to for a job. A
degree wouldn't change this in the slightest.

If I thought a degree would truly would benefit me as a programmer, then I'd
probably go get a degree for higher learning purposes... and not because the
job market supposedly requires it.

------
TomOfTTB
In fairness it depends on where you want to go. If you want to work for a big
company like IBM, Microsoft, etc... you probably need a degree (though
sometimes these companies skirt their own rules by hiring contractors)

But as far as other IT companies I don't think it's necessary.

Honestly I have a degree and if I were looking for a job right now I'd use a
degree requirement to determine where not to apply. Because that, to me, says
that the company is run by "managers" who don't understand the first thing
about programming.

John Carmack's a dropout for God's sakes. That alone disproves just about
every "devil's advocate" argument given in the article

------
biohacker42
Nope, but having a degree makes it easier.

If easier (for varying values of easier) is worth your time and money is up to
you.

~~~
bmj
If you have a network of people who can get your foot in the door for a job,
then no, it's not a necessity. It would be very difficult, though, to get past
most HR screening without some sort of degree on your resume.

------
PonyGumbo
I have a degree, just not one in computer science. I'm self-taught, and
although I've been doing this for a long time, I still occasionally freak
myself out when I start to think about what I might have missed.

------
mikeryan
Development experience on a relevant platform will pretty much always trump a
degree in my hiring experience

That being said, I don't have a CS degree but have made my bones for the last
10-15 years in some sort of developer role. The thing I can justify that a bit
because when I started building websites they we're usually some sort of
static site, Java was in its infancy and database driven websites were a few
years off. A large bulk of what modern day programming (particularly on the
web) consists of was still being developed and I could learn these skills as
they rose to prominence. I could pace the growth of the technology, grow with
it without too much trouble. There's a whole generation of developers in their
mid to late 30's who are in this boat. I'd hire a bunch of these guys in
heartbeat and I'll pay them pretty well.

Now in my current role I'm hiring junior developers fairly regularly. In this
role where I'm looking for guys who are younger, smart and capable but who I
don't want to pay a ton of money for. If I'm looking for a guy in their early
20s for a junior role I look for 2 things, a CS (or sometimes EE or CE) degree
AND experience building something on their own. I've gotten a few guys through
who started coding on their own in late high school but a lot of times they
don't make the cut. In this case you don't need to have a CS degree, but just
to leap the recruiters hurdles you better have one.

~~~
rapind
Mid-30s here, and I'm with you completely. I remember when I was in school I
was pretty bored with what was being taught, however a couple things
(specifically database theory) got me revved up and I kinda took off on my
own. Acing my classes without attending them because I was busy building the
department's intranet (none of the professors knew what an Intranet was until
I explained it to them).

I dropped out one year before completing my program. Which is kind of funny
because it really wouldn't have taken any effort. Instead I was chomping at
the bit to work on this new and exciting back-end web stuff, so I went and got
a contract job with a small webshop who didn't really understand what I was
doing either at first, but we did some great work and had some great success.

My profs were great because they realized I was on to something pretty nifty
and tried to make it easy for me to pursue it. They also tried to learn some
of the stuff I was learning (I was teaching them in a way). In the end I think
both sides benefitted from it.

~~~
mikeryan
Okay funny, not sure you'll ever see this but, I just followed your profile to
your site to linked in (curiousity thing).

I think we might have crossed paths once, I was the lead ITV engineer at
TechTV doing an Interactive IO Portal for CableVision that Extend designed.
Worked mainly with a woman dev who's name I can't remember right now.

------
hypermatt
First few jobs it can certainly help, but really once you have a couple years
of experience you don't need it. I've been doing fine for the last 10 years.
So latch onto a small shop and get good ;)

------
jacoblyles
It certainly helps to get your foot in the door.

------
umjames
Overall, I would say no. I think a developer who spends more time actually
developing is better off than one who only studies about the theories of
Computer Science and doesn't really ever apply the knowledge they acquired.

That's not to say Computer Science is useless, but your time in college is
better spent doing more than the minimum requirements for school (doing
homework and passing tests). Otherwise, you'll have a harder time trying to
get "work experience" with your first job after graduation when you could have
given yourself plenty of experience with your own projects.

------
zmimon
You don't _have_ to have a college degree but unless you have experience you
will face a significantly higher barrier to entry in getting a job without
one.

The question will always, be, if you are really such a kick-ass coder and love
programming so much, why didn't you go and study what you love at college? If
the answer is that you couldn't be bothered or you already know everything
there is to know so it would be a waste of time etc. then it indicates
something possibly highly problematic about your personality, like an arrogant
or lazy attitude.

~~~
rapind
For me it was a matter of efficiency. I have a natural dislike for
inefficiency. Why would I go to university for 4 years to learn something I
believe I can learn on my own in 1. Maybe I'm wrong about that, but the
educational resources available outside of institutions nowadays are
incredible.

I also learn so much faster by _doing_. For me personally, there's not enough
_doing_ in university. I imagine there's quite a few similarly minded coders
out there. Maybe it says were arrogant? Too cool for school? Most likely. But
I get along with most people socially, and also have no problem buckling down
to get a job down. In fact I get very focused when I work. I just never
learned very well in the typical school environment.

That said, I think programs with internships could be extremely valuable
though. A mix of theory and practical has win written all over it.

------
aardvark
A degree will help you get your foot in the door if you're looking for your
_first_ programming job. Once you've got some real world experience, that's
going to be much more valuable than what you might have studied in school.

A lot of places (especially smaller companies, in my experience) are more
interested in seeing examples of your work, even if it's a web page you
designed or an open source app you've contributed to in your spare time.

------
bkbleikamp
No.

Some of the best developers I know either A) Never went to college for B) Went
to college and majored in English or Classics and taught themselves to code.

------
mortenoffline
There is one mantra about college / university that is pretty true: "learning
to learn things fast"

but that does not exclude people without a degree, and does not include
everyone that vent to college

------
noodle
nope. i'd hire someone without a degree if i had the need to hire for my
company. hiring should be about the person. a degree is a very good measuring
stick, but there are other ways to measure out there.

plus, as someone who has a degree, i know comparatively little about real-
world development you learn simply from your classes.

------
jdelsman
No, you don't.

------
theman1
No but I guarantee you that the phds get to stay during a recession then the
non-phds who are expendable.

~~~
ewjordan
That's not assured: phds are almost always paid significantly more and tend to
be more involved in R&D projects than day-to-day code grinds, and depending on
how short sighted the company is, R&D is often the first group to see
cutbacks.

It's not all that uncommon for a company to simply look through their rosters
and pick off the highest paid non-essential personnel (for certain values of
"essential," which usually put middle management above R&D) to get rid of.

Of course this largely depends what kind of work you're doing, so YMMV.

------
ams6110
To get a job? Yes, especially if you're entry level. To start your own
software company, work on open-source, freelance, etc. probably not.

