Миго-групп

Senior Rust Backend разработчик

Не указана
  • Москва
  • Полная занятость
  • Удаленная работа
  • От 3 до 6 лет
  • Rust
  • ownership
  • borrowing
  • lifetime
  • trait-объекты
  • async/await
  • Backend-архитектура
  • Работа с сетью и API
  • PostgreSQL
  • NoSQL
  • Понимание ACID
  • Docker, K8S, Helm
  • Linux
  • Написание unit

Ищем на проект Senior Rust Backend разработчика. Готовы рассмотреть людей с опытом работы на других языках, но с желанием развития и базовыми навыками Rust. Ищем именно бекенд разработчика. Будет преимуществом знание нашей доменной области - сервера, системное администрирование и тд.

Требования:
  • Глубокое знание Rust:

Владение основными концепциями: владение (ownership), заимствование (borrowing), lifetime, trait-объекты, async/await;

Понимание системы типов, макросов, unsafe-кода;

Опыт работы с популярными крейтами: tokio, axum / actix-web / warp, serde, и др.;

  • Backend-архитектура:

Проектирование масштабируемых, отказоустойчивых и производительных систем;

Знание паттернов проектирования (например, CQRS, event sourcing, pipeline);

Знание и опыт работы с различными архитектурами решения (например, гексагональная архитектура);

  • Работа с сетью и API:

Построение RESTful и/или gRPC-API;

Понимание HTTP/2, WebSockets, TLS;

  • Базы данных:

Опыт работы с реляционными (например PostgreSQL) и NoSQL (Например, Mongo) СУБД;

Понимание ACID, транзакций, индексов, миграций;

  • Асинхронное программирование:

Уверенное владение async/await и runtime (tokio или async-std);

Умение отлаживать и оптимизировать async-код (например, избегать блокировок в async-контексте);

  • Инструменты:

Контейнеризация (Docker, K8S, Helm);

Знание Linux на базовом уровне;

  • Тестирование:

Написание unit и интеграционных тестов;

Использование tokio-test и т.п.

Условия:
  • В приоритете сотрудничество с ИП или самозанятым, но, возможно, и оформление в штат.
  • Конкурентоспособная, полностью официальная «белая» заработная плата (обсуждается по результатам собеседования);
  • Интересные, разнообразные задачи с высоким уровнем ответственности;
  • Удаленный формат работы.