Описание
IQHost Cloud создает и обслуживает VM, в том числе с GPU, управляет сетями, IP-адресами, резервными копиями, образоми, интегрируется с биллингом на вычислительных нодах. Ищем Go-разработчика, который сможет брать ответственность за backend-функциональность целиком: от проектирования изменения и работы с данными до выпуска и диагностики в рабочем окружении.
Чем предстоит заниматься
- Развивать Go-сервисы облачной платформы: API, планировщики, исполнители задач и событийные обработчики. - Реализовывать сценарии жизненного цикла VM, сетей, GPU-ресурсов, резервных копий и балансировщиков нагрузки. - Развивать асинхронный конвейер задач на RabbitMQ: корректно обрабатывать повторную доставку, частичные ошибки, retry и очереди необработанных сообщений.
- Обеспечивать согласованность данных и конкурентную работу процессов с помощью транзакций и блокировок PostgreSQL. - Проектировать HTTP API и интеграции с биллингом, S3-совместимым хранилищем и сервисами на вычислительных нодах. - Создавать SQL-миграции, следить за целостностью схемы, индексами и производительностью запросов.
- Покрывать критические сценарии unit- и integration-тестами, помогать формировать воспроизводимые проверки распределенных процессов. - Разбирать инциденты по структурированным логам и метрикам, улучшать наблюдаемость и отказоустойчивость сервисов. - Проводить ревью и постепенно упрощать существующий код без остановки продуктовой разработки.
- Вместе с командой развивать сборку и запуск сервисов в Docker и Kubernetes. Tech Stack - Go, стандартная библиотека `net/http`; - PostgreSQL, GORM, pgx, SQL-миграции; - RabbitMQ, Redis, S3-compatible storage; - Docker, Kubernetes/k3s/k3d, Helm, GitLab CI/CD; - Prometheus, Grafana, Loki, Promtail, zerolog; - WebSocket, VNC, интеграции с внутренними API; - Интерфейсы на Vue 3. Для нас важно - Уверенный коммерческий опыт разработки на Go и понимание его стандартов: context, интерфейсы, обработка ошибок, конкурентность, HTTP-клиенты и серверы.
- Опыт с PostgreSQL: транзакции, уровни изоляции и блокировки, индексы, планы запросов, безопасные миграции. - Понимание архитектуры систем с очередями: гарантии доставки, ack/nack, идемпотентность, ретраи, DLQ и восстановление после разрыва соединения. - Умение проектировать и тестировать код, зависящий от БД, очередей и внешних HTTP-сервисов.
- Опыт работы с Linux и Docker; способность самостоятельно диагностировать проблему по логам, метрикам и состоянию сервисов. - Готовность разбираться в существующей кодовой базе, отделять срочное исправление от системного решения и делать изменения небольшими проверяемыми шагами. - Ответственное отношение к совместимости, данным пользователей и изменениям в production.
Будет плюсом
- Опыт эксплуатации сервисов в Kubernetes, работы с Helm и GitLab CI/CD. - Знание предметной области виртуализации: QEMU/KVM, libvirt, жизненный цикл VM, GPU passthrough. - Понимание сетей Linux, VLAN/VXLAN, bridge, маршрутизации и базовых L2/L3-принципов.
- Опыт с высоконагруженными или инфраструктурными системами, планировщиками ресурсов и eventual consistency. - Практика построения наблюдаемости и расследования сбоев в распределённых системах. - Знакомство с Redis, S3 API, WebSocket, Python или способность прочитать Vue-код при разборе сквозного сценария.
- Опыт улучшения legacy-систем: добавление тестовых швов, безопасная декомпозиция и поэтапный рефакторинг. Предлагаем - Работу над собственным продуктом, который управляет реальной вычислительной и сетевой инфраструктурой. -
Задачи
на стыке backend-разработки, распределенных систем и облачной инфраструктуры. - Возможность влиять на архитектуру, надежность, безопасность и инженерные практики проекта. - Сочетание продуктовой разработки с осмысленным устранением технического долга.
- удаленная работа - формат сортрудничества? Откликнуться - Резюме, ссылка на github или пример проекта, за который вы отвечали. - В сопроводительном письме, можно кратко описать проект(систему), с которой вы работали(какие проблемы решали)
Контакты работодателя (email/phone/telegram) скрыты из публичного превью —
отправьте резюме, чтобы мы связали вас напрямую.