Працював в 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
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
Київ
Активно шукає роботу
неповна зайнятість
Оновлено 3 дні тому