Описание
Описания нет
Задачи
•Адаптировать процесс разработки и предлагать и внедрять улучшения в правилах проверки кода, тестировании, CI/CD, выпуске версий, документировании и контроле качества
•Работать самостоятельно и взаимодействовать с инженерами других специализаций
•Оценивать сроки задач и сообщать о существенном изменении оценки
•Проектировать и обосновывать архитектуру продуктов
•Формализовывать и согласовывать требования к задачам и план их реализации
•Разрабатывать сопровождаемый код для промышленной эксплуатации и согласовывать стиль кода
•Проводить и проходить проверку кода
•Писать документацию по проекту и описания коммитов
•Писать автоматизированные тесты и выполнять модульное и интеграционное тестирование
•Находить узкие места в работе процессора, памяти, ввода-вывода и сети
•Проводить профилирование и нагрузочное тестирование
•Оптимизировать конкурентный код
•Проектировать эффективные структуры данных и алгоритмы
•Контролировать выделение и потребление памяти
•Работать со сборщиком мусора и учитывать его влияние на задержки
•Интегрировать SDK на C и Rust с Go
•При необходимости применять подходы lock-free и wait-free и атомарные операции
•Читать код на Python, C и Rust
•Использовать линтеры и другие инструменты контроля качества кода
•Работать с SQL-базами данных и транзакциями
•Работать с внешними брокерами очередей и кэшами
•Собирать Docker-контейнеры для улучшения процесса разработки
•Писать скрипты Make и Bash
•Использовать инструменты искусственного интеллекта в разработке, самостоятельно проверять сгенерированный код, тесты и технические решения и отвечать за результат
•Читать документацию на английском языке
Требования
•Спокойно относиться к конструктивной критике и уметь давать её коллегам
•Хорошо понимать устройство Linux, необходимое для разработки и оптимизации высоконагруженных сервисов: процессы и потоки, системные вызовы, память, ввод-вывод, сеть и файловые дескрипторы
•Уметь читать чужой код и документацию на C и Rust; глубокое знание этих языков не требуется
•Учитывать требования проекта: закрытость кода, переход части библиотек SDK с C на Rust, ограничения по оперативной памяти, производительность около 1000 запросов в секунду и мониторинг сервиса при развёртывании в инфраструктуре компании и заказчика
•Не использовать Rust для разработки проекта: в команде нет компетенций в этом языке
Будет плюсом: чтение кода на PHP
Условия
•График 5/2