В команду тестирования 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).
-
Современный офис.
-
Гибкий график.
-
Ежегодный пересмотр компенсации с учётом успехов в работе.
-
Уважаем спорт: на этаже турник и настольный теннис, частичная компенсация спортзала.
-
Поддерживаем здоровье: массаж в офисе, ДМС со стоматологией и со скидками для родственников.
Вопросы можно задать здесь, в личке или Телеграме.