Question About Comp Sci Major and Game Development

Jan 30, 2012

Question, Part 1

– Hi Chris. This is my first year in college, and I’m currently a Computer Science [CS] major. However I came in with no prior programming experience, so the math and programming classes so far have been pretty tough. I am thinking about switching my major to something more enjoyable, and just trying to teach my self game development instead. Any thoughts on whether, or maybe why, it would help to stick it out with CS? My dream job is to work in the gaming industry, though I may wind up looking into indie development.

Answer, Part 1

First, full disclosure: I was a CS major, too. That may bias my view of it, but it also means that I can provide an informed, first-hand look at how it did or didn’t help.

Everyone’s path in life and career is different. The decision is purely up to you, and as you necessarily know more about yourself than anyone else does it’s important to weigh my thoughts on this as just one more source of data.

Whether you decide to seek corporate industry work or go independent, I think that a Computer Science degree is still among the most applicable, useful, and broadly marketable backgrounds related to game development. I’ll do my best here to make a case for why I think that’s true.

Note too that, importantly, CS is also a credential respected outside of games, which can make it a practical degree to have for finding or creating back-up plans down the line if necessary.

Comp Sci != Game Making

As you’ve probably already discovered, game development generally isn’t really part of CS curriculum, except perhaps for a single high level elective class. Almost all of my game development during college came from extracurricular clubs.

Learning game development requires a good deal of self-teaching no matter what major someone is undertaking. Experience in CS is relevant though, and it complements someone’s self-education in game development by pushing development in areas that it would be easy to overlook on our own. Material from CS can be useful outside of the classroom, when working through real-world game development problems, sometimes in ways that are hard to recognize until they come up during the creative process as either challenges you’ve prepared for, or – if the skills aren’t there – as apparent dead-ends.


Comic from Abstruse Goose, shared under Creative Commons Attribution
 

There are no doubt routes to take that are easier or more enjoyable to take in the short term, but those paths may or may not be easier and more enjoyable in the long term. College years are partly about investing in your future capabilities and opportunities; the standards and challenges of a CS degree are just one of the established ways to stay on a solid track to do just that.

If it’s not immediately clicking, it might require spending some more time in the library studying (even if you don’t need the books there for CS, it’s handy as a well-lit place filled with other people calmly working, too), attending more of the optional tutoring and office-hours sessions available through your school, starting earlier on assignments, and staying up later sometimes to hack through getting assignments figured out and working. Many college students wind up automatically paying for resources but not making full use of them, whether via the career center, library assistance, or office hours. Before deciding that a subject isn’t working out, make sure that you’re at least getting your money’s worth and using all the mechanisms available. Outside of working on videogame projects and trying to live a rounded life in college, I spent a ton of time at office hours asking questions to try to fill in for what I didn’t understand yet from the lectures and reading.

Big Company vs Indie

A qualifier about the difference between big company work and an indie career: earnings from independent development can be really, really hit or miss, spotty and unpredictable, and in the majority of cases unprofitable. There’s a huge selection bias in the indies we hear the most about – they’re disproportionately the rare success stories that have done extraordinarily well. The countless others that are barely scraping by or losing money don’t make for good headlines.

Independent work can be a tricky and trying path to navigate, and though it’s potentially very rewarding, it should perhaps be initially thought of as something to develop on the side of some more consistent line of work as the main plan. With a bit of momentum from giving yourself a head start, and a bit of savings in the bank from doing something with a more predictable paycheck for awhile first, you’ll have better odds of lifting off the runway.

One element that helped me in my journey – though again each individual’s mileage from such choices will vary – was to minor in Business Administration. Those courses involved learning and practicing skills that were useful in every scale of work environment that I’ve been involved with, including my time alone: presenting information/ideas/yourself to others, basic financial concepts, project planning, even practical bits like resume preparation. (Even if you go independent, keeping an efficient, up-to-date, professionally presented summary of skills and work can be useful to have on hand.)

Whatever you decide, good luck on the road ahead!

Question, Part 2

– It seems like many of today’s big designers got into the industry with a non-technical major. Do you see the industry moving more towards requiring a relatable degree?

Answer, Part 2

You’re right that many of the current big and/or historical names in the industry have a seemingly random assortment of backgrounds. John Romero and David Perry were both, if I recall, completely self-taught, and did not attend university. Nintendo’s Shigeru Miyamoto went to school for industrial design. In my interview with Atari Adventure designer Warren Robinett, he mentioned that one of his early co-workers in the game industry, “had a degree in Zoology.”

Of course, Shigeru Miyamoto was born in 1952 – so for perspective, Pong hit the market (overseas, here in the US) when he was already 20 years old. Robinett’s undergraduate degree was not in Computer Science – he majored in a CS-like area of math, but when he was an undergrad CS had not yet become a standardized field of study.

That historical difference partly accounts for what you’ve rightly pointed out.

40 Years Ago

The industry didn’t exist when most of the early innovators were growing up. To the extent that some degrees were later relatable, like Robinett’s pre-CS technical/math major, no one at that time could have picked it for that purpose, because those exact jobs and products didn’t exist yet.

Another thing to keep in mind was that computing was very different in the 1960’s to early 1970’s. Far fewer people had access to computers, but among those that did, a much higher percentage of users taught themselves how to program because it was pretty central to being able to use a computer at all. Programming was one of the few activities that could be done on machines at the time; the first word processor didn’t come out until 1972, and the internet didn’t become common and commercialized until much later in the 90’s.

There also wasn’t much ‘prior art’ for a game developer to catch up on. Nearly everything being done at all was new, and by casual assessment equally valid from a business perspective until the market response to a shipped product indicated otherwise. By comparison, much has since been sorted out by now, both from a technical perspective and also from a business perspective. People have already lost a lot of time and money figuring out how to do certain things in impressively efficient ways, how to collaborate effectively on team projects, and discovering what consumers responded well or poorly to. Developers caught up on those findings have an advantage over others starting from scratch, reinventing the wheel, insisting on learning the hard way.

Now that four decades have passed, many of the surviving companies have thousands of employees (or at least compete against companies of that size), and there’s demand for high degrees of specialization for a team to be able to distinguish its products from those that competitors are able to create. Even just keeping up with inflated consumer expectations, especially on today’s higher fidelity platforms, can require specialists. Whether applying for an industry job or creating independent games as a small team, each individual is competing against a tidal wave of other eager, passionate people that have partly designed their education and adult lives around developing skills that have been found relevant to the now more established craft of videogame production.

Increased Importance of Degrees

The increased importance of degrees, though more so for applying to jobs as opposed to working independently, has also become a useful shortcut for hiring managers serving as a company’s first line of assessment. At a company with a recognizable brand, the executive producer or lead engineer can’t personally screen every applicant. Instead, the initial set of applicant submissions first has to make it past recruiters that are not necessarily game development specialists, and thus may look for specific degrees and types of prior experience as evidence of the skills they’re hiring for. Applications making that cut then move on to one or more rounds of interviews, at which point an appropriate specialist from the team may be available to help assess actual qualifications, but getting to that phase with little/no relevant professional experience is part of where the appropriate degree can help.

While there may be capable applicants without relevant degrees, unfortunately there are often enough qualified applicants that do have relevant degrees that it’s easier and more cost/time efficient for a company to hire primarily from the latter pool, for which less screening may be required since college admissions and professors may be thought of as a very specific sort of filter.

Comp Sci is More Than Programming

A CS degree is not just about knowing how to program. Having a particular degree is often also interpreted as evidence, correlative beyond the scope of what’s covered directly by the curriculum for that degree, that someone is dedicating themselves to some predictable set of knowledge, skills, and values. Companies need all kinds of people to thrive, but from a purely practical perspective, it doesn’t take much imagination to picture how a “CS person” can fit in and benefit a company that creates software. Computer Science rewards attention to efficiency, feasibility, robustness, extensibiliy, self-correction, and some other less easily pinpointed but equally useful priorities, in ways that specifically apply to computer programs. (I.e. while it’s true that plenty of subjects may reward attention to efficiency and feasibility, traditional CS approaches these in an extremely rigorous fashion by dealing with their theoretical limits.)

The increase in people hired that have relevant degrees, from the above factors, has created a positive feedback loop. When the people with those credentials get promoted over the years into more senior-level positions, they’re even more likely to value that same (or similar) credential among incoming candidates at an interview stage.

Game Degrees

Another option within the spectrum – which you haven’t asked about directly but I’ll address here for sake of completeness – is in degrees more specifically and narrowly about videogame development. These haven’t been around as long as Computer Science, making them a bit less standardized, and consequently more of an unknown, unproven value to many people in industry. Anyone with a CS background has a pretty clear idea of what someone with a CS degree from another school likely covered, but there’s so much variety between game degrees that it’s hard to know what skills and work culture to expect unless someone in a hiring position is personally familiar with that exact school and educational program.

Partly as an effect of having not been around as long, there are also fewer senior-level people (yet) from those types of educational backgrounds.

The flip side is that some of the same factors that have made the CS degree of more interest to the industry are likely at work for those more game specific degrees: easy shortcut for hiring managers, evidence of (probable) commitment to certain knowledge and attitudes beyond the curriculum, and as time progresses, more senior level people coming from that background will be held up as evidence of the type of value associated with those degrees.

That path can also be a more risky value proposition to students, however, since those degrees sometimes cost comparatively more (being seen as more vocational, and thus framed more as a financial investment) and can be more limiting to videogame industry work. Students with those degrees have less of a clear back-up plan, not only if they can’t find a fit in the game industry, but also if the game industry undergoes a major shift as it did when arcades mostly phased out, when MMO’s seemed like the next/only big thing for awhile, when digital/mobile distribution lowered barriers-to-entry for competitors with much smaller staff, and as social games have grown to absorb an increasingly sizable chunk of game company investment capital.

How good of a back-up plan comes out of a mostly game-specific degree varies greatly between how individual schools have chosen to implement such programs. I have heard peers in such programs report everything from their studies being typical Computer Science in-disguise, to specific tool training (which can seem the most useful in the short term, but can be the least useful in the long term – teach yourself the tools, instead!), to amounting to little more than an excuse for networking. Remember though that a recruiter without direct connections to the particular program (perhaps less likely outside the industry than within it) may not have an easy way to quickly discern one of the above from another, and that could affect whether an application makes it to a stage in the process at which someone with the necessary domain knowledge takes the time to sort out the candidate’s relevant capabilities.

Closing

The case, by contrast, for a CS degree is that its emphasis is on fundamental concepts, which aim to extend well into the future largely independent of specific technologies or how the market may change. At any time in game industry history, even just a five year span has covered some pretty dramatic changes, but a proficiency for the skills and mindset of proper software development has remained central and relevant.

Lastly, as a reminder: I have only an outside, second-hand perspective of the alternatives. Your best bet for gaining a more balanced perspective would be to pitch this same question to some game developers with different backgrounds. There’s no one right way to go about it, though the odds are better some ways than others.



Learn and practice team game development with Gamkedo Club.
Membership worldwide. Professional support. Proven process.




Subscribe by e-mail to receive weekly updates with Gamkedo.Community interviews and YouTube training videos for game developers!



5 Comments

  1. tartley says:

    Disclaimer: I’m not a game developer, so I don’t really know what I’m talking about. I’m a software engineer who has produced a couple of hobbyist games on the side.

    It’s fair to note that being a game developer involves a lot more than just the things you’ll be taught during a CS major. But the same is true for any sort of developer: web developers, embedded systems, geographic info systems, mathematical modelling, finance, scientific applications, radar analysis and any kind of start-up (to namecheck the kinds of roles I’ve dabbled in through my software career.)

    Nobody would have taken me seriously if I’d applied for roles as a developer of geographic software without a CS degree. This isn’t just a matter of perception. I would have been a rubbish geographic software developer without it. The same is true of games developers. It’s possibly to produce a few games with entirely self-taught skills, but the range and depth of what you’re capable of will be nowhere near as large as if you do the major.

    Before you think I’m being elitist and dismissing other people to make myself look clever, consider this: I don’t actually have the much-vaunted CS degree (I did electronics) and now, twenty years later, I regret that decision because I was a rubbish geographic information systems developer, who achieved nothing of note during that part of my career. Obviously by now I’ve read and studied and self-taught myself everything that I missed during my undergrad, and plenty more, but in the meantime, the best of my peers have been building on top of their undergraduate studies, instead of consolidating them like me.

    Learn from my mistake. If you want to be the best game developer you can be, then challenge and stretch yourself. There are many axes along which to do it, and a CS degree is one of the most challenging, aimed squarely at one of the hardest part of a game developer’s required skillset, and hence is one of the most rewarding things you could do.

  2. Tim says:

    I have a Computer Science degree and a Masters in Computer Graphics. I first started working in the games industry in 1997. I’ve also done a reasonable amount of interviewing prospective programmers for several games companies, so I know a little about the kind of things games companies look for.

    The first thing to realise is that even a degree in Computer Science isn’t going to turn you into good programmer, but it will give you a good start. Becoming good takes experience and a certain amount of dedication. My CS degree gave me a good start (although I’ve actually been programming since I was 9 in BASIC in the old 8-bit days), but it wasn’t until later in my career that I turned into a good programmer. Up until then I’d merely been promising.

    I’ve seen the same thing with graduates – some are very promising, but they don’t become good until they have experience. With that in mind, I look out for people who seem genuinely interested in programming and technical subjects. Obviously a passion for games is important, but it isn’t enough. Unless a programmer is also finds technical subjects and the idea of becoming a better programmer interesting, they won’t improve.

    I think that may be one of the reasons people in my position tend to trust CS degrees a bit more than games degrees – with a games degree you’re not so sure how deep the technical training goes – with a CS degree you know that someone with a good mark will have at least had sufficient technical interest to do well on that course.

    My advice would be, if you wish to become a games programmer – take a CS degree, and work on training yourself on the games-specific stuff in your spare time. Make some games in Unity. Write some shaders. Try and write a simple graphics engine in C++.

    Entry-level programming positions are hard to come by at the moment – if nothing’s available when you leave University, you can at least get another programming job, which will get you the work experience that employers look for. Then after a year, you’ll be able to turn up to games companies with a year’s experience under your belt, plus the games and demos you’ve been doing in your spare time since you started Uni.

    Best of luck!

  3. Tyler says:

    Just a quick comment for Chris who asked the first question: CS is hard for everyone. Doubly so if you’re going in with no experience. I had a little experience programming going into my first CS course and I still had to re-take it, and if anything I’m glad I did because it gave me a more solid understanding of the fundamentals.

    It takes time and dedication for anyone to get over the initial learning curve. Stick with it and you’ll be okay.

  4. Craig Hall says:

    I went into my computer science degree with a lot of game programming experience. Here’s my take on it:

    If you grew up as a native English speaker and wanted to become a novel writer, just because you knew how to speak the language doesn’t mean you couldn’t become a lot better by getting a university degree in English.

    Now, going into computer science without any programming knowledge is probably like a foreign student whose first language is not English trying to get that same English degree – it’s harder, but equally worth it.

    I don’t really think that a computer science degree is a good way to learn “programming” (i.e. how to speak a language). It can be immensely beneficial as a way to learn all of the things that you maybe didn’t know you needed to know (data structures, assembly language, matrix math, software engineering, and a dozen other things). There are things I learned in university 15 years ago that have only become relevant to games recently as hardware has gotten faster.

    Also, a computer science degree has applications well outside of gaming, just in case you decide this crazy industry is not for you.

    I guess the short version is, I didn’t need a computer science degree to make games, but I believe it helped me become a much better developer.

Leave a comment

Comments Form
  • Your email will not be used for any purpose other than to update you in replies to your comments. Your website address will be shown as a link from your name with your comment. Your profile photo is auto-magically provided by Gravatar.

All contents Copyright ©2017 Chris DeLeon.

Site production by Ryan Burrell.