Meet Brian Gish, Video Game Tools Programmer
Brian Gish has been programming video games for a decade, but not in the way you might think. He’s more of a “behind the scenes” coder. It’s Brian’s code that enables the artists, designers, and game programmers to do their jobs quickly and efficiently – and that means players get more game, and better game, for their buck. Brian is a Tools Programmer.
Today we’re talking to Brian about his experience in this little-known but critically important job. We’ll find out how he got started, why he loves it – and why you might, too.
What exactly do you do every day as a Game Tools Programmer?
Like most software jobs, I spend most of my day programming. I’m assigned tasks using the SCRUM methodology and all my tasks revolve around the internal tools that the company uses. I program in C# using WPF, and a little bit of C++ for game engine code.
Since all my work is for the artists and designers on the game teams, I probably spend around 10% of my time interfacing with them, 70% spent coding, and another 20% spent on random things like meetings and code reviews.
Find game schools near you
How did you originally get that job?
I had just been laid off from my first job out of college as a sustaining engineer at a database/computer backup reporting software company. A recruiter contacted me about a testing tools contract position at Microsoft Gaming Studio working on Fable 2. I had always wanted to work in the games industry so it was a dream come true!
Since I had my foot in the door at that point, I was able to get a job at Sony Online Entertainment as a tools programmer after my contract ended. Most game companies don’t have testing tools specific roles (usually referred to as a SDET), so I applied for tools programmer positions. Both are very similar so it wasn’t a hard leap.
What’s your favorite or least favorite part of being a Game Tools Programmer?
My favorite part of being a tools programmer is that my customers are the people I work with, so I get instant feedback. I don’t have to spend years working on a product and never know if people will like it. When I finish a task people stop by my desk to say thanks and sometimes even buy me cupcakes!
My least favorite part of the job is when there’s a break in communication and what I’m tasked with has no value to the company. Usually this happens because someone a long time ago thought it would be necessary, but over time has it has no longer become applicable. It’s usually a solvable problem that you can work out with your manager, but it does happen more often than I’d like.
What aspect of the job would be surprising to people looking in from the outside?
[Laughs] Mostly, just trying to explain what I do! Most people don’t understand that a tools programmer position is needed. It’s hard telling people that I work at a game company but nothing I do actually makes it into the final product.
I end up explaining that we have a game engine that takes in a ton of raw data and puts the game up on the screen. Then we have artists and designers who are expected to input that raw data. I’m the middle man that makes their lives easier so they can be more efficient and thus more creative.
What does it take to succeed as a Tools Programmer?
Being personable and a great listener. A good tools programmer never blindly does the tasks he’s assigned. He takes those tasks and talks to the people who wrote them to make sure you fully understand why the task was written. A lot of the time the task is only solving a symptom of a much larger problem, and it’s much better to solve the problem and not the symptom.
What advice would you give to students thinking about tools programming as a career?
Classes can only teach you so much. Have lots of side projects!
Have lots of side projects! Throughout high school and college I was always programming. Classes can only teach you so much. I would make anything from Tetris clones to file transfer programs. Since you don’t have any real world experience yet, they help prove that you love to program and that you’re excited about games. Most of my interview questions revolved around what I did in my free time, and they definitely landed me jobs.
What would you recommend for education to start down that career path?
As for school, I know a lot of people who went down the Digipen route and have been very successful. I ended up doing the four year college route with a computer science related degree and I feel like it was the best choice for me. It made me feel more confident that I could go into any field if games didn’t work out. But going this route means you have to do game-related side projects to prove you’re passionate about the games industry.
Also, know your algorithms and their complexity! The book Data Structures & Algorithm Analysis in C++ by Mark A. Weiss was like the bible to me. Almost everything I’ve learned from that book has come up in an interview at some point in time or another.
Never stop learning. Frequent sites like GameDev.net, read articles, and make sure you’re familiar with every aspect of how to make a game. You don’t have to be an expert, but knowing a little about everything makes you that much of a better tools programmer.
You can reach Brian via his LinkedIn page. If this article was helpful, please spread the love by clicking a share button below.