Описание вакансии
Ключевые обязанности
- Проектирование и разработка бэкенд-систем на Rust с учетом производительности, надежности и масштабируемости
- Создание и реализация основных программных компонентов с акцентом на поддерживаемость и расширяемость
- Написание, тестирование и отладка сложного кода для предоставления готовых к эксплуатации решений
- Сотрудничество с менеджерами продуктов и дизайнерами для понимания требований и их перевода в технические спецификации
- Оптимизация производительности системы через профилирование кода, бенчмаркинг и улучшение архитектуры
- Обеспечение качества кода с помощью автоматизированных тестовых фреймворков и практик непрерывной интеграции
- Участие в документировании и поддержке технических спецификаций для open-source проекта
- Работа с DevOps-командами для оптимизации процессов развертывания и мониторинга производительности в продакшн-средах
- Участие в код-ревью для поддержания высоких стандартов качества кода и лучших практик
- Отслеживание новых технологий и трендов в бэкенд-разработке и экосистеме Rust
Требования к кандидату
- Подтвержденный опыт работы старшим инженером-программистом не менее 5 лет в бэкенд-разработке
- Экспертные знания языка Rust, включая модель владения, конкурентность и управление памятью
- Доказанная способность проектировать и реализовывать масштабируемые высокопроизводительные системы с глубоким пониманием архитектуры
- Хорошее знание жизненного цикла разработки ПО, включая анализ требований, тестирование, отладку и развертывание
- Опыт работы с облачными платформами (AWS, GCP, Azure) и технологиями контейнеризации (Docker, Kubernetes)
- Владение системами контроля версий (Git) и CI/CD-пайплайнами (GitHub Actions, Jenkins, GitLab CI)
- Отличные навыки решения проблем с подтвержденным опытом поставки надежных промышленных решений
- Способность работать как самостоятельно, так и в команде в условиях динамичной разработки
- Хорошие коммуникативные навыки для эффективного взаимодействия с кросс-функциональными командами и стейкхолдерами
- Опыт участия в open-source проектах с акцентом на поддержку и улучшение качества кода
- Знание принципов проектирования RESTful API, микросервисной архитектуры и распределенных систем
- Владение SQL и NoSQL базами данных, опыт оптимизации запросов и настройки производительности
- Понимание лучших практик безопасности для бэкенд-систем, включая аутентификацию, авторизацию и защиту данных
- Способность обучать младших инженеров и делиться знаниями внутри команды разработки
Желательные навыки
- Опыт работы с WebAssembly и его интеграцией в бэкенд-системы
- Знание концепций функционального программирования и их применения в Rust
- Опыт работы с инструментами распределенного трейсинга и мониторинга (Prometheus, Grafana, Jaeger)
- Опыт системного программирования и низкоуровневой оптимизации
- Знание message queues (RabbitMQ, Kafka) и асинхронных паттернов программирования
- Владение фреймворками автоматизированного тестирования (JUnit, proptest для Rust и др.)
- Опыт работы с оркестрацией контейнеров и service mesh технологиями
- Знание современных паттернов проектирования ПО (MVC, CQRS, Event Sourcing)
- Умение работать по agile-методологиям, участвовать в планировании спринтов, ретроспективах и стендапах
- Опыт работы с DevOps-практиками и инфраструктурой как код (Terraform, Ansible)
