Aston — аккредитованная аутсорсинговая IT-компания, работающая с 2007 года. Наш штат насчитывает 2500+ специалистов. Мы разрабатываем программное обеспечение и IT-решения в сферах Finance, Healthcare, eCommerce, IoT, Media, Big Data, ML и многом другом.
Предлагаем присоединиться в роли Go Developer и работать над проектом заказчика.
Заказчик - крупный российский продуктовый ритейлер, лидер офлайн- и онлайн- рынка продуктов питания. Компания управляет портфелем брендов сетевых магазинов, цифровыми бизнесами, собственными службами логистики и несколькими цифровыми сервисами для партнеров.
Почему это будет интересно?
- возможность повышения квалификации на проекте одного из лидеров рынка;
- современный технический стек.
Обязанности
- проектировать архитектуру сервисов и микросервисов, выбирать подходящие паттерны и подходы;
- писать высокопроизводительный, безопасный и поддерживаемый код на Go с учётом особенностей конкурентности (Go - рутины, каналы, примитивы синхронизации);
- определять и реализовывать контракты API (REST, gRPC, GraphQL), согласовывать их с другими командами;
- глубоко оптимизировать производительность: профилировать, выявлять и устранять узкие места, работать с аллокациями памяти и блокировками;
- выстраивать надёжную стратегию тестирования: покрывать код юнит‑, интеграционными и property‑based тестами, проектировать тестовые данные и фикстуры;
- работать со сложными схемами взаимодействия с БД (PostgreSQL, MySQL, Redis и др.): проектировать индексы, оптимизировать запросы, реализовывать транзакции и паттерны распределённых блокировок;
- интегрировать сервисы со внешними системами и очередями сообщений (Kafka, RabbitMQ, NATS), обрабатывать ошибки и реализовывать механизмы повторных попыток и дедлайнов;
- участвовать в проектировании и настройке CI/CD‑пайплайнов, автоматизировать деплой, валидацию и rollback;
- настраивать контейнеризацию (Docker) и оркестрацию (Kubernetes), работать с Helm‑чартами, определять resource requests/limits, readiness/liveness probes;
- внедрять и поддерживать инструменты мониторинга, логирования и трейсинга (Prometheus, Grafana, Jaeger, ELK), настраивать алерты и SLO/SLI;
- проводить код‑ревью, наставлять младших разработчиков, формировать стандарты качества кода и best practices в команде;
- управлять техническим долгом: планировать рефакторинг, оценивать риски и влияние изменений, приоритизировать задачи;
- участвовать в разборе инцидентов, проводить постмортемы, предлагать и внедрять меры по предотвращению повторных сбоев.
Требования
- коммерческий опыт работы в роли Go Developer от 4-х лет;
- наличие законченного высшего технического образования, либо подтвержденный индустриальный трек;
- глубокое понимание модели памяти, Go-рутин и каналов. Опыт написания конкурентного кода без гонок данных (Data races);
- опыт работы с Generics в Go;
- написание исчерпывающих unit-тестов (табличный стиль), моков (gomock/testify) и интеграционных тестов;
- опыт работы с PostgreSQL: глубокое знание SQL;
- опыт написания эффективных миграций схем данных (инструменты: golang-migrate, atlas);
- умение использовать популярные ORM/Query builders (GORM, Ent, или sqlx/sqlc);
- опыт работы с веб-фреймворками Go: Gin, Fiber, Echo и стандартный Net/HTTP с роутерами (Chi, Gorilla);
- опыт проектирования RESTful API и написания спецификаций OpenAPI 3.0/Swagger;
- навыки авторизации и аутентификации (замена Django Authentication на Keycloak);
- опыт интеграции Keycloak (или других SSO-решений на базе OAuth2/OIDC) в Go-приложения;
- глубокое понимание протокола OIDC;
- опыт работы с Redis;
- понимание безопасности: защита от CSRF, правильная настройка CORS при работе с SPA-фронтендом, использование http-only cookies для хранения access/refresh токенов;
- опыт с брокерами сообщений: Kafka, RabbitMQ или NATS (замена Celery + Redis на асинхронные воркеры на Go);
- понимание паттернов: Outbox, Saga, CQRS (в контексте миграции бизнес-логики);
- понимание стратегия миграции (Strangler Fig Pattern);
- опыт настройки маршрутизации трафика;
- опыт работы с Django;
- настройка структурированного логирования (slog, logrus, zap);
- интеграция с системами мониторинга (Prometheus + Grafana);
- настройка OpenTelemetry для распределенного трассирования;
- опыт работы с Kubernetes;
- опыт прохождения Code Review: умение давать конструктивный фидбек;
- системное мышление: понимание, что переписывание — это не просто "перевод синтаксиса", а рефакторинг архитектуры;
- опыт проведения Tech Design сессий и RFC (Request for Comments) внутри команды;
- владение английский языком на уровне B2 и выше.
Будет плюсом
- опыт миграции с Python на Go (конкретные кейсы);
- знание Temporal или Cadence для замены сложных Celery-воркеров;
- понимание Event Sourcing;
- наличие Open Source проектов на Go;
- опыт работы с Foreign Data Wrappers или Debezium для CDC (Change Data Capture).
Что мы предлагаем
- конкурентная зарплата, сумму обсуждаем отдельно с каждым кандидатом;
- проекты от топовых компаний;
- оформление по ТК;
- возможность выбирать формат работы: из дома, из офиса или гибридный;
- комфортные офисы в городах-центрах разработки;
- медицинская страховка (+стоматология);
- sick-days, оплачиваемый бенч, отпуск и больничные;
- частичная компенсация спортивных абонементов и компенсация расходов на оплату коворкинга;
- доплаты за менторство, ведение обучающих курсов, ревью проектов и участие в других профактивностях компании;
- прозрачная система Performance Review и ментор на все время работы;
- поэтапная система адаптации новых сотрудников;
- корпоративный портал с материалами для изучения любого нового стека и повышения уровня по своей специальности и не только;
- участие в технических митапах и конференциях в качестве гостя и спикера;
- корпоративы и тимбилдинги;
- детские праздники и мастер-классы с подарками и сладостями для семей сотрудников.