Обязанности:
Мы занимаемся автоматизацией логистики, сельскохозяйственных процессов и электронного документооборота. Backend здесь отвечает за сервисы, которые связывают внутренние продукты, внешние интеграции, данные и пользовательские сценарии в устойчивые рабочие процессы. Нужен человек, который не боится живых продакшен-сервисов, умеет разбираться в предметке, аккуратно менять сложную бизнес-логику и доводить задачи до стабильной работы. Зона ответственности Основной фокус - поддержка и развитие Go-микросервисов: - сервисы, которые обслуживают внутренние продукты и бизнес-процессы компании; - API, фоновые обработчики, интеграции с внешними и внутренними системами; - обработка бизнес-событий, структурированных данных, файлов, статусов и пользовательских действий; - задачи на стыке backend-разработки, баз данных, API-контрактов и production support. Это не абстрактная разработка "еще одного CRUD". Здесь много доменной логики, интеграций между сервисами, нестандартных статусов, ретраев, идемпотентности, XML/JSON-контрактов, миграций и поддержки реальных бизнес-процессов. Чем предстоит заниматься 1. Развивать и поддерживать Go-микросервисы для внутренних продуктов компании. 2. Разбираться в существующей бизнес-логике и аккуратно вносить изменения без регрессий. 3. Делать новые endpoints, сервисные методы, фоновые обработчики, интеграции и доработки контрактов. 4. Работать с PostgreSQL: писать запросы, менять схемы, добавлять миграции, разбираться с индексами и транзакциями. 5. Поддерживать надежную обработку событий: retries, at-least-once доставка, exactly-once бизнес-эффект, idempotency, outbox/inbox-подходы. 6. Интегрироваться с внешними и внутренними сервисами по REST/gRPC. 7. Работать со структурированными данными, файлами, статусами, XML/JSON-контрактами и подписью данных. 8. Писать и поддерживать тесты там, где ошибка дорого стоит: обработчики, маппинги, репозитории, воркеры, интеграционные сценарии. 9. Участвовать в code review и помогать держать кодовую базу в нормальном состоянии. 10. Диагностировать проблемы в проде: логи, метрики, БД, очереди/таблицы обработки, внешние API. 11. Участвовать в эксплуатации сервисов в облачной инфраструктуре и Kubernetes. Наш стек Go 1.25/1.26 PostgreSQL, pgx, GORM Echo, REST, gRPC Viper, Zap Docker, docker compose Kubernetes, облачная инфраструктура Goose/migrations OpenAPI/Postman для контрактов Интеграции с внешними API, сервисами авторизации, справочников, файловыми и внутренними сервисами Что важно по опыту коммерческий опыт разработки на Go от 3 лет; уверенное понимание Go: context, goroutines, channels, sync, interfaces, error handling, dependency boundaries; хороший SQL и PostgreSQL: транзакции, индексы, explain/analyze, миграции, блокировки, аккуратная работа с данными; опыт разработки REST API и интеграций с внешними сервисами; понимание идемпотентности, ретраев, фоновой обработки, eventual consistency и проблем повторной доставки событий; умение читать чужой код, быстро строить mental model сервиса и не ломать соседние сценарии; опыт с Docker, Kubernetes и базовая уверенность в Linux/CLI: поднять окружение, посмотреть логи, проверить конфиг, найти проблему; привычка писать тесты не "для галочки", а как защиту критичных сценариев; самостоятельность: взять не до конца формализованную задачу, уточнить спорные места, предложить решение, сделать MR, проверить и довести до прода. Будет большим плюсом Опыт с event-driven системами, outbox/inbox, worker pipelines, очередями или durable processing. Опыт с внешними API, XML/XSD, файлами или подписанными данными. Опыт с gRPC и внутренними платформенными сервисами. Опыт эксплуатации сервисов: метрики, health/ready endpoints, алерты, расследование инцидентов. Понимание DDD, clean architecture, hexagonal architecture - без фанатизма, но с уважением к границам слоев. Опыт работы с legacy/живыми сервисами, где нельзя "переписать с понедельника", а нужно постепенно улучшать систему. Кого мы ищем по стилю работы Нам нужен не просто исполнитель задач из трекера, а инженер, который умеет думать о последствиях. Подойдет человек, который: - спокойно разбирается в сложной предметной области; - задает вопросы, когда требования неполные; - не боится БД, логов, интеграций и продакшен-диагностики; - пишет простой и поддерживаемый код; - понимает, что "работает у меня локально" - это еще не готово; - умеет доводить задачу end-to-end: код, тесты, миграции, проверка, описание изменений. Не подойдет, если хочется только зеленфилд, только писать новые сервисы с нуля или не хочется вникать в бизнес-логику. Что будет на старте 1. Разобраться с основными backend-направлениями и их зонами ответственности. 2. Взять часть текущих задач по API, интеграциям, обработке событий, файлам и БД. 3. Постепенно подключиться к более сложным сценариям: фоновые процессы, статусы, ретраи, миграции, диагностика и production support. 4. Закрывать баги и небольшие фичи, параллельно погружаясь в архитектуру. 5. После адаптации - самостоятельно вести более крупные доработки и помогать разгружать текущую команду. Что предлагаем: - работа с реальными backend-сервисами, где важны надежность, данные и бизнес-процесс, а не имитация нагрузки; - небольшая команда без лишней бюрократии: можно быстро обсуждать решения и влиять на архитектуру; - большая зона ответственности и заметный вклад: разработчик здесь влияет на реальные бизнес-процессы, а не просто закрывает поток однотипных задач; - возможность работать с нетривиальными backend-задачами: надежность, данные, интеграции, эксплуатация и развитие сервисов, которые реально используются в компании. Как будет выглядеть процесс 1. Короткое знакомство: опыт, ожидания, формат работы. 2. Технический разговор по Go, PostgreSQL, интеграциям, надежности и реальным кейсам из прошлого опыта. 3. Обсуждение одного-двух наших сценариев: как бы кандидат разбирался с багом, ретраями, миграцией или интеграцией. Мы не ищем идеального человека по всем пунктам. Нам важнее инженерная зрелость: умение разобраться, не сломать, объяснить решение и довести задачу до результата. Если по уровню ты уверенный Middle+ и уже умеешь самостоятельно вести сервисные задачи, тоже стоит откликнуться. Если тебе интересно поддерживать и развивать живые backend-сервисы, разбираться в сложной логике и отвечать за результат, будем рады познакомиться.Похожие вакансии