

Ask HN: Is a CS degree necessary?  - bombn

I'm a student at a good California university, but I am having trouble staying as one.<p>Throughout school I've had ADD pretty bad. As long as I can remember my teachers basically told me I underperformed grade wise for my intelligence. College has been no exception, and as it goes on things keep getting harder. Initially I was a computer science major, but my GPA turned out to be just barely too low so I have chosen to pursue a B.S. in mathematical sciences, which I figure is applicable in CS. I'm now in summer session to catch up and will be going into my 5th (I took some time off last year) year. I still have a serious uphill battle ahead of me before I get any degree at all. This is assuming they let me pursue the math degree.<p>Now, I am a good programmer. I have a great internship at a startup in the area which is really taking off (SaaS in RoR). I can best just about anyone who has actually graduated from the CS program at my school in an interview, and on the job, I just don't have the degree. I know a whole lot of good people in the industry, and I've got beaming recommendations from anyone who's ever seen me program.<p>I love everything about programming and it just makes sense, which is probably why I can spend some much time on it despite my concentration issues. I love to learn about new technologies, and how to solve the often intricate problems which present themselves in CS. Almost everything that I know is self taught, from about equal parts of reading and hacking around with things. I know I am good, and I want to be great, but every time I get my grades back I am discouraged.<p>What I am looking for is some advice. I know that a degree is an important thing to have in this day and age. Should I keep working towards a degree that I only partially want? Or should I try to go elsewhere (possibly a lesser school) to get the degree in CS? Would I be missing a lot of the fun stuff (like compilers and OSes) if I continue with the math degree? Is it possible to jump onto the computer science carrer path with the experience that I have? If so where should I begin? Should I ask the startup I'm working for if they would take me on full time? Anyone hiring?<p>Thanks in advance
======
gexla
Hiring: Yes, lots of people are hiring.

Degree requirement: You don't need a degree but more options will be available
to you if you have one. There are still a lot of places where having a degree
is a requirement to get into the door.

Degree type: For some places, having any degree would satisfy the requirement
to walk in the door. Some places may require a CS degree. It all depends on
who is doing the hiring, they can ask whatever they want. Check job ads to get
an idea.

Missing out: You won't be missing out on anything you don't want to miss out
on. You don't need to take CS to learn the things a CS degree would teach you.
If you want to play with compilers, then play with compilers, you don't need
to do that in a classroom.

Other Notes: If you are close to being able to complete the degree, then it
would be a shame to drop out. However, some people were just never meant for
school, and those people should recognize early that school is not for them
and quit wasting the time and money. If you aren't anywhere close, then it's a
toss up.

Being forced into alternate options due to bad grades is unfortunate, but if
you were to find yourself in a position where you couldn't even continue on
the Mathematical Sciences track then you will have to make hard decisions.
Going into something such as business might not be a bad option if you could
make that switch. Otherwise, as you mentioned, you would likely have to find a
different school for CS.

Important! School is ultimately work. You have to manage your time, your work
load and be able to focus on many different tasks thrown at you. You have to
do much the same in the real world of work.

I had the same sort of problems in school as you are having, but I later found
that those problems didn't go away when I left school. I now face the same
challenges daily as a web developer as I did in school. Some projects are more
fun and aren't as much of a problem. Other projects are a lot of drudgery and
I really have to force myself to work on them. Had I known then what I know
now, I would have either skipped school completely rather than waste the time
and money or I would have done whatever it took to get through it just as I
have to do with my work.

If you have what it takes to get through a large and complex development
project, then you probably have what it takes to get through school. In a
perfect world, you shouldn't have to do anything that you aren't interested
in, but life doesn't always turn out to be that perfect. Do your best to
identify the reasons you are doing terrible in school and try to figure out a
way to defeat them as you will likely need those skills later in life.
Programming is a lot of finding solutions to problems, try applying that
problem solving to school.

Good luck!

------
patio11
_Throughout school I've had ADD pretty bad._

Your school almost certainly has someone who can tell you whether that self-
diagnosis is likely to be accurate or not, and if it is accurate, there are
treatment options available which have been lifechangers for some people I
know.

Someone with demonstrable programming skills who has a bachelor's degree in
just about anything is in a pretty good position in life. People at
universities care a lot about what the exact wording of your degree is. You'll
find that that is considered fairly eccentric in the real world.

I strongly suggest that you do not drop out, though. Among other things,
dropping out suggests you're incapable of accomplishing clearly advantageous
things if you're the least bit challenged by them, since we give degrees to
basically anyone with a pulse. People probably can't legally not hire you for
being ADD, and in our industry a certain attitude with regards to follow-
through does not make one all that much of an outlier, but "cannot get stuff
done" is a bad place to be.

P.S. You may already know this, but if you haven't figured it out already, "I
am ADHD" is something that it makes very, very vanishingly little sense to
broadcast, regardless of whether you have been diagnosed with it or not.

~~~
bombn
I didn't mention it but it is diagnosed by a neurologist in 2006, and I am
meeting with someone at the university tomorrow for an evaluation with them to
see what options are available to me there.

I hadn't thought about the stigma of being a drop-out so much. Thanks.

------
ceci
I didn't read computer science. So my advise will be general in nature. If
you've have gone this far already, i will advise, you try and finish it.
Unless you intend to launch your own stuff since or are happy to work with
only startups, otherwise get the degree. Also if you are sure that at the
psychological level it won't affect you impression of who you are, then you
can skip it. The richest men in the world do not have degrees but they are
entrepreneurs. So if you won't finish the degree, do you own start-up, working
for another man's start-up is fine until you get layed off or it tanks.
Investors can push you off managing a start-up where you are a co-founder if
it takes off, but your stock remains. So you don't loose out in thesame manner
a sacked employee does.

But then if the startup you are in succeeds and you are still with them at
that point,then you you might not need a degree. But the time it would take it
to succeed is sufficient for you to also finish your degree. My advise keep
combining both. Switch to maths since you are already a good programmer and
have done CS for a number of years.

On a final note, a degree doesn't guarantee anything but could be a fall back
position if everything else fails ie startups, consulting gigs etc. A degree
only gives you the possibilities to live an average life. No guarantees to a
good or fulfilled life. So understand its worth.

------
CyberFonic
Well you asked for advice ... I would suggest switching to a CS degree because
(1) you seem more interested in that than maths; and (2) it is a more 'useful'
qualification given your aptitude.

You don't need a CS degree to be a good programmer, but given two good
programmers one with a degree and one without, I would hire the one with the
degree. Just like I prefer to go to dentists, doctors and lawyers who have
good degrees and lots of experience.

