19 min read
12.07.2024
#Game Programming

Senior Network Engineer in the Games Industry – Michał Buras – GAMEDEV INSIGHTS #10

See similar blog posts

Welcome to “Gamedev Insights,” our series where we dive into the lives and careers of experts from different areas of the gaming industry. In this episode, we feature Michał Buras, Senior Network Engineer at Highwire Games.

With a background in software engineering, he has successfully transitioned into game development and now offers valuable insights and advice for developers aspiring to enter the industry. Join us as we discuss the varied career paths available to game development programmers and talk about the specifics of the recruitment process in this field.

Ljubica Garic, Senior Recruiter, 8Bit

Welcome to Gamedev Insights, the podcast where we dive deep into the world of game development. Today we are thrilled to have Michał Buras, a seasoned senior developer with over a decade of experience in game development, join us for an insightful conversation. In today’s episode we’ll explore a range of topics that highlight the unique challenges and opportunities faced by programmers in the games industry. Let’s start from the beginning.

Switching Career to Game Development

You actually are that programmer who transitioned from IT to game development. Could you tell us a bit more about that path?

Michał Buras, Senior Network Engineer, Highwire Games

While I was working in normal, traditional IT, as you might call it, I was really strong in C++ and I was working in a cloud company where we had a lot of C++ and a lot of REST APIs. And that mix of skills was something that was very much needed in a VR company, VR for industry, where the C++ enabled me to learn Unreal Engine very quickly. And my online and networking experience was something that was very much needed at the moment in the project.

So it was kind of easy for me because I learned Unreal and I learned gaming on the way.

Ljubica Garic

This transition and actually breaking into the first game development role in game dev is quite challenging. Is there any advice that you can share to all the people hoping to get into the games industry as programmers? Any advice on their portfolio?

Michał Buras, Senior Network Engineer

I think when you want to go into the game industry, you have to pick your weapon of choice. And your weapon of choice would be either in-house engines, where you need to be super strong in C++. You know, those super magical pointer types, all the containers, you have to know it just like that.

Or Unity or Unreal Engine. Those are the three major ways to develop the games. If I was a newcomer or if I wanted to rebrand myself, obviously I’m a fan of Unreal Engine, so I pick Unreal Engine and learn it.

You just go through all the tutorials, all the stuff in the internet that you can get your hands on. Learn that and I think it should be enough to get you started for a junior position.

There are some basic concepts that kind of differ. In games you have like this game loop that loops all the time in game and it’s kind of wasteful, but that’s the way the games are done. So you’re a bit switching the paradigm from regular object oriented, which you’re most likely right now doing in your job, to something a bit more different. So that’s the advice I would give to myself previously.

Learn a lot of Unreal, Michael.

Ljubica Garic

And how important do you think are personal portfolios, personal projects, games that were developed in one’s spare time on game jams?

Michał Buras, Senior Network Engineer

What you’re saying is true, but there’s a really good thing to having your own portfolio is that when you’re going on interview, you can keep kind of the interview in the scope of your knowledge. So if you don’t have like any game in your portfolio and you go into the interview, you’re going to be standing against the wall and being shot at with random questions. And the outcome of the interview will be random regardless of your knowledge, because you could be like a very good programmer, but it just so happens that the problems they want you to solve, you’d never had opportunity to even look at.

And you’re not going to be as good as discussing something that you did previously. So especially for junior positions, if they don’t know what to ask you, because you don’t have real experience, having a game in your portfolio that you could present and talk about some cool technological solutions that you had, it’s really good to have one. So when you’re going further into a senior position, mostly talk about your previous experience and what you did in previous projects.

That’s kind of my approach to interviews. Don’t let them ask you random questions.

How I Learn New Things as a Developer

Ljubica Garic, 8Bit

Yeah, we’ll get to that later as well. So you said that it’s important that one chooses their weapon of choice and do as much as they possibly can to learn all about it.

And this learning aspect is also important as you’re moving further in your career, the projects are getting more complex, the technologies are changing. So how do you actually keep up to date with the ever-evolving software, technologies, complexities of game development? It’s really hard to balance out your 40-hour work week or even more with setting time aside to learn new things.

So how does that actually happen for somebody senior?

Michał Buras

Main of the reasons that I switched from traditional IT to gaming is that all the cutting-edge technology that gets out there, you basically want to use it as soon as possible because it makes your life easier. So when I was working for an example in the cloud company, we had a very old C++ framework. And if I’d stayed there, I would be an owner of a very large portion of the project, of the company.

They wanted me to be a lead, but I didn’t want to be this old dinosaur that develops some old application in some old library. I wanted to see what’s out there. I wanted to do the cool stuff and play with the new toys.

It kind of comes with the industry. In game development, your game has to use all the new tools because, for an example, when there’s a new physics engine out there, it enables you to make cooler stuff inside your game, right? And if they’re not going to use it, you’re going to end up having bad reviews because other developers in another game have better physics engine.

So it kind of comes with the territory. This is the best part. Whether I want it or not, I have to learn the new stuff.

Soft Skills in the Game Development

Ljubica Garic, 8Bit

As a programmer, you’re a part of the team. And as the game grows more complex, the team grows bigger. And the importance of communication and soft skills also grows bigger.

So for you as a programmer, how important are these soft skills and how did you actually manage to develop them?

Michał Buras, Senior Network Engineer

I’m not sure if I ever developed soft skills. I mean, it’s kind of always there more or less.

There’s something. You learn how to write official emails that look nice, right? But with communications, in terms of communications, I don’t think. I think I was always the same guy.

Senior Network Engineer in the games industry - interview with Michał Buras from Highwire Games by Ljubica Garic, Senior Recruiter at 8Bit Games Industry Recruitment

Ljubica Garic, 8Bit

So how did you actually choose your path in game dev? You mentioned that you’re always looking for a place in which you will be challenged, where you will be learning new technologies. But from what I see, you found your niche in game dev.

So how did that happen? How did you transition to now being a Senior Network Engineer, a programmer that is focused on networks?

Michał Buras

It’s kind of funny because it kind of came out organically. I mean, you like stuff that you’re good in. And I was good in the stuff that I had previously experienced in.

I always wanted to be a gameplay programmer, but I never get a gameplay task. Each time I go into a company and they promise me doing gameplay, I end up doing networking related stuff.

It just emerged organically. Although I’m thinking about trying some gameplay stuff as soon as I’m done with the networking stuff in my current position of Senior Network Engineer.

Working as a Senior Network Engineer in Gamedev

Ljubica Garic

Hopefully soon. But is it hard?

Do you ever feel as if you are pigeonholed? You know, like being the senior network engineer and only the senior network engineer?

Michał Buras

Well, no, it gives me a lot of satisfaction, because when you’re a gameplay guy, you develop, for example, doors. For example, in our company, one of the gameplay guys is joking that he should rewrite his position and name it a door programmer because the only thing he does is doors because they’re so complex in this game.

I’m thinking that we have a bunch of those gameplay guys and I take their work and combine it to something big and the outcome of my work is the end product, more or less. So I’m really satisfied with what I’m doing and I don’t feel that this niche is like it that I’m held back or something like this, you know? I mean, it would be fun.

I really would like to go with a deep dive into aspects of gameplay because that would make my work, of course, better. The more you understand different aspects of the project, you understand it better. But yeah, I don’t feel like I’m held back or that I want to switch.

How to Stay Motivated as a Programmer in Gamedev

Ljubica Garic

Okay, I get it. And were there like any moments in your career where you felt that the only thing you were doing was programming doors? And how do you keep yourself motivated, when you’re stuck doing something very complex but still a bit repetitive and you know that it’s probably going to take another two, three or four years of work?

Michał Buras

My approach is let’s not get tired and let’s not tire other people. If the current role is not something that I feel comfortable in, then staying for the next few months does not make any sense because you’re not going to be effective.

And I think it’s wasting resources of your company, it’s wasting your own resources. And you should search for something that’s really fun for you, you know, and that you feel like you’re growing. So, and I did that previously and I think that it was a both-side win.

Ljubica Garic, 8Bit

Can you share any like insights or opinions how can a company keep their project interesting, fun and the environment stimulating for team members?

Michał Buras, Senior Network Engineer

It’s a complex problem. I don’t think that there’s like a single solution for it. I think that apart from me switching projects, if I feel tired of it, I’m also talking about what can I do next in the project.

So, I think it’s all about communication. If someone gets super tired of doing something, of doing a repetitive task, I’m sure we can rotate on it. It’s not that the only solution is leaving the company.

Communication in the Game Studio

Ljubica Garic

Yeah, that’s quite a hard solution. So, now that you mentioned the importance of communication, can you tell us more about how do you actually like bridge the communication gap between programmers, artists, designers, all other departments that you’re working together on a project with, because that is quite a common issue. How do you actually avoid this going back and forth, misunderstandings and losing a lot of energy and time in the process, what has been working for you?

Michał Buras

I’d say the drawings, drawings and Microsoft Paint. That is something that I do, even if I’m explaining a client how to connect to a server. I always open up Paint and I draw a client, I draw a server, I draw a line. It’s memory technique when you combine the verbal stuff with the visual stuff. Even if the drawing didn’t explain much, it wasn’t like a super addition, it makes your brain remember that there was some green color attached to the sentence, some shapes and it makes you remember. So I don’t have any troubles in communicating with the design or with the art guys.

Maybe that’s because I like doing drawings in my job, in my free time.

Ljubica Garic

Has it always been like that, or is that maybe like a skill you picked up from somebody on the team?

Michał Buras

Oh, no, it’s something that just naturally came. It’s easier to do a draw a simple drawing, than waste your breath sometimes. And it’s fun.

Ljubica Garic

Okay. Awesome. Besides drawing in order to bridge this communication gap with other departments, are there any other tools or techniques that you found particularly useful for keeping the project on track or for keeping yourself on track?

Michał Buras

So it should be the production side, tracking the project state and making sure everyone communicates with everyone. I don’t think I ever had to actually worry about this. Although when you become an owner of some larger part of the project, you have to track your tasks, even if you have a producer looking over your shoulder and making sure that you didn’t mess up everything.

So in the current company, we’re using ClickUp, we were using Jira, but I think like even an Excel spreadsheet would just do the trick. It’s more about being organized internally and not about having the most expensive tools, because if you’re not organized internally and you don’t know what’s the right thing to do at the moment in your project, the most expensive tool will not give you answers. It’s not that it’s going to pull off a magical chart, to say “now you make this and that decision, right?”.

Ljubica Garic

I wish a chart like that existed, would make our lives much easier. So as organized as one can be, still unexpected challenges can still happen. How do you handle those roadblocks in order to minimize delays and maintain progress of the game?

Michał Buras

Earlier you were asking me if I picked something from an older colleague. It’s not from gamedev, but it was one of my CTOs who said a magical sentence. “There’s no such thing as over communication, Michael”.

And what it means for me is that even if I have the slightest doubts about where we are going or that we should think about something prior, I just say it out. Even if this conversation will add up with us doing nothing and we decide that it’s too early, or that was just me freaking out because we’re near the release or something. I think that you should communicate any doubts as early as possible and you will be able to plan ahead on every occasion.

It’s not like you have like some magical power that’s going to increase the number of people working on a project or you’re going to make the time stretch, right? You still have two weeks to do something. And if there’s a roadblock ahead, you just have to dig your way through it.

And there are no shortcuts on the road to success.

Headhunting in the Games Industry

Ljubica Garic

Being a game developer with like 10 years of experience, I’m guessing that you get a lot of recruiters hit you up a lot.

Can you share like what methods do recruiters commonly use to connect with you? And actually what approaches have you found to be like the, you know, most effective?

Michał Buras, Senior Network Engineer

I think that’s still most effective is LinkedIn and InMail. You know, InMail always stands out because most of the good developers they already have one of the best jobs of your life, right? They don’t go to LinkedIn five times a day. The only thing for them to notice is basically you InMailing them.

Ljubica Garic

What approaches do you find like most, you know, most effective? What types of messages actually catch your attention and make you want to respond to the recruiter?

Michał Buras

Short and to the point. I dislike very much when the recruiter holds off the studio name until the very end and the salary until the very end. So I’ve got this super position, but I can’t tell you about it.

And you’re having this conversation for two weeks and they’re like it’s a studio A and B and the salary is C and you’re like, okay, thank you. Couldn’t you just tell me this earlier? I think we could get on the process a bit faster, I’d be more enthusiastic if it was the offer I wanted.

Ljubica Garic

Besides initial message, what actually separates like a good recruiter that you want to work with or a recruiter that you don’t want to work with?

Michał Buras

I think there are recruiters and there are people who do sell campaigns. People who do sell campaigns, they just have one offer and they spam all of the LinkedIn with the offer. If anyone catches that, then they go on right with the recruitment process.

But there are really recruiters who actually try to talk with you and try to find you something else. And it’s not, and I’m not saying this because I’m in a podcast from a recruitment company. I’m not saying that.

I really have like a really nice interaction with, with the girl from a different company who was really engaged in finding something for me that, that suits what I’m looking for. And that was really nice. And so we had like three approaches and three different companies.

It didn’t work out, but I still appreciate all the effort that, that she did. Regards, Dora. I don’t know if you’re going to watch this, but I appreciate that.

Recruitment Tips for Gamedev Engineers

Ljubica Garic

And moving on to the selection processes. One of your advice for having these is not letting the other side ask you random questions. So can you tell us more about how do you actually prepare for an interview?

What are the questions that you think about? Do you write down your answers? Do you practice them?

Michał Buras

When I was starting in the industry, I was standing against the wall and random questions have been shot at me. But right now what I do is I kind of make a presentation. It kind of became a presentation where I just go into the call after the guys from the company present themselves.

I say, hi, I’m Michael, I’m a senior network engineer with X and have Y years of experience. I’ve worked in Z company. Then I talk about the project, first project, second, third project.

Along the way, they usually start asking questions about that. And that gives you a nice base to work with. So they’re more or less know where I’ve been at and they can ask their random questions, but they’re more in the scope of my expertise.

For example, if I asked you some microbiology question at the moment, you wouldn’t have an idea, right? That’s the same story. So, it became a presentation. I had one interview with one startup and the guy said: “well, it’s an interview. Someone’s buying, someone’s selling”. I think you have to remember that.

Ljubica Garic

Awesome. And how wide and deep do your questions for the other side go? What do you focus on?

Michał Buras

I think the most relevant stuff is to understand what you will be working on and how you’re working on. Is the company like super micromanaged? I don’t like micromanagement. I like when the only thing that matters is me delivering the stuff on time.

It’s common sense, right? You have to be more or less available in the core hours, but that I’m available in the core hours, not because someone tells me to, but because I want to, because it’s efficient for me.

Ljubica Garic

So as you said, somebody’s buying, somebody’s selling. I just want to like encourage people to feel confident, to ask more questions.

Michał Buras

Can I pick up on the, on the last question? The other thing that I’m curious about is the actual job, what I’ll be doing, where they want to put me and what my responsibilities will be there. Because it’s like from my side, like now the tables have kind of turned and now they’re selling and I’m buying.

Ljubica Garic

After all these years in the industry, what does your portfolio look like?

Michał Buras

When you’re applying for a senior position, there’s a kind of a general assumption that you maintain the coding standards of the company. So no one really needs your coding sample. In regards to the titles, I use links.

So it’s either the project page or the Steam product. And I think that does the job. I mean, sometimes you have I officially couldn’t say I was working on a certain project. It’s kind of a black hole in the resume. Now I was working somewhere and that’s the only thing you can write according to law.

But at the end, you have to kind of discuss what you were doing and talk about the project. So I just put links in my CV and that’s enough for everyone.

Ljubica Garic

Any advice for somebody junior? Should they set time aside, like every week to update their GitHub or websites or anything?

Michał Buras, Senior Network Engineer

Instead of even trying adjusting it all the time, I do something that shows what you’re able to do, for when you’re a junior. So, previously I was talking about kind of the shift up the programming paradigm that you do games a bit differently than you do normal programming. And especially if it goes for the game engines, because game engines have their own programming patterns.

You write the same loops, logical statement, but the whole idea how the whole thing is constructed is a bit different. Having a small demo project and Unreal or Unity that shows various aspects that you know how to do animation, your character moves, jumps, shoots, it animates, you can do some interactions, that will be a good base for a gameplay programmer.

Ljubica Garic, 8Bit

Michał, thank you so much for this insightful conversation.