Korzinka — крупнейшая сеть супермаркетов в Узбекистане.
IT-команда Korzinka строит backend-инфраструктуру, которая обслуживает миллионы транзакций и сотни тысяч пользователей. Ищем Software Engineer (.NET /C#) с экспертизой в .NET, который будет разрабатывать надёжные backend-сервисы, проектировать интеграции и участвовать в развитии архитектуры.
Обязанности:
Разработка и поддержка POS-приложения:
- Разрабатывать и поддерживать POS-приложение на .NET Framework 4.8 / C#: проектирование, реализация, рефакторинг и поддержка в production-среде с соблюдением стандартов команды.
- Разрабатывать пользовательский интерфейс на базе WPF: XAML, MVVM, data binding, команды и обработка пользовательских действий.
- Работать с базами данных SQLIte и PostgreSQL: проектирование моделей данных, написание и оптимизация SQL-запросов
- Использовать Entity Framework / EF Core для работы с данными: конфигурация маппинга, миграции, оптимизация запросов, работа с транзакциями и конкурентным доступом.
- Разрабатывать и поддерживать интеграции с внутренними и внешними системами: проектирование интеграционных сценариев, работа с контрактами API, обработка ошибок и повторных попыток, мониторинг интеграционных потоков.
Асинхронность и очереди сообщений:
- Работать с брокерами сообщений RabbitMQ и/или Kafka: проектирование топиков и очередей, реализация продюсеров и консьюмеров, обеспечение надёжной доставки сообщений, обработка ошибок и dead letter queues.
- Реализовывать паттерны асинхронной обработки данных: event-driven архитектура, saga, outbox pattern — в соответствии с требованиями к надёжности и консистентности данных.
Качество кода и архитектура:
- Участвовать в проектировании архитектурных решений: обсуждение подходов к декомпозиции, выбор паттернов, оценка trade-off между решениями совместно с командой и техническим лидом.
- Писать чистый, поддерживаемый и тестируемый код в соответствии с принципами ООП, SOLID и Clean Code; следить за соответствием решений архитектурным стандартам команды.
- Проводить code review: анализировать чужой код на корректность, читаемость и соответствие стандартам; давать конструктивную обратную связь, учитывать контекст задачи.
- Устранять технический долг и оптимизировать существующие решения: выявлять узкие места в производительности, рефакторить legacy-код, улучшать архитектуру без нарушения функциональности.
Процесс разработки:
- Участвовать в анализе требований и оценке задач: декомпозиция, выявление неоднозначностей, оценка трудоёмкости, взаимодействие с product owner и аналитиками.
- Писать unit- и integration-тесты: обеспечение покрытия критической бизнес-логики, поддержание тестовой базы в актуальном состоянии.
- Работать с Git в рамках командного GitFlow: ветвление, pull request, разрешение конфликтов, поддержание чистоты истории коммитов.
- Участвовать в развитии CI/CD-процессов: понимание пайплайнов сборки и деплоя, участие в устранении проблем, инициирование улучшений в процессе доставки кода.
Требования:
- Опыт коммерческой разработки на .NET / C# от 5 лет.
- Уверенное знание WPF: XAML, MVVM, data binding и команды.
- Опыт работы с .NET Framework 4.8.
- Уверенная работа с Entity Framework Core: конфигурация, миграции, оптимизация запросов.
- Хорошее знание PostgreSQL: проектирование схем, написание и оптимизация запросов, работа с индексами.
- Понимание принципов проектирования REST API: versioning, idempotency, error handling, документирование.
- Опыт работы с RabbitMQ и/или Kafka: продюсеры, консьюмеры, надёжная доставка сообщений.
- Понимание принципов асинхронной обработки данных и event-driven архитектуры.
- Опыт разработки интеграций между системами: API-интеграции, обработка ошибок, мониторинг.
- Уверенное понимание ООП, SOLID, Clean Code; умение применять паттерны проектирования.
- Уверенная работа с Git: GitFlow, pull request, code review.· Умение читать, анализировать и рефакторить чужой код.
Будет плюсом:
- Опыт работы с React.
- Опыт работы с NoSQL базами данных (MongoDB, Redis).
- Опыт разработки микросервисной архитектуры.
- Опыт работы с Docker / Kubernetes.
- Опыт написания unit- и integration-тестов (xUnit, NUnit, Moq).
- Опыт оптимизации производительности backend-сервисов.
- Понимание CI/CD-процессов: GitHub Actions, Azure DevOps или аналоги.
Условия:
- Гибкий режим работы, свобода от дресс-кода.
- Performance-бонусы по результатам Review.
- Таунхоллы, митапы, demo-дни, внутренние сообщества.
- Партнёрские программы обучения: иностранные языки, Skillbox, Geekbrains, Yandex Practicum.
- Карта Korzinka Plus с 10% кешбэком в сети.
- Наставничество и программы материальной поддержки.
- Referral-бонусы за рекомендации.