Мои навыки

Языки программирования

C++, Python, C#, Rust

Алгоритмы и структуры данных

Стандартные контейнеры, их достоинства и недостатки, графы, асимптотический анализ сложности

Оптимизация кода

Различные техники: использование профайлера, уменьшение количества аллокаций, алгоритмическая оптимизация, использование lock-free структур данных

Проектирование ПО

ООП, SOLID, UML-диаграммы, паттерны проектирования
Декомпозиция функционала на модули

Работа с сетью

UDP,TCP, опыт написания сетевого кода на C#/C++/Python/Unreal Engine

Разработка сайтов

HTTP, REST, aiohttp, Django, Gotham.rs

Базы данных

Язык SQL, нормальные формы, ORM, оптимизация запросов
Опыт использования PostgreSQL, MongoDB

Unreal Engine

C++ и Blueprint, мультиплеер
Интеграция со сторонними приложениями

Компьютерная графика

Алгоритмические основы, шейдеры

Nvidia CUDA

Системы контроля версий

Git, Plastic SCM, Mercurial, SVN

Машинное обучение и анализ данных

Теоретические основы, базовые нейронные сети, библиотеки для Python
Курс от кафедры Яндекса по анализу данных

Опыт работы

District Zero VR

сентябрь 2018 — июль 2019

Работал над игрой Soviet Experiment, в том числе:

  1. написал плагин для подключения к игре контроллеров оружия по UDP,
  2. добавил стреляющую разновидность врагов,
  3. оптимизировал расчёты ИИ с 3.5 мс до 0.5 мс.

Написал программу-лаунчер для игр со следующими возможностями:

  1. централизованная установка, обновление, удаление и запуск игр на сервере и клиентах;
  2. обновление или откат версии игры двумя нажатиями мыши;
  3. сохранение параметров запуска для игр.

Ещё дорабатывал программу-аггрегатор для трекинга положения игроков.