6 ms·
Ask HN: Is a CS degree necessary?
I'm a student at a good California university, but I am having trouble staying as one.
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.
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.
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.
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?
Thanks in advance
- patio11 16y agoThroughout 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 16y agoI 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.
- gexla 16y agoHiring: 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!
- ceci 16y agoI 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 16y agoWell 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.