From nuclear power engineer to game developer. How to switch to game dev
KEVURU GAMES
We create game art and develop games. Areas of specialization: 2D/3D art, concept art, animation, gamification, etc.
Hello! My name is Igor, and I am a UE/C++ Developer at Kevuru Games. I sincerely love game dev and my job, but before fulfilling my childhood dream and plunging into the world of gaming, I worked in the nuclear power industry for several years. Read the story of my switch on the blog, as well as advice for those who want to become a developer.
Black magic of programming
I have loved video games since I was a child and have played a lot on consoles and computers since I was in preschool. First, I got a Dendy game console, then a Sony PlayStation, and later a computer. But I grew up in a family of miners, and my parents always had a negative attitude towards video games. So I didn't think about it being a job. Even programming was never considered as a possible field of study.
I graduated from Kyiv Polytechnic Institute with a degree in Nuclear Power Engineering. In the fourth year, I started working in my specialty. I changed several companies, both state and private.
I came across quite interesting projects on the calculation of neutron-physical constants and the creation of software for monitoring the state of the reactor core. At that time, Ukraine was actively reducing the share of Russian fuel in favor of other producers. It was necessary to do a lot of work to increase the self-sufficiency of the country's nuclear industry.
In general, I worked in the nuclear sphere for more than four years. At the same time, I studied the postgraduate course in my specialty and conducted active scientific work. I participated in various professional conferences, wrote and published scientific articles. For more than two years, I worked on my scientific dissertation.
Already during my studies at the university, I learned that there were many IT specialties and directions. But then for me it was some kind of black magic. I didn't understand it at all and got scared if someone talked about programming languages, operating systems, etc. I was a complete zero in IT, and I was ashamed to admit it.
Later, when I was already working in the nuclear field, I learned more about programming and even started to master Python and C++ for work tasks. I realized that these were ordinary tools, and the skill in them depended solely on the amount of time spent on training and experience with it.
I began to be more interested in the world of programming, to look at various vacancies. I realized that, unfortunately, in Ukraine, a career in science or in the nuclear industry doesn't have good working conditions and high compensation. You can work for years in the same position without opportunities for growth.
However, programming and game development are probably one of the most dynamic areas in the world. Here, your success depends largely on your efforts. So, I thought it was time to return to games, but as a developer.
The first attempt was successful. But it was rather a luck and an exception
The hardest thing for me was to determine the direction. When I first made up my mind to develop in programming, I saw how wide and varied the opportunities in this field are. I tried to read and watch everything at once. At the same time, I still had no idea what could be useful and what could not. My preferences changed almost every day.
But because I had already encountered C++ and Python at work, I eventually began to consider these programming languages as a priority. Later I found out that game development is one of the opportunities to use these languages, and then I finally determined that I want to be a Game Developer.
I also didn't dare to send my resume for the first time for a very long time — I thought I was too unprepared. I was afraid that I would look completely helpless compared to people with specialized higher education and extensive experience in game development. For some reason, I thought that only super cool programmers can work in game development.
In the end, I was able to overcome myself and sent my resume to one company. I was called for an interview, I passed it, completed a test task, and received an offer of Junior Game Developer. So, the first attempt to find a job was successful. But this is rather luck and an exception.
领英推荐
Programming isn't so scary
On the one hand, switching to game dev is more difficult than in other IT fields, because there is a higher entry threshold. You are immediately required to have certain skills and knowledge. I have not come across any Trainee programs for programmers in game development, and it's usually difficult to find a job for juniors. But, on the other hand, if you really want to get into game development, if it isn't just a job for you, but also a hobby and a dream, then the whole process of education and skills acquisition turns into a very exciting and interesting way.
I studied mostly on my own, with books and lessons on YouTube. I also took several offline and online courses. These were software development courses, and they offered different languages to study, but the base and most of the material were focused on C/C++. In addition, these courses were taught by experts from the gaming industry, so the examples and stories were related to the world of games, which was very interesting for me.
At the same time, I tried to create my own small game projects. I started with console snakes and Tetris, then started using the graphic component with QT and SFML.
I consider my greatest advantage to be the lack of fear of mathematics
Previous work experience was very useful for me. At my previous job, I was engaged in physics and mathematics, tried to program small calculations, and automated the work of calculation codes. All this was useful in game development. Of course, there are different specifics and tools, and you have to learn a lot every day, but in general, the approach to problem solving is very similar.
I consider my biggest advantage to be the lack of fear of mathematics and physics. Of course, I don't remember all the vector algebra, but I understand how to solve certain tasks.
But, in addition to hard skills, it is also useful to have skills in organizing the working day, teamwork experience, etc.
I started working in mobile games as a Junior C++ Developer. In less than a year I got a Strong Junior rating, and in two years from the start of work, I became a full-fledged Middle C++ Developer.
But I didn't really like making games for smartphones, so I gradually started learning Unreal Engine to move to console and PC games. After 2.5 years in mobile gaming, I changed my direction to UE Developer. I found a job at Kevuru Games on a very cool and interesting project. So for the last year, I have been working as a Middle UE/C++ Developer and continue to develop in Unreal Engine.
Advice to switchers?
The most important thing is to have the desire to work with games. Of course, there aren't so many pink ponies in game development. But if you have the desire, it's almost guaranteed success! You can just do what you like — for example, write your game. For a start, of course, it can be a simple console game without a graphic component.
At the beginning of learning programming, Michael Dawson's book “Python Programming” helped me a lot. If you, like me, have never encountered programming, then, in my opinion, it's better to start with a language like Python. It's loyal to beginners, mastering the basic syntax and principles of building a program will be useful for other programming languages. Then you can take up C# or C++. C# is used in the Unity engine, and C++ is used for Unreal Engine and many internal engines in game companies.
According to popular opinion, C# is easier to learn than C++, and its main field of application is mostly mobile gaming. But since I work with Unreal Engine, I can recommend this engine. Unreal Engine is a very promising tool that is a kind of standard in the world of AA and AAA projects and can be used not only in games. It's very dynamically developing, has the possibility of free use, and an expansive community. Unreal Engine and C++ allow you to create a game of any level, many well-known game companies are starting to use Unreal Engine instead of their engines.
In addition to self-study, in my opinion, you need to be interested in the world of game development in general — listen to podcasts, watch market news, technologies and game companies. When you plunge into the world of game development, it adds a lot of motivation.
Another advice I would like to give is to try to build a circle of like-minded people around you, people who, like you, are interested in development and games. Such a circle is easiest to find on courses or thematic publics in social networks. At the initial stage, it is very useful to have someone you can turn to for advice or help.
The main thing is to keep going. Occasionally, there come moments when you realize how far your attempts are from God Of War or Cyberpunk. Then you give up, and it seems that everything is in vain. However, you have to ask yourself, do you want to create games? If yes, then this path is for you.