DEV Community

George
George

Posted on

I switched from software engineering to game development, ask me anything.

About a year ago I decided to make one of the biggest choices of my career. I started out as a software egineer working in C# and C++ and now I'm working as a game developer in Java.

Feel free to Ask Me Anything

Top comments (85)

Collapse
 
strawz profile image
straw

What were the steps for transitioning?
I'm a web developer at the moment and want to become a game developer. My assumptions are that I need to work on my own projects so I have something to show since I have no professional experience. What did you do to get there?

Collapse
 
rapidnerd profile image
George • Edited

You're 100% correct. There was a few things that I had taken into consideration before doing this. There is many different types of games around, whether it be Sandbox, MMO-RPG, Indie Games and all sorts. There is also a lot of different languages used within game development. I wanted to develop Indie games & phone games so I started learning Java and used some sprites that a friend of mine had made.

I found it important to familiarise yourself with all the big platforms and utilities used within the industry. Even if you're not going to use them straight away it will be good to get a feel on how they work and what language they're using incase you need it in the future.

Software such as Unity and Unreal Engine are both brilliant engines that are heavily used in all sorts of games.

Getting to where I am now took a lot of work, learning an entire new language, I spent a lot of time around gaming communities to get a feel of how the people behind them interacted with their community. At the start I knew that I had to show off what I could do, so I made a couple of small games, provided the code and sent them off in my portfolio.

Collapse
 
strawz profile image
straw

Thanks! I had made that assumption without a lot of data, it is very reassuring to hear that was the same road you took :) Thank you for sharing knowledge!

Collapse
 
papaponmx profile image
Jaime Rios

How long did it take?

Thread Thread
 
rapidnerd profile image
George

Switching in general took me a good few months to do, with learning everything I felt was necessary, I had a portfolio built around software engineering. While that was good to have on there I wanted to be able to provide some stuff around game development in order to show off what I could do in that field.

Thread Thread
 
papaponmx profile image
Jaime Rios

Did you explore the idea of developing games for VR?

Thread Thread
 
rapidnerd profile image
George

Not really, I focused more on indie games.

Collapse
 
kapilsane profile image
#Kapil

For money and visa,
Which is best career
(Java) applications vs android vs (JavaScript &php)web vs games development

Collapse
 
lxlclash profile image
JustOTGFrames

Would My Roblox games be approved in the portfolio? They are scripted In lua so that works right?

Collapse
 
vovanz profile image
vovanz • Edited
  1. Do you work for a big gamedev company or in a small team?

  2. Do you have any influence on game-design or you just work on technical tasks?

  3. What exactly are you coding? For which platform? (desktop, mobile, backend etc.)
    (I'm asking this question because Java is an unusual choice for a desktop game, AFAIK)

  4. (many people are not very comfortable when talking about money, so you can just ignore this question if you want)
    How did this choice influence your income? Do you earn less or more money than before? Or about the same?

Collapse
 
rapidnerd profile image
George

1.

Currently a small phone development company that is ran by a very good friend of mine.

2.

In school I took a brief module on games design which had helped me a lot when creating my first game to bring into my portfolio.

Currently mobile games, I've worked on desktop games before but found mobile games to be more fun. I'm using Java because I work on the Android platform which uses Java.

4.

I earned more as a software engineer. But I found myself to be more happy as a games developer. I wrote a little bit more on this topic above.

Collapse
 
vovanz profile image
vovanz

Thank you!

Collapse
 
zecelmanatad profile image
Zecel Manatad

Pertaining to the Java language what are you using Unity?

Collapse
 
ginacontrino profile image
gina contrino

Did you apply for Senior roles or more "Junior" roles? How did you start and was it a problem that you wanted to switch? Some companies expect you to already have knowledge in the field or in your case Java. What I mean is more like, did you e.g. get many rejections or how was the general reaction to you wanting to switch?

Collapse
 
rapidnerd profile image
George

The general reaction from my friends were they were kinda shocked but did support me from the decision, they all come from many different backgrounds of development. I mainly applied for Junior roles seeing as this would be the first time I would be working for a games development company, I didn't want to throw myself into the deep end.

The companies I applied for did want me to have experience with the games, but with the knowledge of C# (which is very similar to Java) I was able to learn Java a lot easier then I had expected.

I got a fair few rejections from companies for a variety of reasons, I didn't see this as a bad thing I saw the rejections as a learning curve, I asked the companies what they wanted different or what else I could've done and they gave me some amazing feedback.

Collapse
 
ginacontrino profile image
gina contrino

thank you!

Collapse
 
nekbeth profile image
Chrystian

Hi, same situation here, just with iOS instead of Android. Currently creating games for PS4. I wanted to ask:

Is it normal for most game companies (employers) to hire you while working at home? Meaning they don't care if you live in the other side of the globe, as long as you deliver the assets/work (as employee, not freelance).

If only few work this way. Which companies are those?

Collapse
 
rapidnerd profile image
George

It really depends on the company itself and the size of it. Some of the major companies I applied team wanted me to relocate so I would be able to work in their office, I can see why as it's easier to do team work in an office. However this is something they would normally specify on their jobs page when looking. I personally work for my friends company, although we both live in the same city we're currently working remotely with people that are from all over the globe also.

Collapse
 
nekbeth profile image
Chrystian

I see. Finally, a couple of questions:

  1. Where do you guys look for work and talent?

  2. Which websites would you recommend for Devs looking to reach game companies for permanent / temporary work?

Thanks

Collapse
 
amitkishor1 profile image
Amit kishor

Can a Game developer switch to become a software developer. I have already received a job as a Game Developer from one a reputed company. If any point of time I feel like switch to Software Development, would there be any problem?

Collapse
 
nelruk profile image
Nelson

While you were working in your old job:

  • Did you create some games?

Create video games is something (I believe it is) super cool. You were working with C++ and C# but switched to Java. Why? Some courses I see offer also work with Python. Why not choose Python or even still working with C++ or C#?

Collapse
 
rapidnerd profile image
George

I didn't create games while working in my old job. I found myself far too busy to be doing that, I did create a lot of them in my head though.

I switched to Java because I wanted to work on phone games, as I use an Android phone the Android operating system uses Java for it's application framework. Python is one of the languages that could be used for pretty much anything you want it to be used, but when using it for games it's not really ideal.

Working in C# and C++ is amazing but it's only really designed for desktop games. You'll see big games such as Playerunknown's Battlegrounds and Overwatch using these two languages for them, but seeing as I did phone development I stuck with Java because that's what Android supports.

Collapse
 
polentino911 profile image
Diego Casella

Working in C# and C++ is amazing but it's only really designed for desktop games. You'll see big games such as Playerunknown's Battlegrounds and Overwatch using these two languages for them, but seeing as I did phone development I stuck with Java because that's what Android supports.

Sorry, but this is just plain wrong. First, because you need to squeeze the most out of the hardware available on a phone without wasting resources, C++ is the choice for high-performant games (not talking about flappy birds here, obviously).
Unity3D for example, which is written in C++, can be used in Android.
And second, because Android itself provides an NDK to allow developers to easily implement part of their app in C/C++ .

Collapse
 
georgeoffley profile image
George Offley

-DO you do a lot of graphics work (modeling, animation, sculpting, rigging, etc)?

-Have you worked with any open source software to learn if so?

-I started learning blender as a way to get into animation and possibly games, what do you use as an engine mainly?

-Are you working on any cool person game projects?

Collapse
 
rapidnerd profile image
George

I don't really do much graphics work, I'm mainly responsible for making the actual gameplay features, and making it functional.

Most I've my work is not open source, mainly because it's either old code which is very bad or it's work that I'm not allowed to make public.

As an engine the company I work for has a custom one. For engines I'd suggest looking at Unreal Engine and Unity. If you're looking at using Java I'd suggest looking at LWJGL first then perhaps move onto something like jMonkey.

I am currently working on a game yes, but at this time it's not released. Will hopefully be released very soon.

Collapse
 
georgeoffley profile image
George Offley

I look forward to it. Blender has a built in engine however I've played with Unity before so I may take that up again at some point. Thanks for the response and the cool thread.

Collapse
 
andevr profile image
drew

There's also libGDX for Java.

Collapse
 
brandonclapp profile image
Brandon Clapp

That's awesome. Congrats on the switch. One problem I could forsee if I were to attempt to make such a change would be compensation. I'm in a senior dev position making line of business web applications by day and dabble in game development in the evenings. Given my circumstances, I don't think I would be willing to make that leap. Was this an issue for you? Did you have to take a compensation hit to make the switch or was it as easy as just learning a new framework/library set?

Collapse
 
rapidnerd profile image
George

There was some backlash from the company I worked for, understandably they weren't at all happy that I was leaving them to follow something else. I ended up leaving on good terms by helping them find a replacement in my field, it was the least I could do for the company.

For me it wasn't just as easy as learning a new framework/library I had to do a lot of research in the gaming industry as well as the code side of things. It took up to a year for me to make this switch, but in the end was worth it.

Collapse
 
ben profile image
Ben Halpern
  1. I've read lots of stories about "endless death marches" in game development. Have you experienced this or heard about it? Is it any worse than any other software jobs.

  2. Something that has made me shy away from game development is that I'm not a big gamer myself and it seems like there are enough diehards that a fairly casual gamer like myself just wouldn't find the commitment to follow through. What would you say to that, and it's okay if the answer is "yeah, you should probably be a gamer".

Collapse
 
rapidnerd profile image
George

1.
Ah yes the endless death machines they're a bit of a pain. I find in general development there can be these but in game development it's a whole lot worse. With working in games editing one value can sometimes change more than one thing in the game itself so fixing a bug has to be done very carefully.

2.

I say to people it's okay to not be a die hard gamer if you're a game developer. It's obviously great if you are but developing a game I find is more community based seeing as they're the ones that are going to be the ones playing it the most.

In addition research into the type of game you're going to be making will always be an essential part it of it. If you're working on a game that is somewhat similar to lets say overwatch your employer would be expecting you to play a fair bit of overwatch to see how the game works, get a feeling of the mechanics, see how players interact with one another.

Personally I don't think you'd need to be a massive gamer, as long as you're willing to learn about different games cultures, different communities and interact with the community you're in you should be fine.

Collapse
 
krissiegel profile image
Kris Siegel

I'm curious about the money (which I know can be awkward to talk about). Do you feel well compensated? Any comparisons to traditional software development in terms of hours work and amount paid?

I originally went to school for game development and while it was fun many of the developers I talked to mentioned that they get paid much less and work a lot more in the business which sorta turned me off to it (even though it's a passion of mine and I'm currently in the gaming industry just not a game developer).

My experience was about a decade ago. Looking to see what changed, if anything :)

Also congrats!

Collapse
 
rapidnerd profile image
George

I found that payment was more about the size of the company and the size of the game that was being made. There was definitely a big difference between the amount that I was earning as a software engineer than I am earning now. As a software engineer I was being paid a lot more than I am currently, but the way I saw it as long as I could live off my current salary, pay my bills, eat and have a roof over my head I didn't mind. I've found myself to be more happy in this area of development than my previous one.

Collapse
 
pouryakordi profile image
Pouryakordi

How much Your experience as a software engineer helped you to go through learning game development?
I mean is it a waste of time if you first try to be software engineer and then try game development or it's like you can transit most of your skills with yourself into game development?

Collapse
 
rapidnerd profile image
George

It's certainly not a waste of time to be a software engineer then switch. When I worked as a software engineer I felt that having the knowledge helped a lot when making the transition. Game development and software engineering are near enough similar, they're both software at the end of the day but they're performing different tasks. In my case it was having to work with models, sound files and a lot more math.

Collapse
 
pouryakordi profile image
Pouryakordi • Edited

so let me take another step! do you actually think it's a valid way to start
even if i already know that i wanted to be a game programmer.
cause i'm college student and i kinda have to learn software engineering principles like about methodologies, databases and... should i take them serious or just pass them and take the numbers and try to learn more related subjects by my own?
Note that i wanted to be PC game programmer.

Collapse
 
elcodemonkey profile image
Sean

I'm just beginning to realize how much I prefer programming games over programming for embedded engineering applications. I'm not sure how to make the leap, however, since I'm doing quite well in my current role. I hear that game dev is highly sought and therefore low pay with many hours and I'm not sure I could make such a sacrifice if it's not comparably competitive. Would I be taking a huge hit to the wallet? Would the long hours be mitigated if I'm particularly competent? And any idea how to get someone to take me seriously? Should I just flash around my work like this link? youtube.com/watch?v=Oh2z2e_96Sw

Collapse
 
rapidnerd profile image
George

Leaping from one industry to another in development terms if always got to set you back. While game development is fun it will take a hit to your currently pay, when I originally started I was on a lot less due to being classed as a junior dev, whereas the senior devs were on similar to my original pay. Its what you feel is right, if you want to take the leap and switch fields than go ahead but prepare yourself for the risks.

As for how to make the leaps there's a few things in another reply I posted that I'll put here.

Knowledge

Build up a personal knowledge base of the field. As you've mentioned Game Development start looking into what languages the field uses primarily, and more specifically around the platform you want to develop for. A lot of PC games tend to use C# or Java, whereas console platforms (Xbox, PlayStation etc) are developed in C/C++.

Portfolio

Cannot stress this enough but your portfolio is vital when applying for any developer job. Outlining some projects that show off your skills and what you've done in the past (or currently) will show future employers what you can do.

Be prepared

Be prepared to enter the field and have the amount of work being given to you, its different for every industry. If you get a interview with a company research them, find out what they do, what technology they use and any other vital information that can benefit you. Remember its okay to fail, its okay not to get a job, use any negatives that the interviewer provides and use them to benefit yourself for the future.

Collapse
 
andy profile image
Andy Zhao (he/him)

What did you originally develop while you were worked with C# or C++?

Also, perhaps the biggest question in the room, why switch? :)

Collapse
 
rapidnerd profile image
George

I mainly developed software that allowed companies to do their jobs easier. A lot of the projects I was handed were ones that actually had to do with Payment. My last project was actually creating an artists panel where they could manage payments, contact the customer and send the art out within a single panel.

I switched because I was honestly getting bored of it. No matter what the project was there was always this mind state of me having done this before, used that before. I wanted a new challenge, something that I had never done, something that would bring me some new creativity.

Collapse
 
andy profile image
Andy Zhao (he/him)

Awesome, game development definitely sounds like the right place for creativity.

Thread Thread
 
rapidnerd profile image
George

it certainly is, allows your imagination to go complete wild!

Collapse
 
javiergelatti profile image
Facundo Javier

How did the patterns and practices that you used for software development vary, when you switched away from developing payment systems?

Collapse
 
rapidnerd profile image
George

The patterns completely changed for me, a lot of what I did originally was designed around desktop apps and very rarely did phone apps (if ever). It felt like I had to re-learn what I had taught myself over. However I felt the transition was very smooth, thankfully I have a lot of friends that are in all areas of development that gave me some advice on where to start and how to proceed from there.

Collapse
 
Sloan, the sloth mascot
Comment deleted
Collapse
 
rapidnerd profile image
George

How do I go about building a good portfolio?

Always make your portfolio unique to yourself and your style, every game dev has their own style of games they prefer to work on. Whether it be indie, action, MMO-RPG etc whichever you're most passionate about is what you should focus on.

How many quality games should be put on there?

Always remember quality over quantity. I've seen people hired with two incredibly good games over people with eight crappy games. I'd suggest having a medium of 3 games that show off your skill set, how you work, and most importantly your creative mind. Remember in game development you can make your imagination go wild, especially with Unity and Unreal frameworks your possibility is endless.

Collapse
 
Sloan, the sloth mascot
Comment deleted
 
rapidnerd profile image
George

I'd always have a variety on your resume, having a lot dedicated towards the field you wish to go in is very important to an employer, however showing that you're able to work with other libraries, APIs and such is also essential. I'd say have something that is unique that can be used in multiple areas of development (Software, games, web etc). Remember the first thing that most employers look at in a developer application is what you've done and what you can do, having extra extra open source content that isn't specifically tied to one area will always be a bonus.

Some comments may only be visible to logged-in visitors. Sign in to view all comments.