Мы создаём высоконагруженный сервис сокращения ссылок, который должен обрабатывать миллионы запросов в сутки. Сейчас команда масштабирует систему — увеличиваем объём данных с 200 млн до 6 млрд записей, перерабатываем архитектуру и хранилища под высокие нагрузки.
Текущий монолит на PHP (Symfony) постепенно разделяется на микросервисы на Go.
Обязанности:
Разрабатывать микросервисы на Go и выносить функциональность из PHP-монолита.
Профилировать и оптимизировать код (CPU/memory/locks/GC), запросы к PostgreSQL/ClickHouse.
Работать с кешированием, очередями, ретраями.
Профилировать Go-код и базы данных, устранять узкие места.
Проектировать и развивать API взаимодействия между сервисами.
Участвовать в архитектуре, отказоустойчивости и масштабировании совместно с DevOps
Наш стек
Go 1.22, PHP 8.2 / Symfony 7.1 (монолит)
PostgreSQL 16.4, ClickHouse 24.8, OpenSearch
Redis, RabbitMQ
Docker, Kubernetes, CI/CD
Vue 3, Node.js
Опыт коммерческой разработки на Go — от 3 лет
Опыт работы с PHP (Symfony) — от 2 года
Опыт миграции систем с монолита на микросервисную архитектуру.
Глубокое понимание работы PostgreSQL / ClickHouse, профилирования и оптимизации запросов.
Практика с очередями (RabbitMQ), кешами (Redis), идемпотентностью и защитой от дублей
Проектирование API, тестирование (unit/integration), принципы SOLID/GoF
Уверенное владение Docker и Git, работа в CI/CD-пайплайнах.
Опыт работы с высоконагруженными системами.
Будет плюсом:
Опыт работы с Kubernetes (понимание Pod lifecycle, graceful shutdown, probes, конфигурация сервисов).
Опыт оптимизации и проектирования распределённых систем (понимание сетевых взаимодействий, конкурентности, идемпотентности, устойчивости сервисов).
Понимание принципов работы сервисов в Kubernetes (Pod lifecycle, graceful shutdown, probes, конфигурация окружения).
Умение профилировать Go-приложения и устранять узкие места (CPU, memory, goroutines, lock contention, GC).
Опыт написания внутренних библиотек, SDK или CLI-инструментов на Go.
Понимание основ наблюдаемости (логирование, метрики, трассировка) — на уровне интеграции из кода.
Опыт разработки под партиционированные/шардированные БД на уровне клиентской логики (роутинг по ключам, консистентность, идемпотентность).
Опыт выноса функциональности из PHP/Symfony‑монолита в Go‑микросервисы: декомпозиция доменов, миграция данных, поэтапный rollout/rollback.
Удалённая работа
Гибкий график начала дня
Оплачиваемый отпуск 21 рабочий день
Реальный highload и масштаб 200M → 6B
Современный процесс: CI/CD, Docker, Kubernetes, Code Review, Jira.
Команду опытных разработчиков, DevOps и аналитиков.