Проект: В рамках проекта планируется создание Единого Личного кабинета для клиентов ЮЛ/ИП. Проект крупный, основные цели – создание дополнительного цифрового канала взаимодействия с клиентом, обеспечение высокого качества клиентского опыта и вовлеченности и стабильности работы кабинета.
Задачи:
Исследование Orleans для целей проекта: o создание приложений на сравниваемых архитектурах; o подготовка скриптов нагрузочного тестирования; o анализ сценариев использования (например, обработка сессий, кэширование состояния); o сравнение с альтернативами (например, Redis + распределённые блокировки).
Ревью кода подрядчиков: o проверка соответствия коду стандартам (например, локальные стандарты, Microsoft .NET Guidelines); o выявление архитектурных проблем (tight coupling, нарушение SRP); o формирование чётких замечаний с примерами альтернатив; o контроль покрытия тестами и документации.
Оптимизация архитектуры: o предложение решений для масштабируемости (например, шардирование данных); o участие в проектировании контрактов API.
Требования:
Опыт разработки на платформе .NET не менее 5 лет.
Уровень владения C# — уверенный (понимание принципов ООП, SOLID, паттернов проектирования).
Понимание жизненного цикла разработки ПО (Agile/Scrum, CI/CD).
Высшее профильное образование.
Технические навыки
Ядро .NET: .NET 8+, ASP.NET Core.
Работа с данными: o Dapper, AdoNet; o знание SQL, PL/pgSQL (PostgreSQL), умение писать сложные запросы и профилировать их.
Микросервисная архитектура: o понимание принципов декомпозиции сервисов; o опыт работы с контейнеризацией (Docker, Kubernetes); o знание механизмов межсервисного взаимодействия (REST, gRPC, messaging); o проектирование RestAPI.
Orleans: o понимание концепции грейнов (grains); o опыт настройки кластеров Orleans; o умение оценивать применимость Orleans для конкретных сценариев; o опыт разработки на иных фреймворках Модели Акторов: ProtoActor, Akka.NET, Darp.
EventSourcing o опыт разработки приложений с EventSource архитектурой
Интеграции: o знание протоколов аутентификации (OAuth2, JWT, OpenID Connect); o асинхронные коммуникации (Kafka).