Описание должности
Эта роль предполагает разработку и поддержку высококачественного кода на Rust для новых и существующих проектов. Основное внимание уделяется созданию надежных, эффективных и безопасных программных решений, соответствующих отраслевым стандартам. Ключевые обязанности включают реализацию низкоуровневого системного кода, который кроссплатформенно компилируется и оптимизируется для работы на различных платформах, таких как серверные приложения, мобильные устройства и веб-браузеры через WebAssembly (WASM). Вы также будете тесно сотрудничать с экспертами по безопасности и криптографами для интеграции криптографических API в производственные приложения, обеспечивая безопасные цифровые подписи, аутентификацию сообщений, шифрование/дешифрование и протоколы с нулевым разглашением. Кроме того, вы будете взаимодействовать с внешними аудиторскими компаниями для оценки и повышения безопасности криптографических реализаций, устраняя потенциальные уязвимости и обеспечивая соответствие лучшим практикам.
Ключевые обязанности
- Проектирование и реализация безопасного высокопроизводительного системного кода на Rust с акцентом на минимизацию использования памяти, оптимизацию структуры кода и сокращение дерева зависимостей.
- Разработка и поддержка комплексных модульных тестов, интеграционных тестов и фреймворков для бенчмаркинга, обеспечивающих надежность и производительность кода на разных платформах.
- Написание и поддержка технической документации, включая справочники API, диаграммы архитектуры и руководства по реализации, для поддержки командной работы и будущей разработки.
- Соблюдение строгих практик контроля версий, таких как стратегии ветвления, код-ревью и соглашения о сообщениях коммитов, для обеспечения стабильности и отслеживаемости кодовой базы.
- Сотрудничество с криптографами для реализации криптографических протоколов, включая доказательства с нулевым разглашением, с обеспечением соответствия стандартам безопасности и лучшим практикам.
- Проведение аудитов безопасности и работа с внешними компаниями для оценки криптографических реализаций, выявления и устранения рисков, таких как атаки по времени или утечки памяти.
- Использование продвинутых инструментов, таких как фаззеры и тестовые векторы, для проверки корректности и безопасности криптографического кода, обеспечивая его соответствие требованиям производственного уровня.
- Рефакторинг и улучшение существующих кодовых баз с использованием возможностей Rust, таких как макросы, трейты и перечисления, для сокращения избыточности и повышения сопровождаемости.
Требования к должности
- Владение языком программирования Rust с опытом написания эффективного, безопасного и сопровождаемого кода для производственных сред.
- Глубокое понимание криптографических концепций и API, включая цифровые подписи, шифрование/дешифрование и протоколы с нулевым разглашением, с акцентом на низкоуровневые детали реализации.
- Опыт кроссплатформенной разработки, включая компиляцию и оптимизацию кода для серверных приложений, мобильных устройств и сред WebAssembly (WASM).
- Знание методологий тестирования программного обеспечения, включая модульное тестирование, интеграционное тестирование и бенчмаркинг, для обеспечения качества и производительности кода.
- Способность работать с аудиторскими компаниями по безопасности и понимать их процессы оценки криптографических реализаций, обеспечивая соответствие отраслевым стандартам.
- Опыт работы с системами контроля версий, такими как Git, включая лучшие практики ветвления, слияния и процессов код-ревью.
- Навыки решения проблем и внимание к деталям с акцентом на минимизацию рисков безопасности, таких как атаки по времени и утечки памяти в криптографическом коде.
- Отличные коммуникативные навыки для эффективного сотрудничества с кросс-функциональными командами, включая криптографов, аудиторов безопасности и менеджеров продуктов.
- Опыт работы с инструментами автоматизированного тестирования, включая фаззеры и тестовые векторы, для проверки корректности и безопасности криптографических реализаций.
- Способность писать четкую и лаконичную техническую документацию для поддержки сопровождения кода, адаптации новых сотрудников и соответствия стандартам безопасности.