Працював в 1 компанії   2 роки 8 місяців

Торгівля роздрібна / Retail

.NET розробник (C#, ASP.NET Core, PostgreSQL)

Антип, ТОВ

Торгівля роздрібна / Retail

2 роки 8 місяців

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

Створював Web API для мобільного корпоративного застосунку дистриб'ютора пива та напоїв: каталог товарів, клієнти, замовлення, маршрути доставки, електронні накладні та обмін повідомленнями. Також розробляв back-end для вебсайту компанії з каталогом товарів та замовленнями.

Проектував багаті доменні моделі по DDD. Писав та оптимізував SQL-запити для PostgreSQL. Використовував LINQ у EF Core для стандартних операцій, а Dapper для важких, багатотабличних та специфічних запитів читання. Розділив логіку читання та запису за принципами CQRS з окремими read/write DbContext'ами. Оптимізував фільтри та агрегації каталогу, налаштовував складені індекси, унікальні ключі та обмеження, аналізував плани виконання та знижував навантаження на БД за рахунок коректного індексування. Застосовував Unit of Work для управління транзакціями та узгодженісті даних.

Налагодив асинхронну взаємодію між сервісами через RabbitMQ, використовуючи MassTransit та Wolverine. Використовув патерн Inbox та Outbox. Додав retry policies, що підвищило відмовостійкість системи та виключило втрату важливих бізнес-подій.

Реалізував сервіс для надсилання push-повідомлень за допомогою Firebase Cloud Messaging (FCM). Додав можливість для 1С вивантажувати список повідомлень із різним часом відправки для різних співробітників. Використовував Hangfire для відкладених завдань та ретраїв.

Використовував Redis для кешування. Підтримував актуальний snapshot залишків товарів та кешував результати фільтрації каталогу (групи, бренди, упаковки, виробники) за принципом cache-aside. Це прискорило роботу каталогу та знизило навантаження на БД.

Для роботи з файлами використовував S3-сховище для зручного зберігання та швидкого доступу до документів та медіа. Метадані файлів зберігалися в MongoDB.

Додав логування через Serilog з відправкою до Elasticsearch і переглядом логів у Kibana. Підключив OpenTelemetry для метрик, відправляв їх у Prometheus та візуалізував за допомогою Grafana, що забезпечило стабільний моніторинг стану системи та дозволило швидко реагувати на проблеми.

Писав модульні та інтеграційні тести на xUnit із використанням Moq. Інтеграційні тести запускав із використанням Docker-контейнерів для PostgreSQL та RabbitMQ.

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

  • C#
  • .NET
  • ASP.NET Core
  • Entity Framework (EF Core)
  • PostgreSQL
  • REST API
  • DDD
  • SOLID
  • Clean Architecture
  • Git
  • GitHub
  • Docker
  • Redis
  • RabbitMQ
  • Hangfire
  • Dapper
  • AutoMapper
  • Avalonia
  • CQRS
  • FluentValidation
  • xUnit
  • Moq
  • Unit Testing
  • LINQ
  • S3
  • Serilog
  • Jira

Навчався в 1 закладі

Національний авіаційний університет

Факультет кібербезпеки, комп'ютерної та програмної інженерії / 121 Інженерія програмного забезпечення

2024

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

Англійська

середній

Російська

рідна

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

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

Українська

рідна

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

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

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

Introduction to .NET, EPAM Campus

2022

Додаткова інформація

Про себе

Громадянин України, проживаю у Сербії.

Шукаю віддалену роботу.

.NET розробник (C#, ASP.NET Core, PostgreSQL) із більш ніж дворічним комерційним досвідом. Працював у сферах дистрибуції та рітейлу, створюючи внутрішні та продуктові додатки, REST API та рішення для автоматизації.

Дмитро Володимирович

.NET Developer (C#, ASP.NET Core, PostgreSQL)

Київ

40 000 грн

23 роки

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

повна зайнятість, неповна зайнятість, проектна робота

Характер роботи: віддалена робота

Остання активність 3 дні тому