Backend Developer (Go)
unknownУдалённо
PostgreSQLTypeScriptBackendKafkaFintechJavaScriptGoMicroservicesRedisRESTPaymentsgRPC
Описание
Мы – IT/финтех-компания, разрабатывающая высоконагруженные системы для управления финансами и обработки платежей на международных рынках. Ищем Go-разработчика для развития backend-сервисов платёжной платформы.
Обязанности
- Разработка и поддержка сервисов на Go
- Проектирование API и межсервисного взаимодействия через REST/gRPC
- Работа с PostgreSQL: схемы данных, миграции, оптимизация запросов
- Участие в архитектурных решениях, написание тестов, code review и поддержка сервисов в production
Требования
- Коммерческий опыт разработки на Go
- Понимание особенностей языка Go: интерфейсы, указатели, обработка ошибок, goroutines, channels, context
- Понимание конкурентности, синхронизации и работы с памятью
- Опыт разработки и поддержки production-сервисов
- Уверенное владение SQL, понимание JOIN, индексов, транзакций и уровней изоляции
- Понимание принципов оптимизации запросов и работы с EXPLAIN
- Опыт проектирования схем данных и работы с миграциями
- Понимание SOLID, DRY, KISS и их практического применения
- Опыт организации кода по слоям и разделения ответственности между компонентами
- Понимание Clean Architecture и DDD
- Знание основных паттернов проектирования и понимание, когда их целесообразно применять
- Умение проектировать расширяемые и поддерживаемые решения без избыточного усложнения
- Понимание принципов построения распределённых систем
- Опыт разработки API и межсервисного взаимодействия через REST/gRPC
- Понимание синхронного и асинхронного взаимодействия, обработки ошибок, таймаутов, повторных попыток и идемпотентности
- Понимание событийной архитектуры и принципов работы брокеров сообщений, в частности Kafka
- Опыт работы с Git и участия в code review
- Умение писать тестируемый код, опыт unit- и интеграционного тестирования
- Опыт отладки, анализа ошибок и поддержки работающих сервисов
- Умение разбираться в существующем коде, а не только писать новый
Будет плюсом
- Практический опыт с Kafka: consumer groups, offsets, delivery semantics
- Опыт работы с Redis
- Базовые знания JavaScript/TypeScript
- Опыт работы с кодом на других языках, например Ruby
Условия
- Полностью удалённая работа
- Вознаграждение обсуждается на интервью
- Участие в принятии технических решений и развитии платёжной платформы