Индивидуальный предприниматель, работающий над международным проектом, ищет Principal .NET Engineer. Все разработчики находятся в Варшаве и Минске. Команда говорит на русском языке.
Разрабатывается личный кабинет, бэк-офис и другие продукты для собственного финансового брокера, работающего в Малайзии, Индонезии и регионе MENA. Удаленная работа возможна.
Роль:
Principal-инженер будет не только разрабатывать, но и определять техническую стратегию бэкенд-микросервисов: агрегация данных из БД, высоконагруженные расчеты статистических показателей, организация API-шлюзов и внутренних сервисов. Также ожидается участие в ревью кода, менторство и помощь в выборе архитектурных решений. Фронтенд-навыки приветствуются для создания простых интерфейсов (формы/таблицы) под внутренние нужды — однако есть выделенная фронтенд-команда для сложных задач.
Обязанности
- Проектирование и развитие архитектуры бэкенд-микросервисов (от идеи до продакшна).
- Разработка высоконагруженных серверных служб с упором на производительность и отказоустойчивость.
- Создание внутренних и публичных API (REST, gRPC).
- Оптимизация агрегации данных и сложных вычислений (включая многопоточность и асинхронность).
- Внедрение стандартов кода, код-ревью, менторинг команды .NET-разработчиков.
- Выбор технологий и библиотек, решение кросс-сервисных проблем (очереди, event-driven архитектура).
- Трансформация бизнес-требований в масштабируемые технические решения.
Обязательные требования
- Уровень: 8+ лет коммерческого опыта с C# / .NET, включая роли Senior+ / Principal / Tech Lead.
- Архитектура: глубокое понимание микросервисной архитектуры, шаблонов распределенных систем (Saga, CQRS, Circuit Breaker), опыт проектирования с нуля.
- .NET Core / ASP.NET Core — экспертный уровень.
- Базы данных: SQL, PostgreSQL, оптимизация сложных запросов, работа с Entity Framework (включая профилирование) и Dapper.
- Многопоточность и асинхронность: Task Parallel Library, Concurrent Collections, низкоуровневая синхронизация, понимание async/await на уровне внутреннего устройства.
- Рефлексия и генерация кода: опыт использования Reflection, Expression Trees, Source Generators.
- API и коммуникации: REST, gRPC, JSON/Protobuf, OpenAPI/Swagger.
- Тестирование: юнит-тесты (xUnit/NUnit), интеграционные тесты, мокирование, опыт с Testcontainers.
- Очереди и события: RabbitMQ / Kafka / Azure Service Bus (хотя бы одна система).
- Контроль версий и CI/CD: Git, опыт настройки пайплайнов (GitHub Actions, GitLab CI или аналоги).
- Инструменты: Visual Studio 2022 / Rider, отладка памяти и производительности (dotMemory, PerfView, BenchmarkDotNet).
Желательно
- Опыт интеграции с платежными системами (Visa, MasterCard, местные провайдеры SEA / MENA).
- Работа в финансовой / брокерской / финтех среде (высокая нагрузка, транзакции, консистентность данных).
- PostgreSQL на уровне администратора (партиционирование, репликация, настройка индексов).
- Опыт с оркестрацией контейнеров (Docker, Kubernetes) и облаками (AWS / GCP / Azure).
- Понимание принципов безопасности (OAuth2, JWT, шифрование, защита API).
- Навыки фронтенда (например, Razor Pages, простой Blazor, или хотя бы базовые HTML/JS для отладки представлений).