Разработчик GO
Задачи
- Разрабатывать и поддерживать backend-сервисы на Go в составе продуктовой команды;
- Писать production-ready код: с тестами, обработкой ошибок, логами и метриками;
- Участвовать в разборе инцидентов и production-проблем по сервисам своей команды;
- Использовать существующие инструменты
observability (метрики, логи, трейсы) для диагностики проблем в своих сервисах;
- Дорабатывать мониторинг, алерты и дашборды
для сервисов своей команды;
- Участвовать в постмортемах: помогать
находить первопричины инцидентов и реализовывать улучшения;
- Улучшать эксплуатационные свойства своих
сервисов: покрытие тестами, читаемость логов, информативность метрик;
- Участвовать в код-ревью внутри команды.
Требования
- 2+ года коммерческого опыта backend-разработки, из них от 1 года на Go;
- Понимание concurrency в Go: goroutines, channels, sync, context, типичные ошибки и race conditions;
- Опыт написания и сопровождения production-кода: тесты, обработка ошибок, базовое профилирование (pprof);
- Понимание основных паттернов проектирования
(GoF, конкурентные паттерны в Go) и принципов SOLID;
- Понимание принципов чистой архитектуры:
разделение слоёв, инверсия зависимостей, изоляция бизнес-логики от инфраструктуры;
- Знакомство с основами DDD: ubiquitous language, агрегаты, bounded context, value objects — на уровне умения применять в типовых задачах;
- Опыт работы с PostgreSQL: написание запросов,
понимание индексов и планов запросов;
- Опыт работы с Kafka и/или RabbitMQ как пользователь: продюсеры, консьюмеры, базовое понимание гарантий доставки;
- Linux на уровне уверенного пользователя:
работа в shell, чтение логов, базовая диагностика (top, netstat, journalctl);
- Docker и Kubernetes на уровне пользователя: умение читать манифесты, kubectl, отладка пода, понимание ресурсных лимитов;
- Опыт работы с любым CI/CD-инструментом (GitLab CI, GitHub Actions, Jenkins или аналоги);
Желательно
- Опыт использования observability-инструментов
(Prometheus, Grafana, OpenTelemetry, ELK/Loki, Jaeger или аналоги) для диагностики;
Желательно:
- Опыт работы с ClickHouse, Redis, Elasticsearch / OpenSearch;
- Опыт работы с S3-совместимыми хранилищами
(Minio, Ceph);
- Опыт настройки алертов и дашбордов в Prometheus/ Grafana;
- Опыт участия в постмортемах и работе с
SLI/SLO;
- Опыт диагностики проблем производительности
на уровне приложения или БД;
- Понимание подходов к безопасному выкату
изменений: feature flags, canary, миграции БД;
- Опыт применения тактических паттернов
DDD (репозитории, доменные сервисы, события);
- Опыт работы в кодовой базе, построенной
по принципам hexagonal / clean architecture.