School vs. Self-Taught

Abstract

Problem: Should aspiring game developers go to school or teach themselves? What are the trade-offs?

Approach: Tim Cain draws on his own university experience (undergrad at University of Virginia, grad school and teaching at UCI), decades in the game industry, and observations of self-taught colleagues like Interplay's programming director Jay Patel.

Findings: Both paths are valid. School offers structure, study environments, peer groups, and a credential — but comes with bad teachers, irrelevant classes, rigid pacing, high cost, and gaps in practical skills like debugging. Self-teaching offers flexibility, speed, and lower cost — but requires self-motivation and may lack the social learning environment. Regardless of path, a strong demo matters more than a degree.

Key insight: Choosing between school and self-taught is deeply personal — figure out what you need (structure, peers, pacing, cost tolerance) and optimize for that, just like choosing a workplace.

Source: https://www.youtube.com/watch?v=R6zZyfOmliQ

1. Pros of Going to School

Credential recognition. Many employers look for a degree as a first filter, though what they really want is experience. School counts as a form of experience.

Structured learning environment. Universities have refined the art of teaching over centuries. They provide classes on specific topics, study sessions with TAs, libraries, quiet study areas, and green spaces — an environment designed to help people learn. When everyone around you is studying, it's easier to study too.

Peer learning and group work. Fellow students are an underutilized resource. You can ask questions, work through problems together, and benefit from someone who just figured out a concept and found a good way to think about it. Tim emphasizes that many students fail to take advantage of the 20, 30, or hundreds of other people in their class.

Freedom to go further. Nothing stops you from studying beyond the curriculum — reading ahead in the textbook, exploring topics with no class offering, or diving deeper during lighter semesters or summers.

2. Cons of Going to School

Dysfunctional group dynamics. School groups foreshadow workplace problems: people who coast, hide their lack of output, or argue they were given too much work. Unlike industry, there's no management chain — just the teacher. Tim guarantees you'll eventually land in a bad group.

Rigid pacing. Classes move at a fixed speed. Fast learners get bored; others get overwhelmed, especially when prerequisites have faded from memory. Self-study lets you go at your own pace.

Irrelevant required courses. Degree programs force you through classes you don't care about and will never use. Tim studied thermodynamics as an engineering undergrad — interesting, but useless for programming.

Critical skill gaps. Tim's biggest complaint about UCI: he was never taught how to debug or optimize code. Professors taught data structures, algorithms, automata theory — but not "your code doesn't work, how do you fix it?" When he raised this, a dean accused him of wanting to turn UCI into a trade school. Tim's counter: even academic programmers need these skills. He watched a physics professor immediately blow through a supercomputer's entire memory by allocating a 1000×1000×1000 array instead of using a sparse array.

Bad teachers. Some professors are disconnected from how degrees are used in practice, poor at communicating, or unnecessarily harsh. Tim had a math teacher at UVA so bad it made him hate math for a while — someone who was mean and incompetent, yet got tenure. His advice: compartmentalize. One bad teacher doesn't invalidate the whole experience.

Online alternatives exist. Videos and tutorials now cover almost anything you'd learn in school, at your own pace and for free (or cheap).

Cost. University is expensive. Tim used student loans, work-study, and family help for undergrad, got a scholarship and worked as a TA/RA in grad school, and still faced rough loan repayments alongside rent and car payments when he started at Interplay.

3. The Self-Taught Path

Tim explicitly rejects the accusation that he's anti-self-taught. One of the best programmers he ever worked with — Jay Patel, programming director at Interplay — was entirely self-taught and knew techniques Tim never learned in school.

The self-taught path works well if you have the self-motivation to keep going, can learn effectively from videos and documentation, and don't need a structured social learning environment. The critical requirement: bring a demo to interviews. People who show up saying "I want to make games, here's a game demo I made with a really nice UI" go to the front of the queue.

4. It's a Personal Decision

Tim frames the school-vs-self-taught choice the same way he handles employees thinking about switching jobs: figure out what you care about.

At work, different companies are good at different things — flexible hours, remote work, insurance, vacation, parental leave. A 20-something without a primary care physician doesn't care about insurance; a single person won't look at parental leave. Your friend might love a company you'd find terrible, and vice versa.

For education, the same logic applies:

  • Go to school if you need structure, peers to study with, and an environment designed for learning.
  • Skip school if you can watch a video and understand Unity or C# on your own, learn at your own pace, and stay self-motivated.

Either way, know what you need, then optimize for it.

5. References