Дмитро

.NET-програміст, 40 000 UAH

Considering positions:
.NET-програміст, C# розробник, ASP.Net програміст, Back-end програміст, .Net-програміст, C# програміст
Employment type:
full-time, part-time
Age:
23 years
City of residence:
Kyiv
Ready to work:
Remote

Contact information

The job seeker has entered a phone number , email and LinkedIn.

Name, contacts and photo are only available to registered employers. To access the candidates' personal information, log in as an employer or sign up.

Work experience

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

from 10.2023 to now (2 years 11 months)
Антип-НК, ТОВ, Київ (Оптова торгівля, дистрибуція, імпорт, експорт)

Створював 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.

Education

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

Факультет кібербезпеки, комп'ютерної та програмної інженерії / 121 Інженерія програмного забезпечення, Київ
Higher, from 2020 to 2024 (4 years)

Additional education and certificates

2022, 4 місяця

Knowledge and skills

  • 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

Language proficiencies

  • English — average
  • Ukrainian — fluent

Additional information

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

Similar candidates

All similar candidates

Candidates at categories

Candidates by city


Compare your requirements and salary with other companies' jobs: