Question about programmers in the game industry and some good practices

Hello!

I wanna ask some questions about the position of programmers in the game industry, besides some good practices related do UI and widgets.

I’m graduated in CS and, for most of my professional life, I have worked as an standard software engineer , mostly with Java and C#, but I have an intermediate level when the subject is C++; I don’t know a bunch of advanced stuff, but, once presented to an topic, I learn relatively fast.

But I graduated recently in my Game Design course, and I’m a bit insecure about how good I must be as a programmer to enter the game industry as an junior developer.

You see, as an standard developer, one thing that I have learned in my career is that “no developer knows everything about a language, API, framework, etc.” (there is some exceptions…). So, how good you guys were when you entered in the game industry? What is the criteria to enter, besides good maths, relatively good programming skills,…?

Also, regarding to UI and widgets, I wanna ask if its a good practice to leave AHUD responsible to the management of menus (UMG), adding (in the BeginPlay())and removing (in the EndPlay()) them, changing some features, etc. while the PlayerController remains responsible to process the player inputs, calling the current HUD when necessary.

Any feedback will be greatly apreciated, because they will show me how much I need to learn, if I want to be a good game programmer/to enter in the game industry.

:slight_smile:

thank you for this insight into the professional UE world.
Best regards from a “hobbyist”

I’ve been in the industry (AAA) for 15+ years now, when I got in I had a BS in CS and still made a lot of silly mistakes. But what I was always told, and what I’ve come to find out as I hire junior engineers, is that attitude is everything. Anything else can be taught.

I can’t tell you how many candidates I’ve had to reject because they either:
A.) Didn’t work well in a team ( “I just like to be left alone to do my work.” / “Why do I need to talk with Art and Design? They should listen to what we tell them.” )
B.) Were super snarky / overconfident. ( “Why do I need to know how to write strlen? It’s already done.” / “Not being able to use auto is stupid.” )

Know your data structures (List, Array, Map, Hash Tables, etc) and the pros/cons of each.
Know the general flow of how computers work (cache, branch prediction, memory allocators, threading + sync primitives, etc).
Be kind and always willing to learn new things, challenge your own assumptions of what “good code” is, and, most importantly, be a team player.

This is indeed a great insight! About the expected tasks, I knew that they are required. And this is kind scary, because no one really expects to modify/extends a game engine like UE in their first job in the industry.

And yes, I know, these forums are dying slowly, and reddit is a more active place to make questions and get answers.

ThanI you for your great answer, @EntrpriseCostumr! :slight_smile:

@ExtraLifeMatt

Thanks for your answer : )

You see, I have a good base in CS, and more specifically, computer architecture. Of course, as an software engineer that worked with “mundane” tasks over the years, you forget a little about one thing or another. But nothing that can’t be remembered.

I know a person who works for the Saber Interactive, more specifically in the office located in the city of Porto, Portugal. Besides the fact that he’s a level designer/environment artist, he have told me that his bosses and coworkers help each other continously and they approve the spirit of commitment and learning coming from the less experienced workers.

Also, about the attitude, what you told here is an issue that I have watched between my peers: people who doesn’t know how the game development process works are more biased to do these mistakes. You see, besides the fact that I’m a coder, I love game design too, so I have an insight about how to act inside a game project.

:slight_smile: