15 July 2020

What does an Engine Programmer in games do?

Timea Tabori always knew she wanted to work in the game industry, getting into programming to secure her current role as a Senior Engine Programmer at Rockstar Games. In her career, she has helped release huge titles including Grand Theft Auto 5 and Red Dead Redemption 2 and is a Women in Games Lead Ambassador. We asked Timea, some key questions about getting into the games sector.

Explain your role like I'm 5 years old

Just like engines in a car, video game engines are what make games go. The engine forms the most important, core technology running underneath the bonnet of games. The better, more efficient and more powerful the engine - the smoother the ride and the more cool features the game can have. I work on improving our engine, so our games can go faster, work on new consoles and support all the fun features our designers can imagine.

Take us through your average day at work

Depending on the stage of development we’re at for a project, I might be working on implementing a larger feature or new system, working with other departments to establish the requirements, desired workflow and create a robust and performant solution; or towards later stages of development, I might be more focused on responding quickly to bugs and stability issues that have come in from our testers. Whether I’m in quick-fire problem-solving mode or a more contemplative systems development mode, my work will always involve working with others across the studio, communicating clearly, building consensus, and writing efficient and clean code.

What was your educational and career journey into your current role?

I'm originally from Hungary. I knew from a young age that I wanted to work in games and I quickly realised that there were no games-related University courses offered in the country so I started exploring my options elsewhere. When I was 16 I decided to move to Ireland to finish my last two years of high school there. I enjoyed maths, solving problems and when considering the myriad roles within game development, I was fascinated by programming. It seemed like learning this magical new language would allow me to communicate with computers and build living, breathing virtual worlds in them. I wanted to be able to do that, so I decided to pursue programming.

What is it about your role that you love?

I love playing detective, looking for clues in the code to diagnose a problem and fix it. I also enjoy building consensus between teams to arrive at a solution to a problem that will not only fix a bug but also make our games run well and be easy for other members of the team to work with and understand going forward. To accomplish that, I might be working with other programmers, exploring new parts of the code base and problem-solving together or collaborating on a system; working with designers and creating logic blocks that will allow them to build the cool ideas they have dreamt up; or artists to create workflows and efficient systems to make it easier to get even more of their incredible work into the game.

And of course, I work with testers most days - they play a crucial role in development finding problems in the game (also called bugs) and giving us information to help fix them as quickly as possible and prevent them from making it into the final product.

What's the hardest thing about your role?

There are lots of different stakeholders with various roles in game development. Communicating smoothly and effectively between so many different people with different perspectives, priorities and motivations can be incredibly challenging. But when it all goes well, and we manage to build consensus and make multiple teams happy it is also one of the most rewarding parts of the job. And for this reason I believe that one of the most important skills in game dev, regardless of discipline, is communication and empathy - being able to place yourself in the shoes of someone else and approach a problem not just from the perspective of what would serve you best, but also what would be the most helpful for others.

What key skills should people work on to do your role one day?

Programming skills are the most obvious. I work in C++ so a solid understanding of the language is key. Being part of the engine team our work can be pretty low-level so strong debugging skills, critical thinking, problem-solving, and systems thinking are also very important. And like I mentioned before, with so many different disciplines collaborating, it is vital to have strong communication skills - to be able to explain your own domain of expertise in simple terms to those not deeply familiar, and equally to be able to speak the language of designers, artists, producers and more so you can arrive at solutions quickly by asking the right questions.

What advice would you give to your younger self looking to get started in the industry?

Don’t be afraid to explore different roles within game dev, even ones that seem intimidating at first. You might find a treasure-trove of joy and rewarding opportunities. Also be patient and realise that it’s okay to not know everything. Failure is only a stepping stone to success if you persevere and programming is such a vast and ever-evolving discipline - no one can know everything. Part of the job is just knowing who to ask and learning how to find information when you need it, rather than having it ready to go in your head. Reach out to your local game dev community, find your support group and don’t ever feel like you need to fit some mold. Your unique talents are exactly what’s needed.

Do you have any links to good articles or videos that you think might give some tips or advice to someone starting in your role?

If you’re interested in programming start by exploring something very simple such as:

Scratch

These tools have great online communities to help you get started so if you’re ready for a bigger challenge then try:

Game Maker

Unity 3D

Stay up to date

It's time to level up your inbox

Pick which newsletters you're interested in receiving, and customise further by specifying a discipline.

Join our mailing list

Tell me more

In Other News...