Назад к вакансиям

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

cdnnow!Гибридот 3 лет5/2Полная занятость
PythonSQLCI/CDDockerLinuxGoPHPBashGolangCRustCode Review

Описание

Обязанности

  • адаптировать процесс разработки под продукт, используемые технологии и команду, предлагать и внедрять улучшения в процесс разработки: правила 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)
  • читать документацию на английском языке

Требования

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

Условия

  • Полная занятость
  • График: 5/2
  • Формат работы: удалённо или гибрид или офис