For those who do not have a CS degree, has it negatively effected your career? Has anyone pursued work that required a CS degree and thrived in spite of not having one?
I ignored a job advertised in the paper once because it said it required a master's in CS. I had a bachelor's in mathematics. The job was for a Unix kernel and system hacker at a company making Unix workstations. This was around 1984, when Unix internals experience was not widespread.
Several months later, a headhunter sent me to interview for that job, which was still open because they hadn't been able to find anyone with the necessary Unix experience before I applied.
I got the job.
They could have had me several months earlier, and without having to pay several thousand dollars to a headhunter, if they had not stuck on that requirement for a master's degree in their ad in the paper.
I don't necessarily agree with the practice, but the argument I've heard is that if you only want people with a Bachelor's or higher, you have to say that you want a Master's.
What do you think the reason for that is? That those people without a bachelor's degree will be really discouraged from applying if you state that a master's is required?
Probably because, so often, it really doesn't mean anything. This phrase is usually put there by HR departments; most hiring managers couldn't care less about an applicant's (lack of formal) education if the person can actually do the work, which, in computer science, is a lot of people with no degrees.
I frequently get asked why I didn't do Computer Science as a degree. Before I even left school to go to University (I'm British) I was already running my first startup. (I was 16 and it was game hosting company. I peaked off at two full racks worth of physical servers (several hundred virtual servers)).
At that time in my life, it wasn't even possible for me to have a computer science degree so this startup clearly wasn't affected.
It was around this time also (when faced with the prospect of wanting to go to University for a degree) that I look around at all of the courses available to me and did some research on what I wanted to do.
I really didn't like the look of a single CS degree. I was only really interested in the web and most courses which had any focus on "web technologies"/"the web in general" were so outdated. I didn't have anyone to ask for advice so I figured I could probably learn everything I needed to by hand. I still wanted a degree so I picked a degree which I knew would be well regarded for my entire life. I don't regret that at all.
The only gaping holes in my knowledge which I wish I could fill in, would be advanced maths, some cryptography theory and general algorithm knowledge.
I wouldn't say that I've suffered one bit by not doing a CS degree. The startup that I'm working on has applied to YCombinator and I've build up everything I've needed to through self taught work.
Clearly, depending on the field you want to go into, my path might not work for you, but I've not suffered.
Wow, your story is very familiar to me (without the successful startup, sadly!). I'm British too, and simply found all the options available to someone interested in the web severely lacking. I'd done a couple of years of building websites for small businesses and such, and I was pretty much ahead of everyone I could find (admittedly I was from a fairly sleepy area).
I ended up joining a course but dropped out after less than a month; the first sign that it wasn't going to work out was at the initial interview where someone said "You've done some web work I see? I bet you'll be able to teach me a thing or two!" that person was the head lecturer.
Algorithms, advanced maths, and cryptography are also the areas I feel I lack.
All in all, I don't think I've suffered in the slightest either. Finding the first job was probably a bit tricker, but in hindsight I've had an additional 3/4 years earning good wages than those people who did do the degrees. I'm not strongly opinionated as to whether they're worthwhile or not, but I don't believe I've been negatively impacted by it.
I have thought a few times that the traditional style of education simply isn't applicable to some people; I was never very good at school, but flourished once I learnt how to teach myself what I wanted to learn.
to fill those gaps. I've taken both classes at my university and have learned more in the first few lectures of these free online classes than I learned all semester at university.
I did a minor in CS, and was blocked from taking algorithms coursework due to budget cuts. I read Cormen's Intro to Algorithms last year, but coursera's algorithms course has been amazing for filling in gaps in my knowledge. I absolutely recommend it :)
If you'd like a copy of the assignments I can send them to you.
My guess is that they'll iterate over the material and open again next "semester." I'm at a loss as to why they're still operating under "semester" paradigms. Will likely be removed after a few iterations of the course.
I would very much appreciate a copy of the assignments. My email is in my profile (I'll happily use whichever transfer method is most convenient for you, of course - gist, etc.)
I spent most of my time where I had to the choice of study on intellectual property. If in 5 years time things don't work out for me, I would have just one year left to qualify as a solicitor.
But saying that, I have at least 10 years worth of startup ideas so the liklihood of that is looking pretty slim!
I spent 5 years in a Computer Science & Engineering degree before I dropped out due to not having passed a single maths/calculus course (50% of the credit). I passed all the computing courses, I just don't have the head (and patience) for maths.
Contrary to many reports here, I found my time at uni quite rewarding. My professors had ties to local businesses (Ericsson/Sony Mobile) keeping the coursework relevant (one course actually covered programming in a team. 8 hours solid every Monday working in a team competing with other teams against a "customer", using XP methodology, pair programming, source control, the whole hog). I learned things in algorithms courses, optimizing compilers courses, networking (build an HTTP server device from MAC up), circuits (build a programmable computer on a breadboard starting with just a pile of transistors and working up, including all the boolean logic/karnaugh maps)
The only course that was out of date was web programming. Seemed like it was from the late 90's, teaching neural networks and agents and things.
No CS degree (B.Tech in Biotechnology). My very first job (in 2005) was as the System Administrator of my college, which was normally filled by CS undergrads. They had this supposed unbreakable new faculty portal and several CS profs and students had vouched for its security. Fortunately for me, the outgoing admin had not heard of SQL Injection and I basically showed that you could break into the system. I became the admin, which helped me land a programming (SAP, IT Services) job and 4+ years later I started my own mobile apps startup.
I had pretty good growth when I was working for the big firms, so it did not affect me there. However, after starting up, I find that I really wish that I had some formal education in CS. It bothers me that I might be coming up with really inferior solutions to certain common problems. But my hands are a little full right now. Some day, perhaps.
While having a degree in CS by no means guarantees this, I feel it has made me a better programmer by forcing me to learn theory behind things I would probably have otherwise ignored. Not every job needs this understanding, but the lower level you work at, the more you need it.
Also, the contacts made can of course be very helpful. That's what got me my current job. These can also be made elsewhere, but it's easy to be surrounded with lots of other CS people when you're in school.
However, if you're motivated and a good self-learner starting out, I don't think most places care where you got your knowledge once you've had some real world experience.
Dropped out out of frustration with ridiculous emphasis on calculus and extremely poor algorithms teachers. I don't regret dropping out, I regret wasting a couple of years fighting that.
But almost 15 years later I now find algorithms teaching in top universities completely out of touch with reality. Hardware changed drastically in the last decade and it seems they just gave up. It's turning into a cult of big-O theory with even tournaments with problem sets specifically picked to validate the books. Don't you dare point them to real algorithms, you'll get booed in a sec. This becomes worse in places like Google or fields like AI.
It's very sad, I'd love to see somebody taking the torch and teach concepts based on reality (measuring). Like they did back in the 60s. Mainstream sucks nowadays.
You dropped out of college because of a "ridiculous emphasis on calculus" yet you are able to track and form opinions on the quality of "algorithms teaching in top universities"? I doubt it.
I like calculus and math in general. But undergrad CS emphasis should be information theory, algorithms and discrete mathematics. They never used calculus to analyze algorithms, not even once. I've only seen it used on books (Knuth or Rivest et al.) In the majority of universities CS is still dominated by the same teaching body from math or engineering.
Since now we have videos of classes at top universities, there's no benefit of the doubt anymore.
I admit my comment was harsh, but not ad hominem. It was a statement of fact: given your background as you laid it out, I would not trust your judgment about the quality of algorithms instruction in any university. If you offered me an appraisal of how well some university is teaching algorithms, I would seek a second opinion.
Calculus and other basic math is just part of general numeracy and a university that failed to teach it, even emphasize it, is a failure, or a trade school.
I really respect your decision to drop out. I am a senior and I decided to take my last semester off and do a long internship. I am lucky to have found a good company, but that fight you had is still going on in my head. Most of the problems I solve at work are new to me, and nothing from my university is relevant, including the algorithms class. For instance, I have never used git in school. In fact, nobody has even mentioned it. Just think about it for a moment. How important is something like git or its equivalents, as compared to outdated theory bound knowledge?
Sounds like you guys should have gone to technical school or majored in CIS or something. Learning how to use version control is not in the scope of a Computer Science curriculum.
It would not kill anyone to offer one class, just 3 credits out of the 120 in an undergraduate career, about the practice of creating software. FWIW even my CS minor (30 credits) had such a course.
The course was structured around a single group project. We were assigned to a "customer" in the department, and we were responsible for soliciting (and formalizing) requirements, developing a design, implementing it, and testing it. Revision control was not optional, and we were taught how to use it. Our grade was based upon how well we completed the task, how well we presented ourselves to the instructor and "customer", and how we were assessed by our fellow teammates.
No one suffered any loss to their theoretical background, the universe didn't explode, and everyone left the class a better programmer than before. Since a CS degree is still, rightly or wrongly, considered the sole requirement for many programming jobs, I think it was time well spent.
One time I showed my 1st commercial web system to a teacher and he was so quick to say 'but this is not CS' it was sad.
I never said it was supposed to be CS, I just showed the system... His response had nothing to do with anything... His words were just a quick self-defense he seemed very used to use, in a pretty destructive way.
It took me some time to know University was doing no good to me, but now I'm past detox and I'm glad I dropped out.
I don't care if 'it is not CS', I learn whatever it takes to build awesome stuff.
Actually it should. Else those team projects would not make sense. I was asked to work in teams repeatedly, and I see this recurring in a lot of classes I stumble upon on the web. Try it yourself, pick a popular computer science class that gives the students the ability to work in teams and try to find a reference to version control.
This. There is a difference between learning to use today's cutting edge technology, and learning the principles that will enable you to build tomorrow's.
One of the reasons I dropped out was also that the people there were out of touch how things worked "in the real world". It was just the same curriculum as it had always been (minus the things that were cut to appeal to more students who otherwise couldn't cut the mustard).
I was legitimately afraid that I would waste my time on things that would largely be irrelevant outside academia in the sense that I had to factor in a couple of years to learn how you realistically work and create something of value.
Algorithms are such a goddamn exciting subject, and it's a shame when someone manages to make it boring or unintelligible. I'd love to have studied CS at a good American university, but with visa rules and the slim chances of admission to a good college, I guess I have to find my own way - even though getting a work visa is probably going to be semi-impossible.
Let's assume for a moment the majority of nosql supporters are CS dropouts. That doesn't say the majority of CS dropouts are supporters of nosql. You are falling for the base rate fallacy. That's exactly the kind of highly relevant concepts I've never seen taught for CS. Thanks.
While we are at it, probability theory should have a much stronger emphasis than calculus for CS. It's only seen on graduate CS on most universities. In my uni, we had 2.5 years of calculus and a miserable .5yr stats/probability course, wich was mostly stats and it was one of the less emphasized subjects. Why is it like that? I bet because engineering (and mainstream math) focus is somewhere else.
Degree in Computer Engineering. 5 year program covering how a computer works inside, culminating in designing ad building your own computer from scratch (I mean literally from scratch, just wires and basic AND/OR/NOT gates) to make a Von Numen like architecture with a basic (also from scratch) OS. I definitely learned more practical stuff from that to help me in every day software design than I would with a CS degree.
Most university engineering departments were torn between creating a new discipline (Computer Engineering) versus keeping the original Electrical Engineering designation and allowing students to take elective CS courses.
It seems like such a trivial issue since most universities (I believe) now offer the distinction, but 20 years ago you would probably have been joining the 'young' Computer Engineering discipline. As an interesting data point, MIT still classifies the program as the "Department of Electrical Engineering and Computer Science"[1]
I graduated high school in 2009, went to college for a year, decided it wasn't for me. Dropped out, wasted a couple years before realizing I loved working with computers. Moved half-way across the country and started reading Craiglist. Got a job as the sole web-developer for a web-to-print company. I am doing interesting web development work right now and I'm loving it. I've finally found my start in this industry. I'm still young, but I can't see there being that much value for me in getting a degree. I'm ready to go, I'm ready to dive in and build stuff. I don't see any reason for putting on the brakes.
I don't have a degree at all, but I have been programming since the age of 9, completely self-taught. At first I found it difficult to find employment, but with enough work experience, degree or lack thereof no longer even comes up. The degree is a huge boon to getting your foot in whatever door you're looking at, but once in, suddenly becomes more or less irrelevant. However, this being said, I'm 37 and have been programming for what feels like forever, so my market entrance in the 90s may not parallel someone today. It may be more or less difficult; I have no idea.
Out of high school I went to pursue a Computer Science degree because I wanted to be a programmer. First year was a lot of math, calculus and the like. First year computer science courses were kinda cool and fun, they used Scheme, a functional programming language to teach concepts.
I kept telling myself though, that upper year would be more programming/cs and less math. Boy, was I wrong. Upper year "computer" science is as far from computers and academically possible. Before dropping out I was able to claim that in my previous 5 "CS" courses only 1 had anything to do with programming.
The professors loved their theory and academia, and while all well and good, I wanted something more applied, or real, to relate to the real world. No professor ever tried to relate some combinatorial concept to anything happening in the real world today, which made me a very depressed student.
I finally decided (after sleeping on the decision for almost a year) to drop out and pursue a "Computer Programming" course at a Canadian college. I'm currently doing some pretty rewarding (both financially and experientially) contract development work for a local company while I wait for the College classes to start in the Fall.
Dropping out may not be for everyone, but if you realize that what you're studying isn't what you want to do, it might be time to shake things up.
I had 3 courses for basic python, java and haskell in my first year. In my second year we were assumed to know how to use basic C, and were taught some basic assembly as a small part of another course. Third and fourth year, we were expected to use (not taught) basic C++ and advanced java. Not listed are several less popular languages which were used but not taught for other courses.
I think I would have enjoyed more programming courses, but I wouldn't have learned anything particularly useful.
I feel like a CS degree based around learning programming languages would be a huge waste of time. Languages are what you should be able to pick up very quickly on your own. They are just a tool. It's more important to understand the concepts used in computers and software. Plenty of people learn programming languages as a hobby, or as a teenager, etc. A CS degree has more to offer than that.
Similarly, getting an art degree isn't about learning how to use photoshop.
I do wish you wouldn't use quotes around "CS" so much.
What you were studying is exactly what computer science is.
I agree it's probably a bad name for it. Maybe "computation science" would be better.
Somehow people have this idea what "computer science" and "programming" are the same thing. It gets on my nerves a little. They're both interesting and important disciplines, but miles apart.
Also, if your professors didn't relate things back to the real world, that's a shame (and I would say a failing on their part). Lots of computer science concepts/techniques are useful for real world things.
"Computer science is no more about computers than astronomy is about telescopes." - Edsger Dijkstra
The name of the field misleads a lot of people into thinking that CS is only about programming, but it's way more than that. Personally, I think all of my CS background from university is what distinguishes me as a software developer instead of just a "programmer".
> Personally, I think all of my CS background from university is what distinguishes me as a software developer instead of just a "programmer".
I consider myself a software developer because I work on the software from top to bottom. From business requirements, to user interface and usability design, to architecture and algorithms. Someone who is responsible for all aspects of code, but not other areas of the application's development, is a programmer to me.
It's funny how all these labels we throw around in the industry have no generally accepted definition.
I think 'Software Engineer' is thrown around too often.
That title should be reserved for those who pass (a currently nonexistent) certification like other professional engineers, and indicates that they are capable of working on life-critical systems like car software, medical systems, space shuttles, etc.
Unfortunately startups and web/mobile app companies may abuse this and require engineering certification for job openings when it's just unnecessary.
The University of Waterloo in Canada.
Great school if you really love math. But like I said, too many of my professors didn't make the slightest effort to relate the theoretical concepts to the real world.
But I wish I hadn't. If I could go back, I'd do a degree in maths. It underpins everything and I always find myself hitting a maths wall (except in studying natural language).
agreed. i have a philosophy and cognitive science degree, but have several yrs of programming, data mining & machine learning experience; haven't ever really had a hard time getting a related job.
I'd already done some commercial software products by the time I was going to college, and in my youthful arrogance decided CS had almost nothing to offer, and went with Electrical Engineering (Analog and Mix-Signal focus), and pick up a few CS courses that seemed interesting. Overall I'm pretty happy with the decision. I've done a wide mix of PCB design, FPGA design, and software from the kernel level up to high-level Java/C#/Python code. I couldn't say if it was a good career choice, but I do well, and really enjoy the variety of projects I get to work on.
I have a traditional, theoretical-focused CS degree, which I followed up with a more practical CS master's and half a PhD in natural language processing. I dropped out of the PhD to do a startup.
I do not currently program for my job - I'm a product manager - so this is a counterpoint to the "no CS degree but I rock at programming" responses. I'm actually a mediocre programmer, but an excellent improviser and duct-taper.
However, I absolutely loved studying CS, especially the more theoretical parts, and even nearly ten years later, there are odd things that turn up that make me happy I studied CS rather than sticking with my original plan of maths. (for example a recent foray into compiler design, and a sidetracked conversation about memory, both of which were topics I hadn't touched as hobbies since my undergraduate years but which I had some base, stored-away knowledge of).
Perhaps I took the shortcut and self-teaching would have resulted in the same long-term results (except the whole immigration process, which was greatly expedited by my career-relevant Master's). I do wonder, however, if lack of role models and environment would have become an issue if I were slogging it alone. At university I had a fantastic mentor and a great environment where I could delight in logic and systems without worrying about anything else - employability, chromosomes, the real world.. ultimately, that latter was the downfall of my PhD.
Was in a Computer Engineering program but wound up dropping out due to a bout with clinical depression. The school was a big state school and poor fit for me anyway. I don't do well in 3000-student lecture classes with no personal connection to the teacher.
My mom still wants me to finish a degree someday, but at almost 32 years old my work experience is worth a lot more, and I'm pretty sure any company that wouldn't hire me due to lack of a degree is not a place I'd be very happy at anyway.
I too am currently having the same problem. I am attending a very large state school (over 40,000 students) and I am struggling to connect with people. I also have severe depression and OCD which prevents me from getting things done. I feel very disappointed in myself and in my life because I was having high expectations about how awesome college would be after a crappy high school experience.
I'm sorry to hear that. It was a genuinely terrible phase of my life, and caused a lot of personal re-evaluation for me.
I actually adored high school. There were 330 people in my graduating class. I graduated third, only a sliver of GPA away from salutatorian. There were 6 National Merit Finalists in my class (including myself) and one of the things that always drove me to excel in high school was the sense of competition with my very intelligent peers, along with the support of some amazing teachers who actually cared about us and would be actively disappointed when one of us didn't live up to our potential. Many of my advanced classes in high school were very small. We had 12 people in our AP Chem class.
Then I got to college and I was just another number. I lost my peer support group and any meaningful feedback on my work from my instructors and with it, my motivation.
Until that point in my life, I'd always had my sense of self and identity tangled up with academic achievement. I was a "smart kid". Doing poorly in college didn't just feel like a failure to get a particular grade, it made me feel like I was a failure as a person.
It took me years to get over that. In fact, I'm not 100% sure I am completely over it. But at least I don't let it consume me anymore.
You're more than your grades, you're more than college. There is so. much. more. to any single person than a single facet. If you think you'd do better in a smaller school, try to transfer before it's too late. Or if you decide that college isn't for you, don't beat yourself up about it. You can still well, especially in technical fields where skill is more important than a sheet of paper.
And get help for the depression, if you aren't already. I spent about a year on Effexor (and Ambien for the crippling insomnia that piggybacked onto my depression - it was terrible, I used to get auditory hallucinations of alarms clocks and phones ringing in the distance) and it truly made the difference. True clinical depression is a chemical blackhole in your own mind, and the drugs can give you the foothold you need to find your way back out of it.
I feel like I have to get good grades, work research projects, and develop good relationships with other students, TAs, and professors in order to become better. I find it hard to relax because I feel like I'll be mediocre and end up working with third-rate soulless clock punchers; I want to work with first-rate colleagues.
> I am attending a very large state school (over 40,000 students) and I am struggling to connect with people.
Though the crowd might make you uncomfortable, you can take solace in the fact that you need not connect with all of them. Friends, or close friends, are mostly in single digit for most people.
> I also have severe depression and OCD which prevents me from getting things done.
Letting the mind wander isn't a bad thing, provided you get some stuff done as well. Plan for small tasks which you can get done. Are you familiar with lexers and parser? Implement an infix(a+b) to postfix(ab+) converter, where `a+b` can be an arbitrarily complex expression. Learning Python? Build a web app which takes a movie name as an input(use any web framework), searches twitter for mentions(use urlliib2 or equivalent), classifies tweets as negative/positivie(simple bayes classifier or use a library) and assigns a rating to the movie.
These are just examples. Getting things done makes you feel good and can help you counter the "disappointment" you mention.
So the way the OCD works is that I HAVE to have my documents formatted a certain way (e.g. characters per line), the time stamps a certain nice number, or I get super angry at myself. I HAVE to begin and finish eating, sleeping, and working at certain hours of the day. It suddenly arose within the last 8 months or so and I have no idea what causes it.
Doctor. Go see a doctor about it. If you're currently a student you probably have some sort of access to free/affordable healthcare, even if it just means starting at the university clinic. If the OCD started after/around the same time as the depression, then fixing the depression might fix the OCD.
Right now they're just feeding off each other. A big part of depression is feeling like you have no control over what's happening in your life. The OCD might be a way you're trying to feel like you have control over something again, even if it's just the formatting of your documents or when you wake up. Then when you can't achieve that you feel even more out of control and more depressed and the cycle is just going keep getting tighter.
I cannot recommend strongly enough that you go see someone and get this looked into. I know it's scary, I know it might feel like it's too hard or like it's pointless, but just do it. It took my mom actually showing up and physically taking me to the doctor before I started to get help, and by then school was ruined for me, and so was my credit. I had declare bankruptcy a few years later to shed the debt that I had run up while I was too depressed to make myself pay bills. Not the best way to start your mid-twenties.
Dropped out for the same reason. 29 years old and recently got my first job as a developer.
My dad used to push me to get a degree. Now that I have a job he's cool about it. I still think he'd be happy if I finished college, but I prefer working on my music career in my spare time, which might not lead anywhere but is deeply satisfying.
I'm still somewhat bitter about dropping out. I don't particularly enjoyed school, as I always thought it kept me from learning the stuff I really cared about. But in retrospect I have to admit that I got exposed to a lot of stuff I might not have ever heard of elsewhere (like telecommunications engineering, Cisco administration, theoretical mathematics, and so on). Not that I learned much of of any of those, but I feel more rounded overall because of it.
I'd say no, just because I could point out many people with degrees in mathematics who couldn't define the halting problem or a Turing Machine, and yet those are core concepts for any person with a meaningful degree in computer science. (Note: I did not say 'computer programming' or 'software engineering'!)
Of course, that's not to say that this would preclude someone from being employed in many of the same jobs offered to CS graduates, but it underlines the fact that the two disciplines are still very different, even if they involve related skills. If we only used the 'employable in the same jobs' benchmark, then psychology and sociology degrees might 'count' as history degrees.
Just as a history major might make a better newspaper writer than a journalism major, a math or science major might make a better programmer than a CS major. It's possible for a CS major to graduate knowing something about the craft and culture of CS, without comprehending a purpose; just as a journalism major knows how to write, but may not know what to write.
Not knocking CS or journalism. But the best teams in both industries are made of a mix of disciplines.
I have a degree in history. In addition, I've studied a few CS and higher math courses in the university.
The math, algorithm and data structure courses have been useful for my programming career.
I love coding, and I'm self-taught. I believe its possible to be a great programmer even without a formal degree, if you are passionate. The vice versa doesn't hold.
The course that I miss in the CS degree I dropped out is compilers.
I have one. I know many people without one who have better careers than mine.
Except for possibly your very first job, I don't think having a CS degree or not matters for most jobs. Experience and ability are all that matters.
In fact, looking back, most of the good people that I can remember personally had math, electrical engineering, mechanical engineering, or nothing. The two with nothing are stellar.
I dropped out before obtaining a degree, but I continued doing my own R&D for the fun of it even when I was not employed in a tech job.
Today after 17 years of a tech job experience, I have a computer laboratory job which usually requires a Ph.D. Over 50% of my coworkers have Ph.D.s, but they don't wear it on their sleeves, and my knowledge and experience is valued just as much as theirs.
My last two employers did not mind the lack of degree -- in one, the recruiter even commented that I could peer up with double-Ph.D's -- her words, not mine. In the other, the HR representative herself doesn't have a degree.
I've had two employers who were interested in me, turn me down because of the degree. They said they could not hire me because the job description said a degree was required, and they cannot NOT discriminate against me on that -- apparently degree requirements are a way to legally get rid of undesireable applicants without it looking like racial or age discrimination. If they dropped the degree requirement they would get more applicants and it would be harder for them to decide who's best, as well as open them up to (in their view) more discrimination lawsuits. So they use the degree as a legal form of discrimination provided no exceptions are made to it.
Of course the effect of degree requirements, including degree requirements for foreign immigrants, has been degree inflation -- a Ph.D. today is worth what a MS was 30 years ago.
I have thought about getting a degree by examination, e.g., CLEP, or trying to get an honorary degree (I have professor friends), but I refuse to go back to undergraduate classrooms with lecture, homework and exam style learning. It doesn't work for me, even if done online. My learning process is different. I can and do read books -- I have over 500 math/CS books in my personal library -- but not in a linear way in a short semester.
I have a linguistics degree in which I did a good deal of computational linguistics, as well as a minor in CS, and grad classes in both the linguistics and cs departments at my university.
This is the trouble i have with "non-cs related" degrees. NAFTA doesn't recognize me for the degree I have, although at this point I have enough work experience that it doesn't matter.
I have a math degree, it has in no way negatively impacted my career.
Actually, taking the time to get a degree may have negatively impacted my career. Which is to say, I don't feel that having the piece of paper has really had much of anything to do with my career.
But maybe I wouldn't have worked out what I wanted to do without the time to screw around and learn whatever I felt like.
I think that a math degree is pretty much always a boon, since in just about every field, they need people who are good in math, but most people who don't have a math degree are scared of serious math. (Physics, EE, and other engineering degrees, not including CS, probably don't count in the being scared of math category, so for those fields, having a math degree may not be as much of a boon.)
I dropped out after finishing 99% Computer Science and Engineering degree from OSU. I had two classes left but the senioritis was getting to me and I couldn't focus. I just wanted to get out there and do things. So far it's worked out OK, I have a decent job and I applied to this latest batch of ycombinator.
It was also my little form of rebellion. It's not the piece of paper that says you learned that matters, it's that you learned at all. Now that I'm out I can continue my autodidactism. For instance I just learned Go.
I dropped out of CS college to start my own adventure. It's been 2 years since I dropped out, and have not reached my goal. I'm still optimistic about my future and very enthusiast. There is no useless experience, I've got more and more knowledge since that day. Up vote for dropped out!
I'm "In Progress", I was doing contract work while I was still in high school and took two years off after high school to work at a variety of companies, then left a 6-figure job at 19 to go back to school and finish my degree so I wouldn't have a hard time finding jobs in the future (and because I knew that if I didn't do it then, which allowed me to graduate college the same year as my high school classmates, I would never do it).
I guess what I'm saying is I hope this poll ends up saying that while not a requirement, it's nice to have a degree (mine's going to be in Math/Economics) else I've definitely wasted some time and money :)
As an economist I wish more people would follow the math/econ option and add CS coursework. Unfortunately, most economist are scared to venture beyond Excel, Stata, and SAS, and I believe this creates a professional focus on static models.
Careerwise, not studying CS has not impacted my income, but it may have impacted my ability to get a job in CS. However, I blame this more on my own inability to signal CS competency.
Luck and a fantastic recruiter. In two years I went from doing freelance work online while working in retail to being a low level employee at a startup to being the only local programmer at that same startup to working at a company that really needed my skill-set (mobile development). The recruiter kicked in for the last one, everything else I looked for myself.
Are you asking for your own rates or are you letting other people decide for you? At my previous company I saw a guy exactly our age get hired without any recruiter or anything and the amount of money he asked for was so low it was embarrassing, we hired him quickly due to how much he asked but honestly with his experience and knowledge he should've been paid much closer to what I got rather than we he asked for, but he was young so he didn't dare ask for something fair.
The poll has 3 questions and 4 answers. If I choose "yes" or "no", I am not sure, which question it is meant for. And questions 2 and 3 are opposite to each other. Please clarify the poll with only one question.
I don't have a CS degree, but it didn't affect my career at all. I feel that CS would be helpful for interviews and expressing the problem using CS terms. I used to read up on basic CS stuff and talk to CS friends to gain CS knowledge. As long as, one can read and write english and familiar with basic math (logarithms, algebra, calculus, probability etc.), CS is very easy to pick up.
My degree is in fine art, with a concentration in design (and a minor in art history). I started out as "designer who can do a bit of development" and over the years, that's changed to "developer who can design."
I didn't plan it that way, it's just where the work has taken me, and I do enjoy programming slightly more, I think (maybe - I love both).
I've engaged in a ton of self-directed learning and have been fortunate to work for some extremely smart, and extremely patient people who were happy to teach and happy to give me challenging, real problems to solve.
I make it a point to learn something new every day.
I'm also a fine arts grad gone tech. I feel like a total outsider in this world but can't help being fascinated by it. I hope that those with an education that emphasises communication and aesthetics can bring something new to the tech world.
My first degree was in Economics, and I graduated in an economically depressed area of the US. I quickly figured out I wanted to try my hand at development, so I went back to school the next year for a CS degree.
I really doubt I would have been granted the interviews or handful of offers I received if I didn't go back. Even with the degree my 'unusual schooling choices' were commented on by virtually everyone.
Timing/location matters quite a bit. Having been in the industry for a few years now, some of the best coders I've worked with have degrees from other tangentially-related fields.
Finishing a degree with majors in systems engineering and physics. I'm not a computer scientist, but I know math damn well and can program well enough that I can pick up any languages I need, so I feel competitive for CS jobs. Plus, through classes in OR, physics, etc. I have a background in applied programming. It's not the same as a computer science degree, but if you ask a CS major to reverse-engineer the Google Maps algorithm, there is a lot of nuanced mathematics, optimization, heuristics, etc. that exceed the core curriculum.
With or without a degree, if you spend any time doing freelance work, make sure to incorporate and pay yourself a salary. You might try this as soon as you turn 18, or as an undergraduate.
In my experience, HR departments can use these records for salary justification down the road. With policies like: 'experience may be substituted for education on a 2:1 basis' in effect, you may find yourself paid on par with people having advanced degrees, based only on your self-employment history. Your mileage may vary.
I started programming at the age of 10, almost 30 years ago. By the time I reached college age it seemed like a waste of time to study CS, though I still wanted a degree so I studied business.
Hackers without a degree are not uncommon today but were unheard of in the 90s, when I graduated. It made it very hard for me to get the first the job, but if anything made me more motivated to prove myself. Within less than a year I became a team lead and had no issues since, because I had the track record.
I dropped out of my Electronics Engineering Technology polytech course in 1982 after working part time for a couple of years with electronics and microcomputers and finding I was learning more valuable things at work than at school. At the time I thought I'd go back and finish, but I just kept on going, learning as I went along. Now with over 30 years on my resume, whether I have a degree is a question I don't often get, but if anyone is hung up on it, it's a good filter.
I dropped out but was not at a school which even had a CS Major, I have been programming since 12 and dropped out as a Junior in college because I sold my first software company.
I actually just took my first "real" job (start tomorrow) and having no degree was not much of an issue at all. It seems like to me if you can write code and answer the silly brain teaser questions that you should know reading absolutely any beginning CS books than you are good to go with getting a job.
I have a bachelors, masters, and a bit of doctoral work in music performance (guitar).
While music is pretty far from CS, you do learn a lot about how to tackle and break down problems from music theory/analysis courses. In short, I feel like my music degrees taught me a lot about how to learn.
Knowledge you pick up in school is nice. But I'd say the real thing people get out of any degree program is some insight into how they learn. Those skills can happily be applied to any subject.
I have a non-cs degree (film making) and I am a CS undergrad... Here in Brazil it is very hard to get a job without a diploma, no matter your resumé and past works.
I'm from Brazil (SP), I'm a computer engineering dropout studying / developing by myself for 1.5y and I'm having pretty great offers... Please contact me.
For what it's worth, I do a lot of hiring of programmers. A candidate's schooling MIGHT make a tiny difference in whether I notice their resume, but most anything that stands out will get you past that filter. Once you get to the interview stage, schooling makes essentially NO difference to me (although the things you LEARNED in school will make a difference).
As far as I can tell, dropouts either never apply or they apply but don't list the education at all. Or more likely they apply and list it, lying and claiming to have completed the education -- I realize (although it disappoints me) that not 100% of everything put on resumes is the truth.
I don't think you need a CS degree for programming.A school kid can write programs. With the degree you get more understanding of architecture, design, the kernel and algorithm patterns which helps you in designing better products. A program may be moving something from a to b but with a better algorithm the function may be more efficient.
I have an Information Systems degree as well, and also marked yes.
To be fair, it is taught by the engineering department and has most of the same curriculum as the "computer science" degree - which we don't have here in Uruguay.
We do have a Computer Engineer degree which requires taking exactly the same math as any other engineering degree, and quite a bit of physics and chemistry as well. It's demanding and takes more time than an U.S. degree, so an engineering graduate is equaled to an U.S. master's in Computer Science.
I sometimes regret dropping out of the public university and switching degrees, but there were lots of strikes at the time which set me back two years (to me, it's amazing to see people graduate at 23 in the U.S.).
I have a CIS degree, but voted No in the poll b/c CIS and CS are pretty different. In fact, most universities classify the CS degree under the CS, Math, or Engineering departments, whereas CIS is usually classified under a business department.
I also regretted getting that degree for the longest time, now it doesn't bother me so much. I wish I had gotten a CS degree.
Currently working towards one. I've been offered many promotions despite not having one, and I have almost 5 years of experience now in the field.
But I still feel like completing my CS degree, just because it wouldn't hurt to have it, and just because there's some personal pride involved (first person in my family to pursue a degree).
I have a CS degree and it probably helped me get my first job. I've also hired Jr. Developers who sometimes did and sometimes did not have a CS degree. My experience is that communications skills and attitude are extremely important. I'll gladly hire a motivated, self-taught coder who majored in English Lit.
I do not have a CS degree because I am missing a single unimportant class. My advisor had told me that I could use a certain class to fill this requirement for both of my majors, but in reality the two majors required different classes for this requirement. I ended up with a math degree, though.
I have a CS degree, although it's only a bachelor's degree. However, I have worked with and hired a few people without degrees. As one of my bosses said; having a degree doesn't necessarily make people smart, but if they have one there's a larger chance that they are smart.
Physics and then materials science. I haven't noticed that it's been a problem, either from actual work or getting pestered by recruiters. But I've mostly been in work related to scientific computing so far, where non-CS degrees are almost more the rule than the exception.
It's pretty standard that with age, experience trumps education. Case in point: at Slide (run by Max Levchin, a top flight programmer himself), the VP of Engineering had an English literature degree and absolutely no formal computer science education.
I have a non CS related degree and am about two years in to a CS degree. I have not taken any classes in about 6 months and do not know whether I will resume doing so. So...I put non CS related degree.
Biomedical Science, and a minor in CS. I did well in my medical science degree, but a lot of it seemed like a waste of time. I wish I'd majored in SE instead.
My CS degree is dated but I have always managed to incorporate my skills into projects that did not effectively start out with a need for a programming side.
I've got a degree in microbiology, and never taken any computer-related classes in college. I wish I had spent time coding rather than identifying bacteria.
doctorate in biochemistry. never had a CS class taught to me in my life, i just picked up various textbooks and learned as much as i could. while i still don't get RBTrees i've done more than i had ever expected as a professional computer scientist, including mentoring students, publishing, and even a patent.
degree in math with my honors project in AI and 3d graphics - was pretty damn close to a degree in CompSci.. was never really a problem except perhaps the occasional brain dead HR filter that doesn't deserve to work (EDIT: by which i mean 'i deserve to work' they don't deserve to hire me)
a degree in the US pretty much only means a bachelors unless there's an adjective in front of it. if you mean a masters degree, then you refer to it as a masters or a master's degree or a graduate degree. if you mean a ph.d you call it a phd or a doctorate or maybe a graduate degree, if there's no need to differentiate between masters and doctorates.
every now and then a degree will refer to a high school degree, but usually people say diploma or high school diploma, not degree.
in the US a bachelor's is at least 4 years of work (some degrees like architecture require 5) and from what my european friends (sample size <5) have told me, a US bachelors is about halfway between a european bacheolr's and master's degree. law degrees and medical degrees require a bachlor's degree before the school will admit you for your MD or JD (i've been told this isn't the cas in some parts of euroope).
master's degrees usually take about 2 years to complete. some require a thesis like a doctorate, but many just require taking classes. if you are combining a masters with a bachelors degree within the same program at the same school, then usually a masters only takes 1 year instead of two.
that clears things up; thank you for taking the time to write that up. As for the sample size: what a master's is in Europe is pretty consistent (there are some 1 year degrees, though). It takes five years at university to get one, 3 for the bachelor's, 2 for the master's
For what it's worth we don't consider candidates without a degree when we hire. It doesn't HAVE to be a CS degree - math or electrical engineering is close enough most of the time. But there's just so many job seekers without a degree and most of them are useless so we save a lot of time and effort simply ignoring those.
Useless as software engineers. We've had 'programmers' that could not FizzBuzz, ones that didn't know the difference between 0 and NULL, ones that could not read an E-R diagram, and so on. So these days when we hire a software engineer you don't get to round 2 if there's no degree on your resume.
My CS degree may have negatively impacted my career. The pressure of working while going to school was one of the things that caused me to quit my job at the time. It took me a year and a half after graduation to find another job and I'm currently unemployed again after a contract dispute; the company wanted me to agree never to take them to court under any circumstances, I asked them to take out that provision, and they fired me.
I still think getting the degree was the right choice. I learned some things and made some friends. Career-wise, I'm back to where I was ten years ago.
Several months later, a headhunter sent me to interview for that job, which was still open because they hadn't been able to find anyone with the necessary Unix experience before I applied.
I got the job.
They could have had me several months earlier, and without having to pay several thousand dollars to a headhunter, if they had not stuck on that requirement for a master's degree in their ad in the paper.