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

Oldest comments (85)

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
 
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
 
maestromac profile image
Mac Siri

How long was your transition process? And do you currently find yourself working much longer hours?

Collapse
 
rapidnerd profile image
George

The transition process didn't take as long as I had thought. Because I had chosen Java as the main language for games it was fairly easy to learn as C# and Java are very similar. I made a couple of games to show them what I could do and within about 7 months I had found myself working alongside some very nice people on a small game.

The hours is a little bit complicated, I've always worked remotely (apart from one time) and usually scheduled to a certain amount of hours per week. This meant that I could do 2 hours one day then 12 the other day. As long as I was meeting the requirements per week everything was all good to go.

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
 
lxlclash profile image
JustOTGFrames

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

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
 
woahitstechno profile image
WoahItzsam

Why are you weird?

Collapse
 
rapidnerd profile image
George

I've always been weird.

Collapse
 
andy profile image
Andy Zhao (he/him)

Not a constructive comment. No need to be disrespectful.

Collapse
 
woahitstechno profile image
WoahItzsam

Im joking with him

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
 
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
 
sk1er_ profile image
Sk1er

Do you find software engineering or game development more rewarding when you finish a task

Collapse
 
rapidnerd profile image
George

Good question, they both were very rewarding in the fields. However I found game development to be more rewarding, adding something new to the game, or fixing something VERY annoying and seeing the reaction from the players is a beautiful sight. Where as I found with software that it would a lot of the time go unnoticed unless it was something that changed it completely.

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
 
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
 
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
 
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
 
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
 
alibdeir10 profile image
Ali Bdeir

If I know Java (Basically I know C#) how easy is it to learn Game Development? And where would you recommend starting?

Collapse
 
rapidnerd profile image
George

I would recommend learning the core basics of Java first, there is some big differences between Java and C#. From there I'd start off small make something like a little snake game or something on those lines. Once you feel comfortable learning the basics of game development move onto something with a game engine. I'd suggest starting off with LWJGL or jMonkey

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.

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