Golang-разработчик

По договоренности

  • Выборгская
  • Площадь Ленина
  • Чёрная речка

Наша компания разрабатывает и эксплуатирует облачные сервисы: хостинг, CDN и платформу видеотрансляций.

Мы — аккредитованная IT-компания с более чем 10-летним опытом на рынке.

Задача первого проекта (следом будут другие) — переработать существующий высоконагруженный сервис: перенести реализацию с Python на Go, сократить потребление памяти и увеличить пропускную способность примерно с 500 до 1000 RPS. Предметную область - обсудим на собеседовании.

Описание исходного продукта:

  • сервер на python с внешними запросами по http (json, protobuf);
  • имеет микросервисную архитектуру;
  • часть функций реализованы на C с подключением к python собранной библиотеки;
  • нагрузка - около 500 rps по основным запросам.

Требования к новой версии продукта:

  • отчуждаемость и закрытость кода (поэтому cpython или pyinstaller не подходит);
  • переход части библиотек (SDK) с C на Rust;
  • появляются ограничения по оперативной памяти;
  • требуется обеспечить производительность около 1000 rps;
  • требуется реализовать механизмы мониторинга сервиса как при развертывании в нашей инфраструктуре, так и в инфраструктуре заказчика.

P.S.: Мы не хотим использовать в этом проекте Rust, поскольку у нас нет компетенций в данном языке.

Чем предстоит заниматься (и мы ожидаем, что вы это умеете):

  • адаптировать процесс разработки под продукт, используемые технологии и команду, предлагать и внедрять улучшения в процесс разработки: правила code review, тестирования, CI/CD, релизов, документирования и контроля качества;
  • спокойно относиться к конструктивной критике и уметь давать её коллегам;
  • работать самостоятельно, но в команде с инженерами другой специализации (разработчики на других языках, DevOps и SRE инженеров)
  • выполнять оценку сроков задач и уведомлять, если оценка существенно изменилась;
  • проектировать и обосновывать архитектуру продуктов;
  • формализовывать и согласовывать требования к задачам и план их реализации;
  • разрабатывать сопровождаемый код, пригодный к промышленной эксплуатации, договариваться о code style на проекте;
  • проводить и проходить code review;
  • писать документацию по проекту и описание комитов;
  • писать автоматизированные тесты и выполнять тестирование (unit, integration и т.д.);
  • находить узкие места в CPU, памяти, I/O и сетевом взаимодействии;
  • хорошо понимать устройство Linux на уровне, необходимом для разработки и оптимизации высоконагруженных сервисов: процессы и потоки, системные вызовы, память, I/O, сеть, файловые дескрипторы;
  • проводить профилирование и нагрузочное тестирование;
  • оптимизировать конкурентный код;
  • проектировать эффективные структуры данных и алгоритмы;
  • контролировать аллокации и потребление памяти;
  • работать с GC и понимать его влияние на latency;
  • интегрировать C/Rust SDK с Go; глубокое знание С / Rust не требуется, но потребуется уметь читать чужой код и документацию;
  • при необходимости использовать lock-free / wait-free подходы и атомарные операции;
  • читать код на python, C, Rust и, желательно, PHP;
  • использовать линтеры и другие инструменты контроля качества кода;
  • работать с sql базами данных с использованием транзакций;
  • работать с внешними брокерами очередей, кэшами и т.п.;
  • собирать docker контейнеры для улучшения процесса разработки;
  • писать make и bash скрипты;
  • использовать AI-инструменты в разработке для повышения продуктивности — при этом самостоятельно проверять сгенерированный код, тесты и технические решения и нести ответственность за результат (AI-assisted development);
  • читать документацию на английском языке.

Условия:

  • оформление и социальные гарантии согласно ТК РФ;
  • свободный график;
  • работа удалённо или в комфортном офисе возле метро "Петроградская".

Адрес: Россия, Санкт-Петербург
Показать на большой карте

Поделиться:

Опубликована 19 дней назад

Похожие вакансии

Вакансии быстро закрываются - скачайте мобильное приложение в RuStore и откликайтесь первыми!
Скачать бесплатно
Сейчас мы расширяемся и ищем в команду Golang-разработчик.
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании LuckyGroupLuckyGroup
  • Санкт-Петербург
10 дней назад
Наша команда активно растет, поэтому сейчас мы в поиске опытных Golang-разработчиков для работы над созданием ...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании СтратосфераСтратосфера
  • Санкт-Петербург
10 дней назад
250 000 - 600 000 ₽
Выше средней на 88%
В продуктовую команду Shvacher открыта вакансия на позицию Golang-разработчика. ... Чего мы ждем: - Опыт разработки приложений на Go (Golang) от 3-х лет; - Глубокие знания устройства и ...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании ShvacherShvacher
  • Санкт-Петербург
2 месяца назад
... возможности повлиять на то, чтобы он становился еще лучше Пользователи наших продуктов это AppSec, DevOps и разработчики ... проектирования и реализации отказоустойчивых высоконагруженных приложений; коммерческий опыт разработки на Golang ... от 3х лет; опыт анализа и оптимизации производительности Golang-сервисов; опыт работы с контейнеризацией ...
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании CodeScoringCodeScoring
  • Санкт-Петербург
11 дней назад
В нашу дружную команду мы ищем Android-разработчика!
  • Можно удаленно
  • Полный день
  • Опыт от 3 лет
Логотип компании KarunaKaruna
  • Санкт-Петербург
2 дня назад
Мы обрабатываем данные посетителей и используем куки в соответствии с политикой конфиденциальности.