О работе
Senior Go Developer (IAM)
EMCD — это глобальная криптоэкосистема, создающая продукты в сферах майнинга, кошельков, платежей, кастодиального хранения и инфраструктуры цифровых активов. Мы ищем Senior Go Developer, который присоединится к команде IAM и возьмет на себя ответственность за сервисы, отвечающие за аутентификацию, регистрацию, многофакторную аутентификацию (MFA), идентификацию и доступ пользователей во всех продуктах EMCD. Эта роль сочетает в себе практическую разработку бэкенда с технической ответственностью за домен IAM, включая инфраструктуру на базе Keycloak и устаревшие Go-сервисы.
Обязанности
- Отвечать за архитектуру домена IAM, включая инфраструктуру на базе Keycloak и устаревшие Go-сервисы
- Принимать архитектурные решения и документировать их с помощью ADR
- Разбивать крупные инициативы на задачи уровня репозитория, оценивать сроки выполнения и брать на себя ответственность за ключевые этапы
- Проводить ревью кода и поддерживать техническое развитие инженеров в команде
- Обеспечивать надежность продакшн-среды для потоков аутентификации и регистрации: расследовать инциденты, писать постмортемы и добиваться выполнения последующих действий
- Тесно сотрудничать с CISO, отделом комплаенса, службой поддержки и продуктовыми командами, включая Coinhold, Mining и Backoffice
- Совершенствовать существующие IAM-сервисы, одновременно уменьшая технический долг и упрощая устаревшие компоненты
Требования
- Опыт продакшн-разработки на Go более 4 лет
- Глубокое понимание протоколов OAuth 2.0 и OpenID Connect на уровне протокола: Authorization Code + PKCE, ротация refresh token, обмен токенами, Direct Grant и его риски, подпись JWT, claims и валидация на стороне ресурса
- Опыт работы с Keycloak в продакшн-среде: realms, clients, потоки аутентификации, обязательные действия, identity brokering с Google, Apple или внешними OIDC-провайдерами, а также апгрейды до основных версий
- Обширный опыт работы с MFA: TOTP, SMS и email OTP, push-аутентификация, passkeys и WebAuthn, включая специфику origin / RP ID для веб и мобильных устройств
- Понимание step-up аутентификации и уровней доверия с использованием LOA / ACR
- Опыт управления пользовательскими сессиями и устройствами, отзыва сессий, защиты от угона сессий и безопасной конфигурации cookie
- Опыт разработки бэкенда на Go. Наш стек включает echo, pgx, goose, Redis, Kafka (segmentio/kafka-go), gRPC, protobuf и OpenTelemetry
- Глубокие знания PostgreSQL: проектирование схемы, индексы, JSONB, производительность запросов в масштабе и миграции без простоя
- Опыт работы с событийно-ориентированными системами и паттернами, такими как transactional outbox, идемпотентность, повторные попытки и DLQ
- Опыт работы с гексагональной архитектурой и интеграционным тестированием с использованием testcontainers
Что мы предлагаем
- Полностью удаленная работа из любой точки мира
- Гибкий рабочий график с фокусом на результат
- 20 оплачиваемых дней отпуска + 12 дополнительных бонусных дней
- 100% оплачиваемый больничный
- Оплачиваемые уроки английского языка
- Поддержка курсов, сертификаций и профессионального обучения
- Техническая ответственность за основной домен IAM, используемый в нескольких продуктах EMCD