Senior Go/Golang Developer
Описание
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, полная или частичная занятость Оформление в удобном для тебя формате: ИП или самозанятость Полная удаленка Возможность менять проекты внутри компании — с учётом твоей экспертизы, интереса и текущей загрузки. Прозрачность условий и коммуникации, поддержка на всех этапах до выхода на проект и во время работы.