Работал в 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
Дополнительная информация
Про себе
Громадянин України, проживаю у Сербії.
Шукаю віддалену роботу.
.NET розробник (C#, ASP.NET Core, PostgreSQL) із більш ніж дворічним комерційним досвідом. Працював у сферах дистрибуції та рітейлу, створюючи внутрішні та продуктові додатки, REST API та рішення для автоматизації.
Дмитро Володимирович
Дмитро Володимирович
.NET Developer (C#, ASP.NET Core, PostgreSQL)

Киев
Активно ищет работу
полная занятость, неполная занятость, проектная работа
Характер работы: удаленная работа
Последняя активность 2 дня назад