Працював в 5 компаніях   6 років 3 місяці

IT, Освіта

Senior C++ Software Developer

SoftServe

IT

4 місяці

07.2024 - до теперішнього часу

  • Working with clients from The Weather Company on Max Studio and ReelSphere products. Full integration into the client's team
  • Implementation of new features and improvement of existing ones, responsibility as a feature owner
  • Optimization of various modules after analyzing metrics: rendering time, number of requests to database, application startup time
  • Improving software architecture and infrastructure architecture

Senior C++/Engine Developer

Dragon`s Lake Entertainment

IT

4 роки

07.2020 - 07.2024

  • Post-launch bug fixing in multiplayer game (64 players per session)
  • Remake of famous decision-based AAA game for mobile platforms (iOS, Android)
    - The main request was to keep graphics quality at PC level, so the whole game was made of small videos that played sequentially depending on the player's choices
    - Researching entire scope of the game, estimating duration and complexity of remake
    - Design document for in-app user flow was developed with client
    - Analyzed the current game behavior with team to find any differences from the designed user flow
    - Active communication with the client during planning of milestones, sprints and soft launch
    - Development of pipeline for capturing gameplay videos
    - Adding support for new mobile platforms and porting existing code
    - Game size optimization
    - Improving transitions between videos for seamless user experience
    - Implementation of episode-based content (in-app purchases and downloads of additional content)
    - Platform specific store setup (basic configuration, adding in-app purchases, creating sandbox for testing)
    - Adding telemetry support for post-launch analysis
  • Porting AAA UE4-based games to Nintendo Switch
    - Analysis and determination of the scope of work
    - Performance analysis and optimization
    - Adaptation of UI for touch screen
    - Optimization of game size / removal of unnecessary assets
  • Adding PlayFab-based crossplay to AAA game with custom engine
    - Integration of PlayFab library on different platforms (PlayStation, Xbox, Windows)
    - Integration crossplay support to existing network code
    - Adding crossplay support to different game modes
    - Adding UI elements related to crossplay
  • Porting the old game (released in 2005) to PS 4/4 Pro/5
    - Communication with the customer and clarify requirements
    - Port Win32 engine code and scripts to PS4 64-bit code
    - Implement PS4-specific features like input and haptics
    - Analyze and improve performance
    - Fix localization issues

C++ Lecturer and Mentor

IT STEP Academy

Освіта

5 місяців

01.2024 - 06.2024

  • Lectures for teenagers about basics of C++ and OOP
  • Practical classes
  • Checking homework

C++ Game Developer

EvoPlay

IT

6 місяців

01.2020 - 07.2020

  • Development of framework for games
  • Game logic programming

C++ Developer

softevol

IT

1 рік 3 місяці

11.2017 - 02.2019

  • Development servers performance measurement tools

  • Development finance report programs

  • Development of programs for use within the company

  • Development local proxy

  • Server-side development and server administration

  • Designing, building, and maintaining reliable and efficient C++ code

  • Testing (100% code coverage).

Ключова інформація

Summary

C++ developer with more than 6 years of experience. Have a solid programming level in C/C++, including the latest standards. Have experience in porting AAA games to different platforms, developing server-side applications and working with embedded systems. Familiar with data structures, design patterns, datasheets and specifications. Have excellent problem-solving skills, remarkable communication skills and attention to detail. Mainly my responsibility is related to overall game development including network, gameplay, UI, platform specific subsystems and rendering.

Technical skills

  • Programming Languages: C++, C, Assembly (x86, ARM, MIPS), Verilog
  • Graphics API: Vulkan, OpenGL (and GLSL)
  • Technologies: Unreal Engine, PS4/PS5/Xbox SDK, TCP/IP, HTTP, SMTP, x86-64, ARM (STM32), MIPS (PIC32), FPGA, OpenGL (and GLSL), GLM, OpenCV, OpenAL, gcc, clang, STL, gdb, make, valgrind, nginx, mysql, Bash, ssh, vim, git, Perforce, Doxygen, Docker, Godot, OGRE3D, SDL2, Blender, ffmpeg, GIMP, MS Paint
  • Operating Systems and Platforms: Windows, GNU/Linux, PlayStation, Xbox, Nintendo Switch, iOS, Android

Additional information

Good understanding of:

  • computers/microcontrollers and how they work on the transistors level

  • 2D/3D mathematics, graphics and physics

  • multithreading and performance optimization

  • overall game engine principles and theory

Pet projects

  • Transformer - https://github.com/mtiapko/transformer
    Tool for parsing C/C++ code and generating output using a given Jinja-like template (used in RTTI framework for C++)
  • DK – https://github.com/mtiapko/dk2
    The worst game engine you've ever seen... :(
  • GLSL demos - https://github.com/mtiapko/glsl-demo
    Collection of my GLSL demos from glslsandbox.com
  • Neon Air Hockey. The Game - https://github.com/mtiapko/neon-air-hockey
    The worst air hockey game you've ever seen... :(
  • Clone of Wolfenstein 3D game - https://github.com/mtiapko/wolf3d
    The worst Wolf3D clone you've ever seen... :(

Hobbies

Connect 2 fridges in SLI and run Wolfenstein 3D on them. Consider the Fibonacci sequence on С++ templates. Try to configure Wi-Fi on laptop with Arch Linux distro. Improve my .vimrc config. Urban tourism.

Навчався в 2 закладах

НТУУ "КПІ ім. Ігоря Сікорського"

Факультет Електроніки, Інженер-конструктор радіоелектронних апаратів

Київ, 2019

Ліцей №208

Київ, 2014

Володіє мовами

Англійська

вище середнього

Українська

рідна

Може проходити співбесіду на цій мові

Може проходити співбесіду на цій мові

Курси, тренінги, сертифікати

GlobalLogic Linux Kernel ProCamp

Kyiv, 2019

Training topics:

  • Hardware Architecture Overview, Kernel Development Tools General. Working with sources. Cross compilation.

  • BeagleBone Black board: sources, toolchains, board setup, host setup, instructions, safety training

  • Kernel module. Basic Data Structures

  • Introduction to Kernel Debugging

  • Time, Delays, and Deferred Work. Interrups handling

  • Concurrency and Race Conditions

  • Memory Management Subsystem.

  • Allocating memory. Obtaining Large Buffers

  • Platform Device Driver. Device Tree

  • Character Devices

  • Communicating with Hardware: i2c

  • VFS

  • System calls

  • Network Device Drivers

  • Block Devices

  • USB Host and Gadget Drivers

  • External HW

Михайло

Senior C++ Developer

Київ

27 років

Активно шукає роботу

неповна зайнятість

Оновлено 3 дні тому