For every job in the video game industry, there’s a natural career progression as you gain experience over the years.
For video game programmers (also called engineers) there are typically two options. One path is to become a senior engineer and take on more challenging projects. The other is to become a technical lead, possibly increasing in scope to eventually lead multiple engineering teams and projects.
That second path — the engineering-leadership path — is a job called the Technical Director.
Today we’re speaking with Dan White, a highly-experienced Technical Director in the video game industry. He’s been making games since 1995, and in 1999 he started a game studio that’s still going strong today. We ask him what it takes to become a Technical Director, why management is rewarding, and how you can start your own career in video game engineering.
What are your responsibilities as a Video Game Technical Director?
I’m ultimately responsible for the engineering on our games. That means making sure projects are technically and financially feasible before we start, getting the right software engineers onto the projects when we do start, and helping those engineers solve problems once a project gets going.
Find game schools near you
How did you start your career as a Technical Director?
I started out as a software engineer at a game company called Dynamix, and then cofounded a new game studio called Pipeworks in 1999. Pipeworks had nine people back then, and we did one project at a time. I was effectively the lead programmer, and my job evolved from there as we expanded. We have about eighty people now, and we sometimes do as many as six projects at once.
What’s your favorite part of the job?
I also love the exchange of ideas. We have an open office layout, and I really enjoy the impromptu meetings with other engineers to help them solve problems on our projects.
What’s your least favorite part?
When we are considering starting a project, I often have to do the initial project scheduling and budget estimates for the engineering groups. I really dislike this because there is so much uncertainty, and I’m usually wrong in some major way. However, it has to be done for the studio to be financially successful and survive.
What aspect would people find surprising?
As an engineer, I spent most of my time writing code. As a technical director, there is so much talking. There is so little writing code. [laughs]
If you don’t write much code, how do you keep up with the latest technology?
Technology moves so fast that I don’t know many of the details of how our projects are put together. It makes me feel very awkward sometimes, especially when I’m talking to new engineers. Even though I’m the experienced Technical Director, I may have to ask the guy three months out of college to explain to me how something works.
Engineers are used to knowing things so it can be very humbling. It can make you feel insecure. I think the feeling is part of what drives people out of engineering management roles.
What I realized is that it’s the curiosity and desire to learn that counts most, and not the individual facts. You don’t lose respect because you don’t know things; you lose respect because you don’t ask questions or, much worse, you pretend to know things you don’t.
What does it take to succeed as a Technical Director?
Even though I now do very little actual coding, I have a deep love of programming and the technical aspects of game development. That makes it easy to keep learning, and helps me interact with engineers I’m in charge of.
I value engineers on a professional and personal level, and I think people can see that. That authenticity helps people trust me and overlook my other faults.
What education would you recommend to become a video game engineer?
I think you can get a good education from the game schools like DigiPen Institute. However, I would recommend a computer science degree from a traditional school. If you ever do something beyond games, the traditional CS degree will get you a lot farther.
Programming is the autodidact’s dream. There are some things that are easy to learn on your own, for example, a new programming language. There are some things that are harder to learn on your own but schools are good at teaching, for example math and the theoretical side of computer science. If you are in school, have the professors teach you the hard stuff. You’ll never get a better chance.
What’s a good way to learn technical leadership skills?
Practice project scheduling and management skills whenever you can. I went to a fancy-pants college and had a cafeteria job to help pay for it. Eventually I became a shift supervisor. The experience of trying to corral and cajole a bunch of smart people to wash dishes and mop floors was invaluable.
How can somebody get started today?
Get a game engine like Unity 3D and make a game. Just do it! The default now is for entry-level game programmers to have a portfolio piece. You should have some sort of sample project in your Github account.