- Работа в Москве
- IT, интернет, связь, телеком
- Senior backend engineer
- Senior Backend Engineer (Go / PostgreSQL / Kafka / Kubernetes)
Senior Backend Engineer (Go / PostgreSQL / Kafka / Kubernetes)
от 450 000 ₽
- Немчиновка
- Сетунь
- Рабочий поселок
Формат: Офис / Гибрид
Команда: Внутренний R&D-отдел (FinTech / Internal Payments / Cross-border Transfers)
Инфраструктура: исключительно on-premise — собственные серверы, Kubernetes (microk8s), CI/CD в закрытом контуре; весь код и данные — строго внутри периметра.
Стек: Go 1.24, Clean Architecture, fasthttp, Uber FX, PostgreSQL / MySQL / SQLite, pgxpool v5, sqlc, Redis, Kafka / RabbitMQ, zerolog, Docker, Kubernetes YAML
Что предстоит делать
Разработка внутренних финтех-сервисов
Бэкенды для платёжных систем, шлюзов, сервисов переводов (включая трансграничные) и автоматизации банковских операций.
Интеграции
Писать интеграционные сервисы и API с внешними платёжными провайдерами, внутренними реестрами, шинами событий (Kafka/RabbitMQ).
Системы хранения и очереди
Проектировать отказоустойчивые системы с использованием PostgreSQL, Redis и брокеров сообщений.
Технический дизайн
Разрабатывать модули по принципам Clean Architecture, с раздельными слоями и контрактами, автогенерацией клиентских SDK и схем.
Инфраструктура
Собирать образы, писать Dockerfile, настраивать Kubernetes-манифесты (на базе microk8s), деплоить сервисы в тестовый периметр. В прод катят девопсы
Проектный процесс
Работаем по Kanban, всё ведём в OpenProject, код — в GitLab, ревью обязательны. Минимум митингов — максимум фокуса.
Обязательные требования
- 4+ года коммерческого опыта в разработке на Go.
- Отличное знание стандартной библиотеки Go 1.18+, уверенная работа с context, net/http, sync, time, errors, encoding/*.
- Опыт написания REST API, умение писать хендлеры без аллокаций, опыт с fasthttp.
- Уверенное понимание Clean Architecture: слои, зависимости, интерфейсы, DI.
- PostgreSQL: умение писать сложные SQL-запросы, работа с pgx и pgxpool v5, миграции, индексы.
- Redis: очереди, кэш, TTL, pub/sub.
- Kafka или RabbitMQ: продюсеры/консьюмеры, схемы сообщений, requeue & dead-letter.
- Понимание принципов контейнеризации, опыт написания Dockerfile и Kubernetes YAML для сервисов.
- Опыт работы с GitLab, CI/CD пайплайнами, Merge Request процессом.
- Внимательность, умение тестировать себя, проверять бизнес-правила руками и глазами.
- Умение читать и писать документацию, тикеты, описания PR.
Будет плюсом
- Опыт работы с sqlc и autogen-клиентами.
- Умение писать middleware для fasthttp, работа с zerolog.
- Опыт настройки и работы с microk8s.
- Навыки работы с protobuf/gRPC и protoc генерацией.
- Знание систем очередей в деталях: ручная маршрутизация, backoff, обработка фейлов.
- Опыт написания операторов / CronJob'ов в Kubernetes.
- Примеры продакшн-кода в открытом доступе / участие в open-source.
- Опыт в разработке финтех-систем, особенно с трансграничной спецификой (SWIFT, SEPA, ISO 20022).
Что мы предлагаем
- График 5/2, возможно обсудить частично удаленный вариант сотрудничества (полностью удаленного формата нет)
- Интересные задачи в области автоматизации сложных банковских процессов.
- Работа в R&D-подразделении — возможность влиять на архитектуру, стек, процессы.
- Наставничество и рост до Senior/Tech Lead.
- Оформление по ТК РФ, гибкий график, 28 дней отпуска.
- Прозрачная грейд-матрица и ревью каждые 6 месяцев.
- Комфортный офис, закрытый контур, без бюрократии.
Задачи (выполненное задание необходимо принести с собой на собеседование).
Напиши CLI-программу jsonf, которая читает stdin, ожидая на вход JSON-массив объектов, и выводит другой JSON в stdout, применяя фильтр — оставлять только указанные поля.
Пример запуска:
echo '[{"id":2,"name":"Alice","age":30},{"age":25,"name":"Bob","id":1}]' | \
go run main.go name age
Ожидаемый вывод:
[{"name":"Alice","age":30},{"age":25,"name":"Bob"}]
Напиши программу, которая запускает N запросов (эмуляция Request()) в пуле из M горутин, но не чаще, чем 1 запрос в 200 мс (rate limiting по времени).
for i := 0; i < 10; i++ {
go Request(i)
}
На выходе должно быть видно, что Request выполняется не чаще 1 в 200мс.
Опубликована день назад