Senior Go-разработчик
Коротко
Develops and maintains high-load production systems in Go; designs architecture, APIs, and handles performance and concurrency issues. · Needs: 6+ years of commercial Go development; Go as primary language; strong understanding of concurrency, multithreading, and profiling; experience with high-load
Описание от работодателя
О проектах
Ищем Senior Go-разработчиков сразу на два высоконагруженных проекта. Оба направления предполагают разработку production-систем на Go, работу с производительностью, конкурентностью и архитектурой, но отличаются техническим фокусом.
Первое направление — высоконагруженные распределённые backend-системы : микросервисная архитектура, REST/gRPC, брокеры сообщений, базы данных, мониторинг систем и отказоустойчивость.
Второе направление — высокопроизводительное системное и сетевое ПО : сетевые протоколы, многопоточность, асинхронность и оптимизация производительности.
Кандидату не обязательно соответствовать требованиям обоих направлений — в зависимости от опыта и интересов предложим наиболее подходящий проект.
Чем предстоит заниматься
Разрабатывать и поддерживать production-системы и сервисы на Go;
участвовать в проектировании архитектуры и технических решений;
работать с высоконагруженными системами;
решать задачи производительности, конкурентности и многопоточности;
проектировать API и интерфейсы взаимодействия компонентов;
писать понятный, тестируемый и поддерживаемый код;
проводить code review;
участвовать в полном жизненном цикле разработки — от проектирования до релиза и поддержки;
диагностировать и устранять проблемы в production;
взаимодействовать с архитекторами и разработчиками и аргументировать технические решения.
Мы ожидаем
Коммерческий опыт разработки на Go от 6 лет;
Go — основной язык разработки в последние годы;
уверенное понимание concurrency, многопоточности и профилирования;
опыт разработки высоконагруженных систем;
опыт работы с базами данных;
опыт работы с Docker;
понимание процессов CI/CD и релизов;
опыт проектирования API;
умение диагностировать и оптимизировать проблемы производительности;
хорошие навыки code review;
самостоятельность, ответственность за результат и умение работать в команде.
Специфично для проекта:
Для backend-направления особенно важны PostgreSQL, Redis/NoSQL, Kafka/RabbitMQ/NATS, REST/gRPC, понимание принципов распределённых систем, Kubernetes. Будет плюсом: глубокое знание Kafka, опыт с распределёнными БД, event-driven архитектурой, zero-downtime deploy, SLI/SLO и Linux.
Для системного и сетевого направления особенно важен практический опыт работы с сетевыми протоколами либо опыт разработки высокопроизводительного системного или server-side ПО. Также важны понимание устройства высоконагруженных систем, concurrency, асинхронной обработки и оптимизации производительности. Отдельно ожидается уверенная работа с базами данных, Docker и релизами. Будет плюсом: опыт разработки сетевых сервисов, прокси, балансировщиков или другого высокопроизводительного server-side ПО.
Важно для нас
Умение писать понятный, поддерживаемый код
Навыки проведения качественного code review
Проактивность и ответственность за результат
Умение аргументировать технические решения и работать в команде
Условия:
Очень конкурентоспособный оклад
Участие в разработке масштабируемого продукта
Современный технологический стек
Сильная инженерная команда
Возможен быстрый выход после завершения этапов отбора
Работа с высоконагруженными системами
Возможность продолжить сотрудничество на других проектах после завершения текущего