I'm in my last year of high school, and I've been looking at colleges. I'm taking a C++ class at a local community college and I don't feel that it's worth it. I could have learned everything in that class in a week.

This had me thinking, would a CS degree even be worth it? How much can it teach me if I can learn everything on my own? Even if I do need to learn more advanced subjects, many colleges put their material online AND I can buy a book. Will companies hire me if I don't have a CS degree? If I have a portfolio will I stand a chance? What kind of things are needed in the portfolio?

I want to live doing what I love - programming. So I will do it. I'm just not sure that a CS degree will do anything to me. In addition, if there is a benefit to getting a CS degree, what places are the best?


As a burned-out, bitter, and cynical programmer with >10 years in the industry, this would be my advice:

Don't plan on games as a long-term career.

Plan to do it for a few years, get it out of your system. But plan for a more sensible career longer-term, and don't leave it too late to make that change

You might manage 5-10 years in the industry, then you'll realise that there's not much long term future in being made redundant every 1-2 years, and crunching like crazy to buy the higher-ups supercars whilst barely seeing any pay rises, let alone bonuses.

Also, the industry changes at quite a pace. When I was at high school age, it was all about the Amiga, 16-bit consoles, and 2D games. By the time I came out of university, it was all about 3D and Playstations. These days, the 'big games' industry is in a worse state than ever, can't see it lasting many more years as things are. But we have a resurgence in bedroom coding/indie development, and new opportunities in mobile devices and web-based platforms.

Change can be exciting, but generally change means layoffs. Layoffs force salaries down. Changing job means relocating... Most people can't keep doing it for all that long...

  • 1
    \$\begingroup\$ So, what I take from this is. Aim to be at the top :D \$\endgroup\$
    – Jesse Dorsey
    Jan 30 '11 at 10:59
  • \$\begingroup\$ Thanks for the GREAT advise! I'm taking two programming courses (one a 200 level) from a community college, and it's burning me out already. Again, just great, great, great advise. :D \$\endgroup\$ Jan 30 '11 at 20:35
  • \$\begingroup\$ @Noctrine, well, it's more 'Aim to run your own successful studio' (or run a successful business in general), rather than doing hands on techical and/or creative work 'for the man' forever... \$\endgroup\$
    – bluescrn
    Jan 30 '11 at 20:43
  • \$\begingroup\$ +1 great advice. This is actually a good argument in favour of learning CS and moonlighting for game development. \$\endgroup\$
    – ashes999
    Oct 7 '11 at 13:18

I'm going to point you to my answer on the game dev degree vs. computer science degree question: Game Development Degree vs Computer Science Degree

A CS degree is more than just learning how to program. And working with a team making games is a lot more than just programming.

  • 2
    \$\begingroup\$ I was going to write a long page why CS is more than just programming. Somehow, you found a way to do it in 2 sentences. \$\endgroup\$ Jan 30 '11 at 18:46

I'll answer it in a game-development context since your title seems to indicate that's where you're going with the question. Would a CS degree be useful for game development programming? Yes. I don't know how much you can teach yourself but if you could teach yourself that well, you'd already know and wouldn't be asking here.

I'm working on a masters degree in computing and video game development (where I work directly with professionals who work in game development) and the experience I got with the traditional CS undergrad classes has been invaluable.

I have a friend who has gotten a number of programming jobs without a college degree but he's the type of person who creates compilers and interpreters for computer languages he creates for fun. Unless you're that hardcore, you'll almost certainly need a degree.

  • \$\begingroup\$ I'm moving this to programmers.stackexchange.com. My question was asking if I companies would hire me, because it seems like an impossibility for an unknown indie to make a living right out of high school. \$\endgroup\$ Dec 14 '10 at 19:44
  • \$\begingroup\$ Programmers are more hired for experience/knowledge/working demos than education it seems, but a degree is always helpful, if you don't have any experience. \$\endgroup\$
    – Spooks
    Dec 15 '10 at 14:00

Edsger Dijkstra allegedly said "computer science is no more about computers than astronomy is about telescopes." Often people replace "computers" with "programming," for much the same idea.

An education in computer science will expose you to a wide variety of topics that have nothing to do with programming itself (although programming is often used as a vehicle for communicating and solving those problems) -- topics that have to do with modeling and manipulating information in interesting ways that tend to be very relevant in modern game development (even if it won't seem apparent while you're slogging through the classwork). For example I have leveraged the knowledge I acquired about graph theory in several instances to build automatic layout and diagramming tools, "visual programming" type editors, and unique-coloring algorithms to allow designers to have a holistic view of the the content they produced for a game, et cetera.

You don't need a computer science degree to be a game programmer. You could have another degree (or, if you're quite good, no degree at all, but that could be risky in today's job market at least) -- math or physics, for example. You could even get one of those "game school" degrees (but I would not recommend it). It is important that you study what you are interested in, because college will only give you benefits proportional to the effort that you put into it, and you're not likely to do that if you're not invested in your coursework in some fashion.

Certainly studying on your own, outside of school, is important, too -- because most colleges won't be teaching you how their coursework can be applied directly to game development. Plus, building games and little tech demos on your own will help you have a portfolio of interesting work to talk about in your future job interviews. Some interviewers, myself included, are greatly encouraged by a candidate who takes the time to pursue knowledge on his or her own.

As for where you should go... that depends on you as well. You should go to a school that interests you, where you think you'd fit in, where you like the environment, et cetera. You should visit schools if possible. You don't need to go to Brown, MIT or Carnegie Mellon or whatever in order to get a good, solid CS education. In fact, I'm personally a bit skeptical that there is any significant benefit at all to doing so (many such schools are actually more well known for their graduate programs, and their undergraduate material may be no better off than anywhere else).


Not the answer you're looking for? Browse other questions tagged or ask your own question.