Продуктовая IT компания, которая занимается разработкой и поддержкой высоконагруженных проектов для крупных компаний, в том числе с мировой известностью, основная часть которых представляет собой B2B решения развлекательной, игровой и спортивной тематики находится в поисках
C#/.NET Backend EngineerО продукте:
Внутренний сервис учёта рабочего времени для крупной компании: графики, отпуска, больничные, локальные праздники и правила по нескольким юрисдикциям. Высокая сложность предметной области, строгие требования к корректности расчётов, производительности и аудиту.
Технологический стек:
C# / .NET (ASP.NET Core), EF Core (MySQL), Docker, Kubernetes, GitLab (CI/CD), Kafka и RabbitMQ, Redis. Фронт — Next.js; взаимодействие через согласованные контракты API.
Зона ответственности:
- Быстрое погружение в сложную доменную область (отпуска/больничные/календарные правила по разным странам) и ее формализация в коде;
- Проектирование, разработка и поддержка высоконагруженных backend-сервисов на c#/.net;
- Проработка и защита технических решений: модели данных, api-контракты, политики согласованности, идемпотентность, ретраи, дедупликация событий;
- Работа с ef core и mysql: оптимизация запросов, индексы, план выполнения, транзакции и уровни изоляции, борьба с блокировками/дедлоками;
- Интеграции через очереди (kafka, rabbitmq): продуманная семантика доставки, партиционирование, обработка ошибок, мониторинг лагов;
- Кэширование в redis: стратегии инвалидации, ttl, защита от dog-pile, при необходимости — распределенные блокировки;
- Обеспечение наблюдаемости: логирование, метрики, трассировки (opentelemetry/prometheus/grafana), алёртинг;
- Безопасность и соответствие: аутентификация/авторизация (oauth2/oidc/jwt), аудит операций, защита персональных данных;
- Тестирование: unit/integration/contract-тесты, тестирование бизнес-правил, миграции бд, тестовые данные;
- Участие в code-review, менторство, улучшение инженерных практик и ci/cd;
- Совместная работа с фронтенд-командой (next.js), аналитиками для корректной интерпретации норм.
Требования:
- 5+ лет коммерческой разработки на c#/.net (asp.net core), уверенное владение современными версиями платформы;
- Глубокая экспертиза в ef core: профилирование, отслеживание изменений, n+1, асинхронность, миграции, маппинг сложных моделей;
- Сильные знания sql/mysql: нормализация, индексация, explain, блокировки, транзакции, уровни изоляции, оптимизация тяжелых запросов;
- Опыт в сообщениях и стриминге: kafka и/или rabbitmq (модели потребления, exactly-/at-least-once, обработка «ядовитых» сообщений);
- Практика контейнеризации и оркестрации: docker, базовые навыки kubernetes (деплой, конфигурация, отладка);
- Понимание принципов распределённых систем: согласованность, идемпотентность, повторяемость, дедупликация, транзакционные границы;
- Опыт построения наблюдаемости: логи, метрики, трассировки; умение локализовать регрессии производительности;
- Инженерная гигиена: тесты, code-review, ci/cd (gitlab), документирование api (например, openapi/swagger);
- Командные навыки: умение спорить по существу, защищать решения данными, брать ответственность и доводить фичи до продакшена.
Будет плюсом:
- Опыт реализации сложных бизнес-правил (финтех, hris/time & attendance, расчеты по нескольким законодательствам);
- Знание ddd, контрактного тестирования, версионирования api, миграций схемы без даунтайма;
- Практика в оптимизации ef core под высокую нагрузку (split queries, compiled queries, батчинг);
- Оpentelemetry, prometheus, grafana; профилировщики .net (dottrace, perfview);
- Базовое понимание фронтенд-контрактов (next.js), rest/grpc.
Что мы готовы предложить:
- График работы 5/2 с гибким началом рабочего дня;
- Удаленный формат работы;
- Оплачиваемый отпуск;
- Гибкий подход к управлению, постановке задач, процессам;
- Перспективные проекты и продвинутые технологии;
- Интересные задачи в дружной и большой команде;
- Отсутствие ненужной бюрократии, возможность реализовывать свои идеи.