О компании
Aegis IT — бутик-компания в сфере IT-аутстаффинга, работающая со специалистами с уровня senior и lead. Мы работаем с заказчиками, которые ценят результат, автономность и зрелый инженерный подход.
Со специалистами мы выстраиваем партнёрскую модель сотрудничества: подберем проекты под твой уровень экспертизы, нагрузки и профессиональные интересы, обеспечим прозрачные условия и будем сопровождать на всех этапах работы — от выхода на проект до его завершения или перехода на следующий.
Сейчас у нас в работе есть несколько проектов на позицию Senior Go/Golang Developer.
Чем предстоит заниматься
Все проекты разноплановые, но мы выделили усредненные задачи:
•Разработка высоконагруженных backend-сервисов и внутренних API на Go.
•Проектирование и развитие микросервисной и распределённой архитектуры: идемпотентность, консистентность, retries, deadlines, отказоустойчивость.
•Написание конкурентного кода на goroutines, channels и примитивах синхронизации.
•Проектирование REST/gRPC API и согласование контрактов с другими командами.
•Асинхронное взаимодействие сервисов через брокеры (Kafka, NATS, RabbitMQ).
•Работа с БД: проектирование схем, индексы, оптимизация запросов, транзакции; Redis для кэша и хранения.
•Профилирование и оптимизация: CPU, память, аллокации, GC, throughput и latency.
•Тестирование: unit- и integration-тесты.
•Docker и Kubernetes: деплой, ресурсы, health checks.
•Участие в построении CI/CD.
•Мониторинг, логирование, трейсинг, алерты и дашборды.
•Code review, участие в архитектурных решениях и техдизайне.
•Управление техдолгом и рефакторинг.
•Разбор production-инцидентов, повышение надёжности.
•Документирование технических решений.
Основные требования
•Коммерческая разработка от 5 лет, из них опыт production-разработки на Go от 3-4 лет.
•Глубокое знание Go: goroutines, channels, примитивы синхронизации, паттерны конкурентности, memory model, GC, runtime.
•Опыт написания конкурентного кода без гонок данных.
•Умение профилировать и оптимизировать приложения с помощью pprof (CPU, память, аллокации).
•Опыт работы с generics.
•Понимание сетевого программирования.
•Опыт разработки высоконагруженных и распределённых систем.
•Опыт проектирования микросервисной архитектуры.
•Понимание event-driven архитектуры и асинхронного взаимодействия между сервисами.
•Сильные навыки System Design.
•Понимание принципов отказоустойчивости: retries, deadlines, идемпотентность, консистентность данных.
•Опыт проектирования и разработки HTTP / REST / gRPC API.
•Уверенное знание SQL и PostgreSQL или MySQL: сложные запросы, CTE, оконные функции, индексы, транзакции, оптимизация.
•Опыт работы с NoSQL-хранилищами.
•Практический опыт работы с Redis.
•Опыт работы с одним или несколькими брокерами сообщений: Kafka, NATS/JetStream, RabbitMQ.
•Опыт работы с Docker и Kubernetes: деплой, управление ресурсами, health checks, readiness/liveness probes.
•Опыт работы с Git и CI/CD (GitLab CI, GitHub Actions, TeamCity или аналоги).
•Хорошее понимание Linux, сетей и TCP/IP.
•Опыт написания unit- и integration-тестов.
•Опыт работы с мониторингом (Prometheus, Grafana), логированием и трейсингом.
•Опыт проведения code review и участия в принятии архитектурных решений.
•Умение документировать технические решения.
Будет плюсом
•Опыт построения observability: OpenTelemetry, Jaeger, ELK.
•Опыт работы с CI/CD и GitOps: ArgoCD и аналоги.
•Опыт работы с распределёнными и NoSQL-базами данных: ClickHouse, MongoDB, YDB, CockroachDB.
•Опыт работы с IAM, OAuth2/OIDC, mTLS и безопасным межсервисным взаимодействием.
•Знание Python для скриптов, автоматизации и работы с legacy-кодом.
Условия
•Поток действительно интересных проектов, релевантных твоему опыту и с учетом текущей загрузки.
•Формат работы 5/2, полная или частичная занятость.
•Оформление в удобном для тебя формате: ИП или самозанятость.
•Полная удаленка.
•Возможность менять проекты внутри компании — с учётом твоей экспертизы, интереса и текущей загрузки.
•Прозрачность условий и коммуникации, поддержка на всех этапах до выхода на проект и во время работы.