Вакансия разработчика на Rust в Лаборатории Касперского

В команду тестирования KasperskyOS требуется разработчик на Rust (middle). Нам нужен программист, умеющий досконально разбираться в проблемах, предлагать аргументированные решения и защищать их, чтобы получить лучший результат.

Работа в офисе в Москве, есть корпоративная помощь с переездом.

Основные обязанности

  • Разрабатывать программы и библиотеки на Rust, Си, C++, Lua, Python под Linux и Kaspersky OS.

  • Разрабатывать фреймворк тестирования ОС на железе и под эмуляторами.

    Назначение фреймворка - абстрагировать аппаратные различия и позволить писать тестовые сценарии один раз под все платформы.

  • Разрабатывать генератор тестов для стандарта POSIX.

    Генератор разбирает стандарт в формате файлов XML и создаёт заготовки тестов и тесты для простейших описанных в стандарте ситуаций.

  • Разрабатывать инфраструктурные сервисы: связывание тестов с требованиями в TFS через REST API, отправка в TFS результатов тестов.

  • Участвовать в Code Review.

  • Писать тесты и документацию на свой код.

  • Настраивать и поддерживать Continuous Integration для своих проектов.

Требования

  • Уверенное знание Rust или C++ на среднем уровне (от 3 лет опыта). В случае C++, желание изучить Rust.

  • Глубокое понимание работы асинхронного ввода-вывода на примере boost::asio, tokio или romio.

  • Понимание футур (futures) и умение писать понятный код на них.

  • Умение делать сборку программ и библиотек на Си и C++ с помощью CMake.

  • Понимание работы через FFI (Rust - Lua) - какие ограничения это накладывает на код.

  • Опыт разработки надёжных систем.

  • Знание принципов разработки многопоточных приложений и получаемых при этом ограничений.

  • Знание принципов и паттернов проектирования программных систем, умение применять их на практике.

  • Опыт разработки на Linux / под Linux.

Будет плюсом

  • Знание основ компиляторов (синтаксический анализ, синтез программ, AST).

  • Знание Си, особенностей оптимизаций, неопределённого поведения и стандарта языка.

  • Знание Make.

  • Опыт разработки веб-сервисов.

  • Знание Python.

  • Знание внутренностей интерпретатора Lua.

  • Опыт работы с Jenkins и TFS.

С нас

  • Работа в растущем подразделении над активно развивающимся проектом.

  • Свобода в технических решениях.

  • IDE под Rust (CLion).

  • Современный офис.

  • Гибкий график.

  • Ежегодный пересмотр компенсации с учётом успехов в работе.

  • Уважаем спорт: на этаже турник и настольный теннис, частичная компенсация спортзала.

  • Поддерживаем здоровье: массаж в офисе, ДМС со стоматологией и со скидками для родственников.

Вопросы можно задать здесь, в личке или Телеграме.

Подать свою кандидатуру или порекомендовать знакомого.

2 лайка