Описание вакансии
Задачи:
— Разработка высоконагруженных backend-сервисов и внутренних API на Go.
— Проектирование и развитие микросервисной и распределённой архитектуры: идемпотентность, консистентность, retries, deadlines, отказоустойчивость.
— Написание конкурентного кода на goroutines, channels и примитивах синхронизации.
— Проектирование REST/gRPC API и согласование контрактов с другими командами.
— Асинхронное взаимодействие сервисов через брокеры (Kafka, NATS, RabbitMQ).
— Работа с БД: проектирование схем, индексы, оптимизация запросов, транзакции; Redis для кэша и хранения.
— Профилирование и оптимизация: CPU, память, аллокации, GC, throughput и latency.
— Тестирование: unit- и integration-тесты.
— Docker и Kubernetes: деплой, ресурсы, health checks.
— Участие в построении CI/CD.
— Мониторинг, логирование, трейсинг, алерты и дашборды.
— Code review, участие в архитектурных решениях и техдизайне.
— Управление техдолгом и рефакторинг.
— Разбор production-инцидентов, повышение надёжности.
— Документирование технических решений.
Требования:
— Коммерческая разработка от 5 лет, из них опыт production-разработки на Go от 3-4 лет.
— Глубокое знание Go: goroutines, channels, примитивы синхронизации, паттерны конкурентности, memory model, GC, runtime.
— Опыт написания конкурентного кода без гонок данных.
— Умение профилировать и оптимизировать приложения с помощью pprof (CPU, память, аллокации).
— Опыт работы с generics.
— Понимание сетевого программирования.
— Опыт разработки высоконагруженных и распределённых систем.
— Опыт проектирования микросервисной архитектуры.
— Понимание event-driven архитектуры и асинхронного взаимодействия между сервисами.
— Сильные навыки System Design.
— Понимание принципов отказоустойчивости: retries, deadlines, идемпотентность, консистентность данных.
— Опыт проектирования и разработки HTTP / REST / gRPC API.
— Уверенное знание SQL и PostgreSQL или MySQL: сложные запросы, CTE, оконные функции, индексы, транзакции, оптимизация.
— Опыт работы с NoSQL-хранилищами.
— Практический опыт работы с Redis.
— Опыт работы с одним или несколькими брокерами сообщений: Kafka, NATS/JetStream, RabbitMQ.
— Опыт работы с Docker и Kubernetes: деплой, управление ресурсами, health checks, readiness/liveness probes.
— Опыт работы с Git и CI/CD (GitLab CI, GitHub Actions, TeamCity или аналоги).
— Хорошее понимание Linux, сетей и TCP/IP.
— Опыт написания unit- и integration-тестов.
— Опыт работы с мониторингом (Prometheus, Grafana), логированием и трейсингом.
— Опыт проведения code review и участия в принятии архитектурных решений.
— Умение документировать технические решения.
Будет плюсом:
— Опыт построения observability: OpenTelemetry, Jaeger, ELK.
— Опыт работы с CI/CD и GitOps: ArgoCD и аналоги.
— Опыт работы с распределёнными и NoSQL-базами данных: ClickHouse, MongoDB, YDB, CockroachDB.
— Опыт работы с IAM, OAuth2/OIDC, mTLS и безопасным межсервисным взаимодействием.
— Знание Python для скриптов, автоматизации и работы с legacy-кодом.
Условия:
— Поток действительно интересных проектов, релевантных твоему опыту и с учетом текущей загрузки.
— Формат работы 5/2, полная или частичная занятость.
— Оформление в удобном для тебя формате: ИП или самозанятость.
— Полная удаленка.
— Возможность менять проекты внутри компании — с учётом твоей экспертизы, интереса и текущей загрузки.
— Прозрачность условий и коммуникации, поддержка на всех этапах до выхода на проект и во время работы.
Контакты работодателя доступны по кнопке «Откликнуться» после входа.