Hey all, if you want to skip my background, my question is: Do I need a college degree to have a successful career as a programmer (primarily as a game programmer).

If you want to tailor your response to be specific to my situation, I would be very grateful! Here is my background info:

I'm 18 years old, and I've been programming since I was 10 years old. My dad handed me an ancient book on C programming and told me that if I learned to program, I could make my own video games. Now what 10-year-old doesn't want to make a video game? I hated reading of course, so I just skipped straight to the code examples. When I dried that book out, I moved to the vast ocean of Google to learn everything I know about C++ today. Now, I'm finishing up my freshman year of college as a CS student. I work part-time as a programmer for a genetic research facility under the USDA to pay my rent.

Most of my experience is in game development, but I also enjoy artificial intelligence (mainly artificial neural networks), massively parallel GPU programming, robotics, and OS-level programming (I wrote a simple OS that went into pmode and loaded a simple shell back in my junior year of high school. Bootloader in Assembly, kernel in C).

I learned Java in a weekend and made an Android game the following month, and you can find that in my signature. I also wrote 2 game engines that I use for all of my hobby projects - one for 2D and the other for 3D. Getting amped up to use my Fission engine in this weekend's Ludum Dare!!! This will be my 5th time doing it

That about sums up my background. The reason I'm asking this is because I'm really not enjoying the classroom part of college so much. I love the living on my own, do whatever I want, lots of free time, do some cool projects aspect of college, but so far I've learned little to nothing in my CS classes. And it seems nowadays anything you don't already know can be found on Google.

Also, it's worth mentioning that I have a full-ride scholarship to my University. I guess the obvious answer should be to take the free college, but I just feel so unsatisfied - like I'm just here for that piece of paper.

I am finishing up Calculus 3 and Linear Algebra this semester though (2 more weeks!!!!)! I didn't need Calc 3, but Linear Algebra is the last math requirement for a CS degree at my college

ANYWAY, question: Would dropping college for a full time job in the industry of my dreams be a terrible life decision?

ANYWAY, question: Would dropping college for a full time job in the industry of my dreams be a terrible life decision?

Yes, don't do that. You might change your mind in the future and might need the college degree. Things tend to get more interesting on CS courses over the time. Also, if you're learning nothing from your CS classes, research on your own and ask questions to your professors beyond the regular program. They might like that and invest special attention to you.

Because otherwise, you will spend the rest of your life looking at job adverts for really cool jobs. Jobs that everyone else wants as well. And which hence have a "must have computer science degree" pre-filter on them.

And you can rail about how it's unfair or try endlessly to convince gatekeepers that you're just as good as someone with a degree...

Or just go and get the degree.

It's expected you get it. Google has only just stopped regarding with suspicion people who didn't stick around for the doctorate. And even those people who will interview you will ask why no degree and you'll need a good story for that. And "couldn't be bothered" won't cut it. And you'll have to tell that story every time you go job hunting until you're 60.

" it's worth mentioning that I have a full-ride scholarship to my University"

And you're thinking of not taking that up? If you don't take an opportunity like that, you're an idiot.

Other reasons to go to uni;

Everyone else you work with will have. So if you don't, you'll always be the lone one who didn't and doesn't have stories from that time to share.

You'll meet interesting people. Where do you think Sergey met Larry? FB started on a campus. I met my husband at uni. I met people who I hired a decade later, I got hired by people I've known since uni days. It's a massive networking opportunity.

You'll learn a lot more than you think you will; including the ability to study OTHER subjects. Take those opportunities because they'll make you a more rounded person.

You'll get to do random stuff. I helped run the student cinema. I failed the technical test as a projectionist, but I did learn how to manage a door team and how to do crowd control. And once again, that's building a character. And free movies for years.

You'll be at work for long enough. If you can put it off for three or four years of good times, do so.

I created an account just to reply to this post (long time lurker etc etc).

Please don't drop out of your course. You've only done 1 year of it. I dropped out of my CS course during the 2nd year of it. The 1st year was easy, not very challenging at all. The 2nd year seemed to be when things got more complicated.

I was uninterested and spent more time to other things in life (i.e. partying) and got lazy with coursework and studying. Fast forward 10 years and I'm looking at interesting jobs that require CS degrees, and I know that almost certainly my resume is going to end up in the trash because I don't have a degree. Not only is it an unfortunate part of the recruitment process for most companies, but most employers want to know that you have the skills they require (i.e. things that have been covered in the course). The degree is good proof of that. Recently I got back into programming as a hobby (I too had been doing it from a young age) and was discovering all the things that I'd been too lazy to study up on in university. I wish I'd known all the content before doing the course, it would've made it all a lot easier, albeit uninteresting as you say. Surely knowing more of the coursework frees up more time to devote to other things (projects, work etc, not partying all the time)

In conclusion: the piece of paper they give you at the end is worth it. I seriously regret not devoting more time to studying and working on coursework. Now I'm reconsidering going back to college, but it's a lot harder to do that and hold down a full time job at the same time (as I'll have to pay for it somehow too). You seem to have all the requisite skills to do well in your course - you should use them, the piece of paper will serve you well.

And it seems nowadays anything you don't already know can be found on Google.

Sure. Just like everything you don't already know has always been available at libraries. The medium doesn't change the fact that unless you know what you need, you're not going to have a lot of success looking for it. Prepare your mind.

And it seems nowadays anything you don't already know can be found on Google.

Sure. Just like everything you don't already know has always been available at libraries. The medium doesn't change the fact that unless you know what you need, you're not going to have a lot of success looking for it. Prepare your mind.

But all the information is absolutely not available in a local library. You might be able to find a handful of books on C programming, 9 out of 10 of which are outdated. On the internet, you can find tutorials, videos, open source projects, etc. I don't agree that you can't find knowledge without someone telling you where to look. I didn't learn to code with a professor holding my hand and telling me where to look for 8 years, I learned by doing projects and searching Google when a problem came up. I think we live in a new age where anyone can learn to code as long as they have half a brain, a bunch of spare time, and an internet connection.

I do not like this CS-degree-required filter, but I suppose I will just have to roll with it.

That is part of the reason it exists.

A degree by itself provides evidence that you can do the job well.

That evidence is not just that you know the topics to a minimal level. One bit of evidence is that you can stick with a project that you may not always enjoy.

I feel that a portfolio filled with completed projects proving hands-on experience is a lot more valuable than a piece of paper saying that I memorized a bunch of facts for a few exams. All a degree proves is that you passed a few tests - and they're not very hard tests. Out of all the senior CS students at my University, maybe 2 can code at a professional level. One of them has terrible grades because he crams himself with 24 credits.

I accept that the without a degree you will below the majority with a degree, but doesn't the portfolio imply work experience? What I mean by a portfolio IS work experience. I do work half-time as a programmer at a biology lab to pay my rent. (I've hated biology so, so much ever since my high school biology class). Isn't having hands-on experience and no degree better than having a shiny degree with no hands-on experience? From what I've gathered from my first year here at my university, it seems like all of the graduating seniors have a ton of theoretical knowledge regarding math and computers without the slightest idea of how to apply it to create a functional product.

And it seems nowadays anything you don't already know can be found on Google.

Sure. Just like everything you don't already know has always been available at libraries. The medium doesn't change the fact that unless you know what you need, you're not going to have a lot of success looking for it. Prepare your mind.

But all the information is absolutely not available in a local library. You might be able to find a handful of books on C programming, 9 out of 10 of which are outdated. On the internet, you can find tutorials, videos, open source projects, etc. I don't agree that you can't find knowledge without someone telling you where to look. I didn't learn to code with a professor holding my hand and telling me where to look for 8 years, I learned by doing projects and searching Google when a problem came up. I think we live in a new age where anyone can learn to code as long as they have half a brain, a bunch of spare time, and an internet connection.

Did you know that those doddery people who sit behind the desk in the library know things that you don't, like how to get books and information not immediately at hand? That's one of the things you're supposed to learn in school.

Anyway, my point is that there has always been oodles of information available. The problem is you can only search for things you know about in an information retrieval system like a library or a googlenet. If you aren't aware of what you need, how are you going to find it, even with the very best search engine in the universe? Google is great for finding the known knowns and the known unknowns, but remarkably lousy at finding out about the unknown unknowns. That's the difference between an education and a library.

One of the most important things you should get out of a good post-secondary education is that you know a lot less than you thought you did going in to it.

Anyway, my point is that there has always been oodles of information available. The problem is you can only search for things you know about in an information retrieval system like a library or a googlenet. If you aren't aware of what you need, how are you going to find it, even with the very best search engine in the universe? Google is great for finding the known knowns and the known unknowns, but remarkably lousy at finding out about the unknown unknowns. That's the difference between an education and a library.

Sure, Google's lousy at finding unknown unknowns, but if you are working on a project and Googling a specific problem, there are no unknowns. It's my fault for poorly phrasing what I mean. I'm not saying you should learn through Google, I'm saying that you should learn through hands-on projects with Google as a helping hand when you get stuck. Hence, anything you don't already know can be found on Google. For instance, let's say I'm writing a game that needs a procedural height map. Oh no, I don't know anything about that, I'll Google procedural world generation. Suddenly, I discover perlin noise, fractal noise, and even some sweet example code! Google saves the day again! Good luck getting your professor to talk about things like that.

I asked my professor about how to get a pointer to an operator member function (I was binding my vector class to the Squirrel scripting language and wanted to be able to use arithmetic operators). We searched through the C++ textbook to no avail. Here's what he told me after: "Uggghhh.... Google it." Then, I Googled for about half an hour and found the answer.

The more I think about it, the sillier it seems that companies value a CS degree more than proven experience for entry level jobs. "Oh yeah, let's not hire the kid with tons of proven development experience and several completed products in various areas and no degree. Let's hire the fresh college grad who knows how to implement the binary search algorithm and maybe even make a Tetris clone - he has a degree!"

Anyway, I'm sorry, the pride, it gets to my head. It's a disease. I'll stop now. I'll go do my homework and register for my classes for next semester Thanks all for your valuable input! You have knocked the sense right back into me - giving up my scholarship for some exciting new work opportunities would be a terrible idea.

The more I think about it, the sillier it seems that companies value a CS degree more than proven experience for entry level jobs. "Oh yeah, let's not hire the kid with tons of proven development experience

But that's not the way it is. Again, you misuse and abuse the word "experience."

Game companies do NOT value a degree more than experience for entry level jobs. If an entry-level applicant had experience, he wouldn't be an entry-level applicant.

A kid with proven experience (by which I mean EXPERIENCE) is surely not a kid.

As I explained in my articles on HR resume filters (and as backed up by an industry pro who spoke to USC students this very evening at an event I organized on campus), the problem is getting past the HR resume filters in the first place. This pro tonight said almost exactly what I say in my articles: when Disney posts an opening for an entry-level position, a thousand applications come in. How on earth do you deal with all that, if you're the guy at Disney who needs to hire someone?

Experience (by which I mean EXPERIENCE, not just what you're calling experience) is much more highly valued than a degree. I don't think you understood my articles if you say things like what you said. Either that, or you're just letting your frustration take you into denial. You want to believe the world works the way you want it to work, so you deny that it works the way it actually works.

Experience trumps degree. Without experience, you need to stand out from the crowd. If a thousand entry-level applications contain 500 with a degree and 500 without, you can halve the workload by starting with the degreed applicants.

Edited by Tom Sloper, 25 April 2013 - 11:39 PM.

-- Tom SloperSloperama ProductionsMaking games fun and getting them done.www.sloperama.com

Please do not PM me. My email address is easy to find, but note that I do not give private advice.

Yes you need a degree.
You are being a bit short sighted if you think you can have a successful career from having a good portfolio. It may get you a job in one games company but when the whole industry shifts like it has recently? It is the developers who studied the wider field of computer science who can roll with it.

There are some very talented excptions to the rule that get buy without a degree and everytime somebody poses one of these "do I need a degree?" threads there is always some idiot who says something along the lines of "Well John Carmack doesn't have one". But he is just one person whilst there are several hundred other developers who all have degrees.

Also don't forget not a lot of people stay in the games industry past their mid thirtys. What are you going to do when you have a mortgage and kids to look after and the games industry doesn't pay enough to cover your bills.

Just because a few people made it to where they want to be without a degree doesn't mean that everybody can. Also there are absolutly companies out there that demand more than a good portfolio to get in the door. As Tom says experience trumps qualifications but, this isn't always the case outside of the games industry. Most hedge funds will only hire programmers / quants analysts with PHDs regardless of where they have worked in the past. Google and Facebook have HR policys of requiring a Masters degree to get an interview (Yes there are exceptions to this rule including the actual founders of these companies being drop outs but in this case you will have to proove yourself as one of the key players in a top silicon valley startup).

Even Microsoft including Rare used to have a policy of not hiring experienced programmers and only hiring grads so that they could mold them into working "the microsoft way" (This has probably changed now".

If you are already part way through a degree you should finish it unless you have already been offered a multi million dollar deal.

"Google and Facebook have HR policys of requiring a Masters degree to get an interview"

Google no longer requires a degree to get to interview -- or even to offer. It's part of a policy to increase the diversity of skills and experiences within the company. It took a lot of time to persuade people to change this. Generally it's way easier to get past the screening if you have a relevant degree. I don't know of any engineers there without a degree. Larry holds a masters in computer science and ISTR Sergey has a bachelors. They dropped out of their PhDs... not their first degrees.

Facebook definitely doesn't require a masters to get to interview, but I don't know if they req a bachelors.

[…]
There are some very talented excptions to the rule that get buy without a degree and everytime somebody poses one of these "do I need a degree?" threads there is always some idiot who says something along the lines of "Well John Carmack doesn't have one". But he is just one person whilst there are several hundred other developers who all have degrees.

I am going to pick on this post for the sake of brevity but I have to disagree with every answer so far, but mainly based on either a poor choice of words or a lack of a very very important set of words.

Firstly though, I will say flat-out that you don’t need a degree. And I am not saying this because John Carmack doesn’t have one, I am saying it because I don’t have one. I dropped out of high school yet it was easy to get the first job for which I ever applied, which was overseas, while having no prior work experience. Since then I have had no problems getting jobs and have traveled around the world making video games, ending up in my favorite city, Tokyo, with a very nice job in a very nice company.

I must be one of those who tries to make a rare case seem plausible for anyone, right?
Wrong. For whatever reason I can’t fathom, no one has mentioned that other piece of paper you can get called a “diploma”.

Do you need a degree? Absolutely not.
Do you need a degree or a diploma? Absolutely yes. I could not possibly be where I am without my diploma (literally, you need one or the other to work overseas legally).

So, if we go back and in each reply replace “degree” with “degree or diploma,” then I would largely agree with what has been said.

But that opens a whole new world of options which gives me a whole lot of fresh things to say that haven’t been said.
Firstly, getting a job as fast as you can is important since work experience is more valuable than papers. Spending 4 years in a school before getting a job means your starting salary will be the same either way, but you will be 4 years older.

If you are looking for an entry position at a big name such as Google, a degree would be better. But there is no reason to try to get your start at such a big company.
It would overall be better to go to a 1- or 2- year vocational college and get a diploma in computer programming (just for the sake of having papers, and since it is only 1 or 2 years you can deal with it better) and present that to a smaller company, along with your portfolio, and start working sooner rather than later. The 3 or 2 years of work experience is more valuable on paper than those same years at a university, and that just adds to your strong portfolio, which you can always keep enhancing in your spare time. You will be generating income 3 or 2 years sooner as well.

This is what I did and I am not an exceptional case. You started younger than I did and you may have a stronger portfolio than I did when I first got hired, which makes this route extremely plausible for you, especially if you don’t try to work overseas from the start (I may have gotten lucky on that part).

My advice: Don’t skip school but don’t spend too much time on it. Get a diploma from a 1- or 2- year vocational college and get into the field as soon as you can. Getting in makes it fairly easy to stay in (though some seem to want to leave fairly soon afterwards).