Ask HN: Was your college degree a necessity to get a job as a developer?
I was wondering whether or not a college degree is a "must have" for applying and getting hired in big companies. Do self-taught courses (which cover all the subjects studied in entire syllabus, plus a lot more) count as qualification when they are hiring, say, "Bachelors in CS or Equivalent!? I would like to know about hiring criteria of startup companies like TreeHouse, Coinbase, GrooveHQ, SoundCloud, etc. and bigger giants in the market.<p>I understand that non-tech companies never hire people without desired academic qualification but tech companies?<p>Is dropping out of a CS degree from a good college saying "I also want startup thrill" a good idea? Or a stupid idea?<p>Can you please share your experiences in software industry that relates to academic qualification?
14 comments
First, when you read "Bachelors in CS or Equivalent!?", the equivalent part usually means "work experience". So if you don't have a CS degree you need the equivalent work experience.
I'm a non-college grad and I think my career up to now has been pretty successful. It was hard for me, much harder than it should have been if I had a CS degree. I had to work 2 or 3 times harder than anyone else just to keep up at times. I found that it wasn't the course material that I lacked since I read pretty much the same books as them. What took me a long time to realize is that all my colleagues were using the same terminologies and most importantly were "thinking" the same way. The majority of them had either a CS or a physics degree of some kind.
Now that I'm in a position of hiring many developers I'm not against hiring individuals without degrees, but it definitely helps. I've hired two developers without degrees. Both are super bright people but are struggle to keep up as I did.
All that said, IMO it's who you know not what you know, no matter of your background. You can get a job in a "big company" without a CS degree if you have the skills and you know the right people. I did it by attending a bunch of meet-ups to find people with the same interests as me. I made friends that were working for these "big companies" who got me interviews, etc...
I would stay in college if I were you. I didn't go but should have.
I'm a non-college grad and I think my career up to now has been pretty successful. It was hard for me, much harder than it should have been if I had a CS degree. I had to work 2 or 3 times harder than anyone else just to keep up at times. I found that it wasn't the course material that I lacked since I read pretty much the same books as them. What took me a long time to realize is that all my colleagues were using the same terminologies and most importantly were "thinking" the same way. The majority of them had either a CS or a physics degree of some kind.
Now that I'm in a position of hiring many developers I'm not against hiring individuals without degrees, but it definitely helps. I've hired two developers without degrees. Both are super bright people but are struggle to keep up as I did.
All that said, IMO it's who you know not what you know, no matter of your background. You can get a job in a "big company" without a CS degree if you have the skills and you know the right people. I did it by attending a bunch of meet-ups to find people with the same interests as me. I made friends that were working for these "big companies" who got me interviews, etc...
I would stay in college if I were you. I didn't go but should have.
> Is dropping out of a CS degree from a good college saying "I also want startup thrill" a good idea?
Stay in school and finish your degree. There will still be plenty of thrilling startups to work for (or found) when you graduate. I know when you're 20 another two years of school seems like an eternity - but take it from someone who dropped out and didn't go back to complete his degree until he was in his 30's: you are much better off having one.
Stay in school and finish your degree. There will still be plenty of thrilling startups to work for (or found) when you graduate. I know when you're 20 another two years of school seems like an eternity - but take it from someone who dropped out and didn't go back to complete his degree until he was in his 30's: you are much better off having one.
I'm coming to the end of a computer science degree. While I think I could have reached a similar level of practical knowledge if I had taught myself, there are many aspects that I wouldn't have even known about, or wanted to study, which have actually helped me become a better programmer. Even if on a day-to-day basis I don't think about discrete mathematics, compilers, real-time systems, and other things that I've learnt during my degree, having an appreciation for them, and knowing the theory behind certain things helps me loads.
I remember tasking to a software developer who works in a startup, after dropping out of university in the first semester. He has loads of practical experience, has committed to big open source projects, so clearly knows his stuff. I told him how I thought it was funny that Perl's regular expressions were actually Turing complete.
Everyone on my course who I've told this to has found it very amusing, and it really is quite funny if you know the computer science theory behind regular expressions, but this developer stared at me blankly, clearly not understanding it at all. I thought that was as shame, because although I don't write regular expression engines every day, knowing about the differences between classes of languages has influenced my design decisions in software, security considerations, and more.
You don't need a college degree to work as a developer, and that appears to be more and more true all the time. But it could take you many years to achieve the background knowledge, and you will need to put in a huge amount of effort to learn things yourself that you may find irrelevant or boring at the time, because the pay-off in practical application doesn't come until much later.
I remember tasking to a software developer who works in a startup, after dropping out of university in the first semester. He has loads of practical experience, has committed to big open source projects, so clearly knows his stuff. I told him how I thought it was funny that Perl's regular expressions were actually Turing complete.
Everyone on my course who I've told this to has found it very amusing, and it really is quite funny if you know the computer science theory behind regular expressions, but this developer stared at me blankly, clearly not understanding it at all. I thought that was as shame, because although I don't write regular expression engines every day, knowing about the differences between classes of languages has influenced my design decisions in software, security considerations, and more.
You don't need a college degree to work as a developer, and that appears to be more and more true all the time. But it could take you many years to achieve the background knowledge, and you will need to put in a huge amount of effort to learn things yourself that you may find irrelevant or boring at the time, because the pay-off in practical application doesn't come until much later.
It’s not a must have but it’s a filter that will be applied by HR, recruiters and the like.
The benefit of having the degree is an exposure to a wide range of ideas you might not otherwise get - everything from logic gates up to application software, and theoretical concepts which may have no immediate application but enhance you’re understanding of the field. I’ve never written a compiler, designed hardware, done any serious graphics work, or applied any theoretical computer science, since my undergrad courses in those subjects, but I’m a better developer for those experiences.
The benefit of having the degree is an exposure to a wide range of ideas you might not otherwise get - everything from logic gates up to application software, and theoretical concepts which may have no immediate application but enhance you’re understanding of the field. I’ve never written a compiler, designed hardware, done any serious graphics work, or applied any theoretical computer science, since my undergrad courses in those subjects, but I’m a better developer for those experiences.
Short answer is no. I'm a professional software engineer, and did not graduate with a CS degree.
I did, however, graduate with a Liberal Arts degree. I was a Studio Arts major. I've been coding since a young age and am (mostly) self-taught.
If you graduate with honors from a top (or very good) CS department, you will have money thrown at you.
I'd suggest staying in school. Steve Jobs dropped out because he didn't know what he wanted to do with his life, and didn't want to waste his parents money. Bill Gates dropped out because he and Paul Allen were utterly certain they were developing the next most important thing the world had ever seen. Zuckerberg already had a rapidly growing site and interest from heavy-hitters.
Certainly don't just drop out for a wild-ride on someone else's coattails (i.e., joining a startup just for the thrill). There are plenty of good thrills to be had in college, anyway.
I fell into the not-entirely-sure-what-I-wanted-to-do camp, and it took me a long time after college to find something that I was passionate about, and could also earn a living at. But, my degree has always been invaluable to me. Like others here are saying, take courses outside of your comfort zone and apply yourself. Start and finish side projects.
Good luck!
I did, however, graduate with a Liberal Arts degree. I was a Studio Arts major. I've been coding since a young age and am (mostly) self-taught.
If you graduate with honors from a top (or very good) CS department, you will have money thrown at you.
I'd suggest staying in school. Steve Jobs dropped out because he didn't know what he wanted to do with his life, and didn't want to waste his parents money. Bill Gates dropped out because he and Paul Allen were utterly certain they were developing the next most important thing the world had ever seen. Zuckerberg already had a rapidly growing site and interest from heavy-hitters.
Certainly don't just drop out for a wild-ride on someone else's coattails (i.e., joining a startup just for the thrill). There are plenty of good thrills to be had in college, anyway.
I fell into the not-entirely-sure-what-I-wanted-to-do camp, and it took me a long time after college to find something that I was passionate about, and could also earn a living at. But, my degree has always been invaluable to me. Like others here are saying, take courses outside of your comfort zone and apply yourself. Start and finish side projects.
Good luck!
The answer to the title question in my experience has been no. I have a CS degree, but never ran into a company irrational enough to care about it either way.
As for whether dropping out of a CS degree is a good idea, that greatly depends, not least on your costs in time and money.
If you're going to not get a degree the ideal way to do it would be to skip all of college and some or all of high school, which would give you back 6 to 8 of the best years of your life for self-study and getting moving on a career; that could be far more valuable than a degree. Conversely if you've gone nearly all the way through the system and are currently halfway through final year in college it would make no sense to drop out at this stage.
Money also matters. In America particularly, if college will entail crippling yourself with debt you will only be able to get out of by permanently emigrating, you're probably better off just saying no. On the other hand if a high-status college offers you a full ride scholarship, it's probably worth your while to take it.
As for whether dropping out of a CS degree is a good idea, that greatly depends, not least on your costs in time and money.
If you're going to not get a degree the ideal way to do it would be to skip all of college and some or all of high school, which would give you back 6 to 8 of the best years of your life for self-study and getting moving on a career; that could be far more valuable than a degree. Conversely if you've gone nearly all the way through the system and are currently halfway through final year in college it would make no sense to drop out at this stage.
Money also matters. In America particularly, if college will entail crippling yourself with debt you will only be able to get out of by permanently emigrating, you're probably better off just saying no. On the other hand if a high-status college offers you a full ride scholarship, it's probably worth your while to take it.
My degree was in philosophy (from a good college), but I had to work my way up from being an administrative assistant (at a big engineering firm) into development positions. The starting pay was less, I never reached parity with my engineering degree peers. I went back and got a CS degree after (an MS).
It's important to think about these decisions in terms of your career arc. You're in college now, probably finding the same thing that I did when I started an undergraduate degree in CS, (that it is incredibly easy and plays to the LCD of developers).
I remedied this by switching to a major that challenged me. I grew in areas where I needed to (writing and analytical thought).
You might try taking classes outside of your major too. Stick with the CS major, but try to stretch yourself.
Another great option is to start a side project. You have time, something that is diminishing once you are done with school. College is a great (if expensive) startup incubator, and projects look great on the resume.
It's important to think about these decisions in terms of your career arc. You're in college now, probably finding the same thing that I did when I started an undergraduate degree in CS, (that it is incredibly easy and plays to the LCD of developers).
I remedied this by switching to a major that challenged me. I grew in areas where I needed to (writing and analytical thought).
You might try taking classes outside of your major too. Stick with the CS major, but try to stretch yourself.
Another great option is to start a side project. You have time, something that is diminishing once you are done with school. College is a great (if expensive) startup incubator, and projects look great on the resume.
To partly answer your question;
In the context of Software Development you can get into wherever you want if you have enough references, be it your contributions to open-source softwares, your past job experience etc.. pretty much everything that proves you can get stuff done and cause as few as trouble possible.
To understand my point throughly, you need to understand that most people -if not everybody- wants some form of determinism. Understand that the people who hires you has practially no way to know for sure how useful you will be to them, so the things you have done in the past has to stand for you. You can view a college degree simply as a reference that is supported by your college indicating that you know some things, which implies you are likely to perform better than the other Joe which doesn't have a degree.
A college degree is the safest, easiest and most reliable way to weigh a canditate's ability, though its not the perfect method, more importantly it is not "the" method.
In the context of Software Development you can get into wherever you want if you have enough references, be it your contributions to open-source softwares, your past job experience etc.. pretty much everything that proves you can get stuff done and cause as few as trouble possible.
To understand my point throughly, you need to understand that most people -if not everybody- wants some form of determinism. Understand that the people who hires you has practially no way to know for sure how useful you will be to them, so the things you have done in the past has to stand for you. You can view a college degree simply as a reference that is supported by your college indicating that you know some things, which implies you are likely to perform better than the other Joe which doesn't have a degree.
A college degree is the safest, easiest and most reliable way to weigh a canditate's ability, though its not the perfect method, more importantly it is not "the" method.
'Is dropping out of a CS degree from a good college saying "I also want startup thrill" a good idea? Or a stupid idea?'
Instead of dropping out, you could simply take some time off from college. Pursue an idea or a skill for the duration of a semester instead of spending time in the classroom; you can go back to college at the end of your sabbatical. You may want to check with your college if you have to notify them of your temporary absence so they don't think you dropped out entirely (never done this before so just playing it safe). I wish I had done this. I would have taken sabbatical after my second or third year to build up skills that I enjoyed. It would have also helped for applying to internships or full-time jobs that require some level of experience. In addition, I would have used that time to work on other life skills like fitness.
As others have said, complete the degree to play it safe.
Instead of dropping out, you could simply take some time off from college. Pursue an idea or a skill for the duration of a semester instead of spending time in the classroom; you can go back to college at the end of your sabbatical. You may want to check with your college if you have to notify them of your temporary absence so they don't think you dropped out entirely (never done this before so just playing it safe). I wish I had done this. I would have taken sabbatical after my second or third year to build up skills that I enjoyed. It would have also helped for applying to internships or full-time jobs that require some level of experience. In addition, I would have used that time to work on other life skills like fitness.
As others have said, complete the degree to play it safe.
Stay in college, and keep your education fairly broad, polymathy is getting back into fashion.
I cannot get a minimum wage job mainly because I am overqualified.
I cannot get a higher paid job because I lack specific qualifications.
I cannot afford those specific qualifications because I cannot get a minimum wage job.
If in a few years you happen to find yourself in this scenario, it is unlikely you will get any help at all. Firstly it is hard to fit someone like myself into a particular social group that is considered disadvantaged, and also I get prejudice from both left and right. In my last job I was considered as a threat by people in higher positions, while people at the same level as myself thought I was arrogant and uncooperative. You can't win sometimes.
This shitty situation can only be resolved by bootstrapping a job, which is one of the main reasons that I teach myself programming.
I cannot get a minimum wage job mainly because I am overqualified.
I cannot get a higher paid job because I lack specific qualifications.
I cannot afford those specific qualifications because I cannot get a minimum wage job.
If in a few years you happen to find yourself in this scenario, it is unlikely you will get any help at all. Firstly it is hard to fit someone like myself into a particular social group that is considered disadvantaged, and also I get prejudice from both left and right. In my last job I was considered as a threat by people in higher positions, while people at the same level as myself thought I was arrogant and uncooperative. You can't win sometimes.
This shitty situation can only be resolved by bootstrapping a job, which is one of the main reasons that I teach myself programming.
I did a one year masters conversion course (popular in the UK around the time of the dot com boom).
Ten years on, I would say 80% of my knowledge is self taught, and being able to learn yourself is a valuable skill. I now work with a lot of bioinformaticains, many of whom are self taught. Some of them are good coders, many are not. I think doing a good course did teach some good principles about how to write better quality software, which seems to be missing from many self taught programmers.
Ten years on, I would say 80% of my knowledge is self taught, and being able to learn yourself is a valuable skill. I now work with a lot of bioinformaticains, many of whom are self taught. Some of them are good coders, many are not. I think doing a good course did teach some good principles about how to write better quality software, which seems to be missing from many self taught programmers.
[deleted]
At big companies credentials matter. Typically it is the HR dept who find potential recruits to interview. They use that CS degree as a filter. Yes it is still possible to get a job without a degree but it is harder. My advice is to stay in school.