B5 Recruiting
Senior Software Engineer (.NET/Multi-Tenant SaaS)
Автоматический пересказ вакансии на русском. Полный текст на языке оригинала и форма отклика — на сайте работодателя.
Senior-инженер в проектную команду, которая строит мультитенантную веб-платформу для бизнес-клиентов: React/Next.js на фронте и .NET Core API на бэкенде с SSO. Роль предполагает проектирование вместе с архитектором, обеспечение изоляции данных тенантов и менторство младших инженеров.
Задачи
- Проектировать и разрабатывать мультитенантное приложение совместно с архитектором: API, модель данных и тенант-зависимую логику
- Разрабатывать безопасные RESTful API на .NET Core с документацией для веб-приложения и внешних интеграций
- Реализовывать аутентификацию и авторизацию через OAuth 2.0 и OpenID Connect, интегрировать SSO с identity-провайдерами клиентов
- Обеспечивать изоляцию данных тенантов на уровне API, слоя данных и приложения, проверять её тестами и код-ревью
- Разрабатывать и ревьюить фронтенд-фичи на React или Next.js
- Проводить код-ревью и задавать стандарты качества, поддерживаемости, производительности и тестирования
- Менторить junior- и middle-инженеров через парное программирование, код-ревью и помощь в проектных решениях
- Применять практики безопасной разработки (OWASP, валидация ввода, least-privilege, управление секретами) и помогать находить и устранять уязвимости
- Участвовать в оценке задач, груминге бэклога и планировании спринтов, коммуницировать прогресс, риски и компромиссы команде и клиенту
- Помогать выстраивать и поддерживать CI/CD, логирование, мониторинг и техническую документацию
- Документировать ключевые проектные решения и обеспечивать передачу знаний команде разработки клиента
Требования
- 6+ лет профессионального опыта в разработке ПО, включая значительный опыт создания production API на .NET Core (C#)
- Сильное понимание дизайна RESTful API: версионирование, обработка ошибок, пагинация, документация (OpenAPI/Swagger)
- Опыт работы с реляционными БД (предпочтительно SQL Server): моделирование данных, оптимизация запросов, Entity Framework Core
- Знание OAuth 2.0 и OpenID Connect: токен-аутентификация, scopes и claims, ролевая и policy-based авторизация
- Понимание концепций мультитенантности: стратегии изоляции (общие или раздельные схемы/БД), определение тенанта, конфигурация под тенанта
- Подтверждённый опыт построения безопасных приложений и защиты данных клиентов, включая защиту от типовых веб-уязвимостей
- Опыт написания автоматических тестов (unit и integration), работы с системами контроля версий, код-ревью и CI/CD
- Опыт менторства или технического наставничества инженеров
- Способность быстро включаться в незнакомую кодовую базу и работать самостоятельно в удалённом формате
- Сильные навыки письменной и устной коммуникации, комфортная работа с архитекторами, дизайнерами, проектными менеджерами и стейкхолдерами клиента в распределённых командах
Условия
- Контрактная занятость (contract basis)
- Удалённая работа
- Работа в распределённой команде над мультитенантной SaaS-платформой
- Предпочтительно нахождение в районе Grand Rapids, Michigan
Навыки
- .NET Core
- C#
- RESTful API
- OpenAPI
- Swagger
- SQL Server
- Entity Framework Core
- OAuth 2.0
- OpenID Connect
- SSO
- SCIM
- React
- Next.js
- TypeScript
- Azure
- Azure DevOps
- CI/CD
- Windows Server
- IIS
- OWASP
- Agile
- Scrum