Понимает основы Алгоритмы и сложность на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Роли · Backend Developer (Rust) · Junior
Что должен уметь Junior }
25 ключевых навыков, всего 68. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Junior
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 11
Понимает основы Асинхронное программирование на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Дженерики и параметрический полиморфизм на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Качество кода и рефакторинг на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Многопоточное программирование на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Паттерны проектирования на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Принципы ООП и SOLID на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Профилирование памяти на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Структуры данных на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Типобезопасность и системы типов на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Понимает основы Управление памятью на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Rust. Следует рекомендациям senior-разработчиков при решении задач.
Backend Development · 4
Использует Стратегии кэширования на базовом уровне в actix-web/axum. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Использует Apache Kafka на базовом уровне в actix-web/axum. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Использует Redis на базовом уровне в actix-web/axum. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Использует Rust Web Frameworks на базовом уровне в actix-web/axum. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.
Базы данных · 5
Создаёт базовые индексы PostgreSQL для Rust-приложений, понимая связь между типами запросов в SQLx/Diesel и необходимыми индексами. Использует EXPLAIN для анализа планов запросов и добавляет B-tree индексы для часто используемых WHERE-условий.
Создаёт базовые миграции для Rust-проектов через refinery или sqlx migrate, понимая принципы версионирования схемы. Пишет идемпотентные UP/DOWN миграции, добавляет таблицы и колонки с правильными типами данных и constraints.
Оптимизирует простые SQL-запросы в Rust-приложениях, анализируя EXPLAIN-вывод и избегая N+1 проблем при загрузке связанных данных. Использует batch-запросы через SQLx query_as вместо циклических вызовов и добавляет пагинацию через LIMIT/OFFSET.
Проектирует простые модели данных для Rust-приложений, создавая struct-определения с derive(sqlx::FromRow) или Diesel-схемами. Понимает маппинг между Rust-типами и PostgreSQL, использует Option<T> для nullable-полей и enum-типы через sqlx::Type.
Выполняет базовые CRUD-операции с PostgreSQL из Rust через SQLx или Diesel, используя типобезопасные запросы с compile-time проверкой. Понимает маппинг Rust-типов на SQL-типы (String->TEXT, i32->INTEGER) и работает с пулом соединений через sqlx::PgPool.
API и интеграции · 4
Документирует REST API Rust-сервисов через utoipa-атрибуты (#[utoipa::path]) на эндпоинтах Axum/Actix-web. Описывает request/response-схемы через derive(ToSchema) и генерирует Swagger UI через utoipa-swagger-ui middleware.
Понимает принципы версионирования API в Rust-сервисах: URL-based (/v1/, /v2/), header-based подходы. Реализует базовое версионирование через раздельные route-модули в Axum/Actix-web и поддерживает совместимость при добавлении новых полей через Option<T>.
Реализует базовые gRPC-сервисы на Rust через tonic, определяя .proto-файлы и используя автогенерацию Rust-кода через prost. Понимает структуру Protobuf-сообщений, unary RPC-вызовы и маппинг proto-типов на Rust-структуры.
Реализует базовые REST-эндпоинты на Actix-web или Axum, используя extractors для парсинга запросов и serde для JSON-сериализации. Понимает HTTP-методы, статус-коды и структуру маршрутизации в Rust web-фреймворках.
Облако и инфраструктура · 1
Понимает базовые сетевые концепции для бэкенд-сервисов на Rust — программирование TCP/UDP сокетов, HTTP/HTTPS через hyper/reqwest и разрешение DNS. Следует рекомендациям команды по настройке TLS в Rust-сервисах и отладке проблем подключения с сетевыми примитивами tokio.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Middle
68 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.
- Паттерны Message Brokers: Осведомлённость → Применение · становится ключевым
- Шардирование БД: Осведомлённость → Применение · становится ключевым
- Connection Pooling: Осведомлённость → Применение · становится ключевым
- CQRS: Осведомлённость → Применение · становится ключевым
- gRPC и Protocol Buffers: Осведомлённость → Применение · становится ключевым
- Rate Limiting и Throttling: Осведомлённость → Применение · становится ключевым
- Алгоритмы и сложность: Осведомлённость → Применение
- Асинхронное программирование: Осведомлённость → Применение
- Дженерики и параметрический полиморфизм: Осведомлённость → Применение
- Документирование API: Осведомлённость → Применение
} в открытой матрице компетенций: 68 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.