Герасимчук Михаил

Senior Software Engineer | Golang, K8S, AWS | 12+ YOE

LinkedIn:
in/mgerasimchuk
GitHub:
mgerasimchuk
Email:
gerasimchuk.mihail@gmail.com
Telegram:
@m_gerasimchuk
Timezone:
UTC+3

Обо мне_

Senior Software Engineer с 12+ годами опыта коммерческой разработки. Последние 7+ лет занимаюсь разработкой enterprise-решений на Golang, используя практики чистой архитектуры. Запуск решений осуществляю в Kubernetes, собираю их с помощью Docker и заворачиваю в Helm-чарты. Для доставки использую CI/CD в GitLab и GitHub, а observability обеспечиваю с помощью Prometheus, Alertmanager, OpenTelemetry, Loki и Grafana.

За время работы занимался распилом PHP-монолитов с переписыванием на Go-микросервисы, создавал с нуля CI/CD, описывая пайплайны с использованием Docker, Helm и Kubernetes, и осуществлял их миграцию с GitHub на GitLab. Создавал скелетон приложения на Go для ускорения процессов разработки, внедрял и реализовывал практики логирования, мониторинга, алертинга, трейсинга и профайлинга. Улучшал практики code review.

Проектировал и создавал MVP-решения с нуля, работал с нагрузками 15K RPS внешнего и 110K RPS внутреннего трафика, траблшутил проблемы с производительностью, реализовал большое количество бизнес-фич и провёл бесчисленное количество code review. Собеседовал, онбордил и менторил разработчиков, занимал роли тимлида и технического лидера. Был частью как продуктовых, так и инфраструктурных команд в компаниях со штатом от 10 до 300 человек.

Последние несколько лет в свободное время работаю над собственным проектом - teamcoding.ru.

Проекты ниже, демонстрируют некоторые из моих навыков:
- github.com/mgerasimchuk/space-trouble (business app)
- github.com/mgerasimchuk/protty (cloud native app)

Резюме .PDF

Навыки_

Основные

Agentic Development

Advanced usage of AI coding assistants (ChatGPT, GitHub Copilot, Cursor, Claude Code) and related tooling(Code-Graph-RAG, agents, skills). Rapid prototyping. Tests, API stubs and documentation generation. Applying AI tools to accelerate development workflows, including automated code review agents. For non-core parts of the codebase - feature implementation and code refactoring

GoLang

golang-standards/project-layout, The Clean Architecture, go app for k8s, goroutines, channels, generics, sync, grpc, protobuf, sarama, graceful shutdown, gowrap(custom templates), chi, gin, fiber, fasthttp, lo, zap, logrus, otel, envconfig, golangci-lint, gofakeit, etc.

K8S

DigitalOcean k8s(+DO LoadBalancer and persistent volumes), GKE k8s, AWS k8s, self-hosted k8s cloud, Rancher k8s, kubectl, helm charts, autoscaling, ingress controllers (traefik, ingress-nginx, voyager, multiple ingress-nginx controllers in the cluster), network policy (namespace isolation), NodePorts, SSL installation / cert-manager, Linkerd, istio, k8s HTTP API, troubleshooting, traffic sniffing by ksniff, tcp-dump and wireshark

DevOps, Tooling, SRE

Bare metal: Supermicro, IPMI, Proxmox, Kubernetes(terraform, bpg/proxmox, siderolabs/talos)
Cloud platforms (AWS, GCP, Digital Ocean, Hetzner): Configuring Kubernetes(self-hosted and as a service), Load balancing, virtual network, S3, CDN, configuring LAMP/LEMP stack on VPS. Configuring and interacting with AWS services - CloudWatch/OpenSearch/EKS/ECR/XRay/SNS/MSK/Bedrock/etc
Monitoring: PromQL, SLI/SLO metrics/budgets/alerts, Alertmanager API, Grafana dashboards creating and delivering through the CI/CD with Grafana API / helm charts, Prometheus push-gateway configuration, Prometheus record rules, product and infrastructure alerts, Alertmanager receivers customization, Continuous profiling on the Grafana/Alloy/Pyroscope/pprof stack
Helm: Creating templates for business apps, Grafana dashboards, Prometheus rules/alerts, infrastructure apps
Terraform: Using 3rd party providers for describing infrastructure as a code
GitLab, GitHub: Creating pipelines and workflows from scratch for testing(unit+integration), linting, building business applications and delivering to the production through the dev and stage environments. Creating and configuring self-hosted gitlab shell runners. Creating custom integrations(review reminder bots, developers mention mechanisms, metric exporters to the ES and Grafana) with the GitLab API

Testing (Unit, Integration, Stress, Acceptance)

Unit: TDD, BDD testing, PHPUnit(MockBuilder, ReflectionClass, Coverage), Codeception frameworks. Fixtures and Faker extensions to generate mock data, Golang test(gomock, gounit, faker, HTTP recorders)
Integration: docker-compose based with infrastructure/svc mocks by Wiremock(for HTTP APIs), Gripmock(for gRPC API), Localstack(for AWS)
Stress: k6, Tsung, Yandex tank, JMeter, BlazeMeter, recording and reproduced users' sessions with Nginx access logs and Tsung sessions.
Acceptance and Smoke: Codeception, Selenium, Selenoid for UI testing(with session video recording)

OpenAPI/Swagger Specification

With the "API Design First" approach, using OpenAPI/Swagger Specification and Swagger-UI. Writing specification for GET, POST, PUT, PATCH, DELETE requests with definitions. Using specification to runtime requests validation. Using swagger interceptor to generate documentation based on existing API

PHP8, PHP7, PHP5.6, Yii 2, Kohana 3, Slim, Silex, Cilex

JRPC/REST API, PHPUnit, Threads, pcntl, XDebug, XDebug profiling.
Yii2: Advanced template, Миграции, Active Record, table input, widgets, routing, RBAC.
Kohana3: ORM, mmp migrations, Smarty, Minions Task.

Mongo DB

SQL, PL/SQL

Index usage, сomplex queries, virtual tables, views, stored procedure, triggers. MySQL, PostgreSQL.

Также использую

In the process of work I also use


Опыт работы (12 лет, 7 месяцев)_

Senior Golang Software Engineer

ShelterZoom · Полная занятость
Нью-Йорк, Соединенные Штаты · Удаленно

11.2021 - наст. время (4 года, 8 месяцев)

Разработка на Golang в рамках работы над продуктами DocuWalk и Document GPS. Создание скелетон приложений и адаптация практик чистой архитектуры. Улучшение процессов CI/CD в GitLab, развитие мониторинга на базе Prometheus и Grafana, оптимизация производительности системы при работе с базами данных и совершенствование экосистемы разработки, построенной на AWS и Kubernetes. Разработка первой версии RAG-системы на базе компонентов AWS с дальнейшей работой над функциональностью и развитием AI Trust & Governance platform, Mithra AI.

• Реализовал E-Signature функцию в продукте и интегрировал WebSocket-компонент Centrifugo, обеспечивающий функцию совместной работы в реальном времени
• Разработал первую версию RAG-решения на базе компонентов AWS и выпустил его в составе бета-версии Mithra AI
• Реализовал CI/CD для бэкенда с нуля и выполнил миграцию всей организации на GitLab
• Ускорил обновление библиотек более чем в 15 раз, сократив трудозатраты с усилий целой команды до одного разработчика
• Выстроил observability в масштабах организации - трекинг ошибок в Sentry, алертинг через Prometheus/Alertmanager и непрерывное профилирование, а также механизм автоназначения алертов, который уведомляет ответственного разработчика в Slack
• Создал режим отладки в Kubernetes с пересборкой на лету, сократив время локализации первопричины проблем с ~1 дня до десятков минут
• Сократил число ложноположительных алертов благодаря подходу "Silences as code" и уменьшил количество ложных срабатываний QA-автотестов за счёт настройки CI/CD
• Создал кастомный Grafana datasource для логов медленных запросов MongoDB, что позволило избежать расходов на enterprise-версию MongoDB datasource стоимостью $300 в месяц

Роли: Lead Golang developer, Tech Lead

Технологии: GoLang, gRPC, protobuf, WebSockets, REST, Prometheus, Prometheus Alertmanager, Docker, K8S, MongoDB, Elasticsearch(AWS OpenSearch), Kafka, Redis, BlazeMeter, JMeter, Grafana, Kibana, GitLab, Microservices, AWS(X-Ray, CloudWatch, VPC, MSK, EKS, Bedrock), Hyperledger.

*Было интересно на момент работы с проблемой (т.е. сейчас, некоторые решения, я бы возможно вычеркнул из этого списка)
- Привнес CI/CD практики, интегрировав запуски тестов/линтеров на уровне GitHub CI/CD
- Привнес и интегрировал на уровне CI/CD практики написания acceptance тестов на базе docker-compose и инфраструктурных моков с использованием gripmock(для gRPC API), wiremock(для HTTP API), LocalStack(для AWS инфраструктуры)
- Инициировал и провел миграцию с GitHub на GitLab
- Описал GitLab пайплайны содержащие этапы тестирования, сборки и доставки(с аппрувами) приложений на несколько окружений
- Создал главный лэйаут/шаблон для приложений
- Систематизировал и развил практики чистой архитектуры применяемые в компании
- Реализовал и интегрировал во все сервисы, возможность remote debug-а для golang приложений запускаемых в k8s. За счет введения дополнительных этапов в CI/CD по сборки и деплою приложения в специальном debug режиме. В рамках этой активности так же реализовал и live sync + rebuild сервисов в кластере с помощью reflex, rsync завернутых в кастомный докер контейнер, что позволило выполнять запуск sync-а в 1 клик
- Реализовал сбор Prometheus метрик и AWS XRay трэйсов, в разрезе операции репозитория, с дампом всех входящих параметров, имени метода а также возвращаемого результата+наличия ошибки. С помощью написания шаблона репозитория-декоратора и автогенерации декораторов gowrap-ом с последующей инициализацией в entrypoint-е приложения
- Реализовал silences feature на базе Alertmanager API для автотестов QA team
- Настроил self-hosted CI/CD раннеры для ускорения пайплайнов и поддержки интеграционных тестов
- Вндерил практики мониторинга, создав overview и детализированные дашборды для сервисов
- Ускорил процесс апгрейда библиотек более чем в 15 раз, сократив число вовлеченных разработчиков со всей backend команды до одного
- Создал working agreements для backend команды, чтобы повысить качество решений, сократить время на обсуждения и улучшить процессы code review
- Ускорил обнаружение и решение проблем, инициировав расширение доступа разработчиков к Develop и Staging окружениям Kubernetes кластеров
- Реализовал новый подход к сборке frontend приложений, позволяющий собирать один docker image вместо трех
- Реализовал сбор и алертинг по error-логам приложений
- Реализовал механизм отслеживания покрытия unit-тестами
- Внедрил Continuous Profiling для приложений
- Разработал Review Reminder Slack Bot позволяющий ускорить процессы кросс ревью
- Реализовал механизм авто-назначения упавших QA-тестов
- Занимался реализацией механизма электронной подписи в рамках бизнес потребностей продукта
- Провел ресёрч/анализ/тестирование сторонних WebSocket-решений, реализовал прототипы и внедрил новый WebSocket-инфраструктурный компонент на базе Centrifugo для реализации возможности совместного редактирования документов
- Провел реверс инжиниринг приложения на Go, с предваарительным дампом трафика с помощью wireshark и sidecars в k8s превратив трафик в моки с интеграционными тестами на базе docker-compose
- Нашел самый быстрый и дешевый по ресурсам способ построить собственное RAG-решение на базе компонентов AWS и реализовал его
- Предложил, реализовал и интегрировал Sentry, а также интегрировал работу с ней в backend-процессы
- Создал Slack Duty Bot для всех департаментов (BE, FE, QA) для удобства организации процесса дежурств
- Снизил количество false-positive алертов на всех окружениях и отвлечение разработчиков, внедрив подход Silences-as-a-code
- Отрефакторил DevOps бэкенд helm-чарт, сделав интерфейс конфигурирования env более прозрачным, удобным и без дублирования
- Реализовал in-house решение запуска debug версии Go приложений по кнопке в CI/CD прямо в кластере dev среды с возможностью перехвата вызовов из кластера прямо в локальную IDE

Software Development Engineer

Amazon Web Services (AWS Shield) · Полная занятость
Ванкувер, Канада · В офисе

08.2022 - 08.2022

Я написал 0 строчек кода для AWS, но мой почтовый ящик содержит более 300 писем-переписок с моим менеджером команды разработки AWS Shield и сотрудниками сервиса иммиграции.

К сожалению, по не зависящим от меня и Amazon обстоятельствам, я не смог приступить к работе над проектом AWS Shield из-за того, что агенство иммиграции Канады не осуществило одобрение моей рабочей визы в установленные сроки.

Не смотря на это, я все равно решил отразить этот опыт в моем карьерном пути, так как нахожу его авторитетным подтверждением некоторых моих навыков.

• Я прошел все три раунда интервью включая loop, и получил финальный job offer 16 августа 2022 года в команду AWS Shield и принял его.
• Улетал в Казахстан, чтобы сдать языковой экзамен IELTS и готовить большое кол-во других документов для иммиграции в Канаду
• Отправил весь пакет документов на иммиграцию.
• Подписал много бумаг и контрактов от AWS и даже зарезервировал внутреннюю почту и бейдж
• Но спустя пол года активной работы с агенством иммиграции Канады, и аутсорс агенством помощи с иммиграцией Vialto, мои документы остановились на самом последнем этапе проверки
• Amazon несколько раз продлевал мне оффер, а вопрос с иммиграционной заявкой эскалировался в Canada IRCC как стороной Amazon, так и парламентариями работающими с Vialto
• Спустя одного с половиной года с момента получения оффера, счастливого конца к сожалению так и не случилось, и в качестве опыта у меня остался только этот долгий путь, который ни закончился тем чем я хотел
• 4 января 2023 года, мои документы все еще были на финальном этапе review в Canada IRCC, и Amazon не согласовал дальнейшие продления оффера
На этом моя история с FAANG и иммиграцией в Канаду завершилась, но к сожалению не в мою пользу.

Senior Golang Software Engineer

Pushwoosh · Полная занятость
Вашингтон D.C., Соединенные Штаты · Удаленно

11.2018 - 11.2021 (3 года)

Разработка микросервисов для pushwoosh.com на Go в соответствии с практиками чистой архитектуры, конфигурация их через Consul, покрытие метриками Prometheus, сброка в Docker, равертывание, мониторинг и масштабирование в K8S. Занимался разработкой новых продуктов в компании, принимая ключевые решения, связанные с технологией Facebook Messaging, которая интегрировалась в новый продукт Abandoned Cart Recovery. Разрабатывал и осуществлял поддержку решений платформы ориентированных на 15K RPS внешнего трафика и 110K RPS внутри кластера.

• Разработал Event Public API - ключевой клиентский функционал, покрыв его unit и приёмочными тестами по TDD
• Реализовал MVP нового продукта "Abandoned Cart" с интеграцией Facebook Messenger API и довел его до продакшна открыв продукт для клиентов
• Внедрил SLI/SLO, унифицированные глобальные метрики, дашборд с бюджетами и алертинг, и далее повысил Success Rate проблемных публичных API с ~70% до 99.9%
• Инициировал и внедрил автоскейлинг сервисов в Kubernetes по внешним метрикам Prometheus, в том числе на основе Kafka Lag
• Создал шаблон сервиса следующего практикам чистой архитектуры и переписал утилиту генерации сервисов, ускорив разработку новых микросервисов
• Реализовал Mongo Monitor Grafana dashboard и отдельный пакет сбора метрик для диагностики нестабильности MongoDB

Роли: Middle Backend Engineer L1, Middle Backend Engineer L2, Middle Backend Engineer L3, Senior Backend Engineer L1
Команды: Strategy, Abandoned cart sub-product, Customer Data Platform sub-product, Core, Production, SRE

Технологии: GoLang, gRPC, protobuf, Prometheus, Consul, Docker, K8S, PHP7(+демоны на php), PostgreSQL, MongoDB, ClickHouse, Cassandra, Kafka, RabbitMQ, Redis, Tsung, Yandex tank, Grafana, Redash, Gitlab(сборка и тесты - все там, деплой с кнопки), Microservices, REST API.

*Было интересно на момент работы с проблемой (т.е. сейчас, некоторые решения, я бы возможно вычеркнул из этого списка)
- Работа над отдельным продуктом - Abandoned Cart. Это b2b продукт, для которого я сделал MVP на Yii2. MVP позволял настроить брошенную корзину с отложенными сообщениями в facebook messenger, а так же позволял осуществлять сбор данных о пользователях facebook. Во время реализации MVP была интегрирована авторизация через FB и создано единое Facebook приложение. Когда кастомер создавал брошенную корзину, MVP автоматически вызывало FB API методы генерации маркеров доступа, которые требуются для уведомления пользователей о брошенной корзине в FB messenger-е. Так же в момент создания кастомером брошенной корзины, MVP проставлял webhook-и на Facebook страницу кастомера, для того чтобы принимать сообщения от его клиентов. А чтобы Facebook Checkbox plugin отображался на сайте кастомера, в MVP было интегрировано Facebook Page Settings API для установки whitelisted_domains поля страницы. MVP продукта я развернул в своем облаке, что позволило продемонстрировать бизнесу продукт, в том числе и дать им самим его использовать. В дальнейшем я запросил добавить поддомен для MVP на нашем основном домене, это позволило использовать его во время предпродажных демонстраций для потенциальных кастомеров. Так же сделал доступ к ресурсу по секретной куке, которую проверял на уровне nginx, что позволило скрыть MVP от посторонних глаз, не тратя при этом время на авторизацию. После создания и презентации MVP, мы разнесли все на Go сервисы, в которых уже использовали все взаимодействия с Facebook API, которые были налажены в MVP.
- Приемочные тесты на codeception с поднятием selenoid фермы в k8s - покрыл приемочными тестами позитивный главный кейс для нового продукта "Abandoned Cart", на selenoid ферме была сконфигурирована видео трансляция тестового сценария
- Помощь кастомерам с интеграцией продукта - писал кастомные JS решения по интеграции, для клиентов, у которых были проблемы с интеграцией продукта брошенной корзины
- Тестирование ClickHouse как потенциального хранилища для будущего хранения пользовательских событий кол-вом порядка 15-20млрд. Была выполнена миграция части текуших данных из mongoDB strorage-а в ClickHouse storage, и был реализован скрипт который выполняет ряд различных реальных запросов на разном кол-ве данных / разном временном диапазоне, и на основе скорости выполнения был сделан вывод, что данное хранилище удовлетворят потребностям.
- Написание js скрипта нормализации ~1.9млрд документов, размещенных в ~1.6K базах данных(~1.8Tb) одного mongoDB кластера. Требовалось нормализовать значения одного поля, содержащего массив объектов. Для этого был написан скрипт который проходится по всем базам данных кластера и в каждой БД делал полный проход по всем документам требуемой коллекции. Сразу же в скрипте были написаны тесты по нормализации документа, которые обязательно запускались перед стартом нормализации и должны были завершится с успехом + был организован live вывод статистики по кол-вам обработанных/заэфекченных документов как на уровне текущей БД так и общие числа по кластеру, так же был выполнен вывод потраченного и прогнозируемого времени работы. Был реализован dryRun режим в скрипте, и работа в режиме dryRun занимала ~30 чассов
- Реализация шаблона сервиса consumer-а для закрытия проблемы с boilerplate. В шаблон была сразу же заложена логика на основе управления простенькой сущностью пользователя для демонстрации того, как стоит комфортно организовывать роутинг ивентов из EventBus, а работа всех компонентов приложения в то числе и с демо сущностями пользователя была построена с использованием архитектурного подхода The Clean Architecture. В результате написания такого шаблона, разработчику, после генерации нового сервиса, очень просто видеть на примере, что и куда складывать, и на это уходит минимальное время.
- Настройка автоскейлинга для сервиса работающего в k8s, включая подбор оптимального кол-ва воркеров одного из компонентов сервиса + нагрузочное тестирования для проверки того, что поды множатся
- Реализация микросервиса с "горячей" реконфигурацией компонентов по хукам изменений конфигов из консула (изменяешь конфиг в consul-ui, микросервису приходит хук с новыми значениями, если ключ конфига поддерживает горячую реконфигурацию компонента, то stateful компонент останавливается, и запускается заново с новым конфигом, если же ключ не поддерживает горячую конфигурацию, сервис сам себя "убивает" и k8s под убивается, ну и потом новый поднимается)
- Обозначил и решил проблему с долгими ревью в команде с помощью реализации slack бота. Данный бот конфигурируется для конкретной команды и соответствующего канала команды в slack. Отправляет сообщение в канал команды, каждый день в 9 часов с напоминаниями о ревью - отмечая в каждом отдельном MR тех, кто не посмотрел его или упоминает, автора о том что пора мержить MR; демонстрирует статус последнего пайплайна для MR; указывает кол-во аппрувов и открытых дискуссий; указывает ссылки на задачу в JIRA, на сам MR, на репозиторий в который делается MR; сортирует MRы в особом порядке, с учетом успешности пайплайнов, кол-ва дискуссий/аппрувов, времени прибывания на ревью. А также обновляет всю вышеуказанную информацию в своем сообщений, на протяжении всего оставшегося дня. Что позволяет членам команды постоянно видеть актуальные MR-ы в одном месте, с указанием того, что каждому осталось посмотреть.

PHP Developer

НГС Технологии (N1.RU) · Полная занятость
Новосибирск, Россия · В офисе

06.2017 - 11.2018 (1 год, 5 месяцев)

Группа разработки проекта "Недвижимость" N1.RU, цифрового направления медиакомпании Hearst Shkulev Digital Regional Network.

Разработка единого API, с нагрузкой ~500 RPS, для webapp на vue.js и мобильных приложений на Android, iOS.

• Провел рефакторинг двух ключевых сервисов, что позволило снизить error-rate на API и фоновую обработку задач в среднем на 20%
• Довел покрытие unit-тестами кода core-функционала до 90%
• Написал генератор тестовых данных и моков API, ускорив написание тестов
• Внедрил в практики написания PHPUnit тестов использование vfsStream для файловых функций и рефлексию для доступа к закрытым методам
• На кросс-ревью поддерживал top-3 review-rate, участвуя в среднем в 80% процентах ревью

Роли: Middle PHP developer
Команды: Desktop Web App API, Mobile Apps API

Технологии: PHP5.6, PHPUnit, MongoDB, Elastic Search, Redis, Swagger/OpenAPI, XDebug, Xhprof, RabbitMQ, Docker, Drone CI/CD, Foreman, Silex Framework, Cilex CLI Framework, Sentry, Grafana, Jira, Tsung.

*Было интересно на момент работы с проблемой (т.е. сейчас, некоторые решения, я бы возможно вычеркнул из этого списка)
- Для валидации @throws phpDoc завернул PHPStorm в docker контейнер на alpine, и внедрил в drone CI;
- Для тестирования нового функционала, который был рискован, проводил нагрузочные тесты на боевое апи с помощью tsung и реальных пользовательских сценариев, которые были записаны;
- Сделал внутренний инструмент для авто тестов того, что правки в api не ломают старого функционала - например для задач по рефакторингу, или подобных, требуется получить выборку из access логов, закинуть ее в инструмент, указать виртуальные среды с production кодом, и с версией кода, в которую внесены правки, и система проверит, совпадения ответов. Инструмент позволяет изменять запросы/урлы/тела ответа с помощью php middleware-ов, которые находятся в веб интерфейсе;
- Для сокращения времени настройки remote debug-а в phpStorm, сделал расширение для данной IDE, которое, позволяет выполнять настройку xdebug в один клик (https://plugins.jetbrains.com);
- Для упрощения написания тестов, где требуется мокать внутренние апи клиенты, написал трэйт, после примеси которого, в унаследованном от реального апи клиента классе(моке), можно удобно и просто определять очередь ответов, так же можно добавлять в очередь и исключения, и ответы с ошибками.

PHP Developer

VipParcel · Полная занятость
Новосибирск, Россия · В офисе

09.2016 - 05.2017 (8 месяцев)

Реализация новой функциональности для проектов VipParcel и ExpressFromUS и осуществление их поддержки.

Технологии: PHP5.6, Kohana 3 framework, Smarty, jQuery, JS, HTML, CSS, twitter bootstrap framework, RabbitMQ, Mercurial (Bitbucket), composer, MySQL, phpStorm, Ubuntu, Docker.

PHP Developer

YarCode · Полная занятость
Красноярск, Россия · В офисе

09.2015 - 09.2016 (1 год)

Под руководством YarCode agency реализовал ряд проектов представленных в портфолио (за исключением разработки верстки, так же некоторые проекты разрабатывались в команде).

Технологии: PHP5.4, jQuery, JS, HTML, CSS, twitter bootstrap framework, swagger framework, codeception framework, git (Bitbucket, GitHub), composer, MySQL, dbForge, phpStorm, LEMP stack.

Java Desktop Application Developer

Коммунальные информационные системы · Частичная занятость
Красноярск, Россия · В офисе

01.2015 - 06.2015 (5 месяцев)

Поддержка системы автоматизации бизнес процессов, компаний предоставляющих энергоресурсы.
• Адаптация iReport отчетов;
• Разработка классов сбора/импорта данных и др.

Технологии: Java, SQL, Eclipse, Aqua data studio, iReport, SVN, CVS, Lotus, СУБД MS SQL Server.

C# Desktop Application Developer

Ситалл-софт · Частичная занятость
Красноярск, Россия · В офисе

10.2012 - 01.2014 (1 год, 3 месяца)

Поддержка системы автоматизации бизнес процессов полиграфической компании ЗАО "Ситалл" .
• Изменение UI по требованиям пользователей;
• Оптимизация View, хранимых процедур, SQL запросов для СУБД Oracle и др.

Технологии: C#, Delphi, XML, SQL / MS Visual Studio, Delphi 7, SVN, SQL Navigator, Crystal Report / СУБД Oracle.

Образование_

Информатика и вычислительная техника. Высокопроизводительные вычислительные системы (магистратура)

СФУ Институт космических и информационных технологий · Красноярск, Россия

09.2015 - 06.2017

После защиты дипломного проекта на тему “Лабораторный комплекс, для развития и контроля практических навыков работы с командным интерфейсом операционных систем” была присвоена квалификация магистр и выдан диплом с отличием.

Вычислительные машины, комплексы, системы и сети (специалитет)

СФУ Институт космических и информационных технологий · Красноярск, Россия

09.2010 - 06.2015

После защиты дипломного проекта на тему "Разработка симулятора командного интерфейса для обучения и контроля знаний студентов по предмету Операционные системы. Логика сервера приложения" была присвоена квалификация инженер и выдан диплом с отличием.

Деятельность и сообщества:
Член команды по программированию от ИКИТ СФУ, участник 1/4 финала международной олимпиады по программированию АСМ ICPC, участвовал в олимпиадных сборах по подготовке к полуфиналу АСМ ICPC в г. Барнауле. Являлся лауреатом и победителем научно-технических конференций. Участник форумов и инновационных проектов.

Работы на тему (статьи):
Логика сервера симулятора для обучения и контроля знаний студентов (июнь 2015)
Описание требований и структуры симулятора для проверки и контроля знаний студентов (январь 2015)
Реализация веб-ориентированного приложения, тренажера-эмулятора, для обучения и контроля знаний обучающихся (июнь 2014)
Реализация сервера блокировок для совместного использования объектов информационной системы (июль 2013)


Свидетельства о государственной регистрации программ для ЭВМ:
Модуль управления симулятора командного интерфейса для обучения и контроля знаний студента (июнь 2015)
Программный комплекс CryptoT. Обучающий модуль для изучения методов криптоанализа моноалфавитных и полиалфавитных шифров (апрель 2015)

Последние изменения: 06.08.2026г.

Go to English version

mgerasimchuk.dev