Роли · Backend Developer (Elixir) · Junior

Что должен уметь Junior }

26 ключевых навыков, всего 66. Ожидания по каждому навыку и что меняется на следующем уровне.

На этой странице — что ожидается от Junior }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.

26ключевых навыков
40дополнительных навыков
4областей
0%на уровне Продвинутый или Эксперт
Оценить себя как Junior Полная матрица роли

Ключевые навыки для Junior

Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.

Основы программирования · 9

Алгоритмы и сложность Осведомлённость

Понимает основы Алгоритмы и сложность на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Понимает основы Асинхронное программирование на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Понимает базовые принципы иммутабельности в Elixir — все структуры данных иммутабельны по умолчанию. Следует паттернам команды для работы с иммутабельными maps, lists и structs без попыток мутации. Осознаёт, как pattern matching и композиция функций заменяют традиционное манипулирование мутабельным состоянием в кодовых базах Elixir.

Понимает основы Качество кода и рефакторинг на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Понимает основы Многопоточное программирование на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Монады и функторы Осведомлённость

Понимает основы Монады и функторы на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Понимает основы Основы функционального программирования на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Паттерны проектирования Осведомлённость

Понимает основы Паттерны проектирования на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Структуры данных Осведомлённость

Понимает основы Структуры данных на базовом уровне. Применяет простые концепции в рабочих задачах с использованием Elixir. Следует рекомендациям senior-разработчиков при решении задач.

Backend Development · 6

Стратегии кэширования Осведомлённость

Использует Стратегии кэширования на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

Apache Kafka Осведомлённость

Использует Apache Kafka на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

Elixir Phoenix Осведомлённость

Использует Elixir Phoenix на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

NATS / NATS JetStream Осведомлённость

Использует NATS / NATS JetStream на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

RabbitMQ Осведомлённость

Использует RabbitMQ на базовом уровне. Выполняет простые задачи по готовым шаблонам. Понимает базовые концепции и следует принятым в команде практикам.

Redis Осведомлённость

Использует Redis на базовом уровне в Elixir-приложениях — подключение через Redix, выполнение простых команд GET/SET для кэширования сессий и ответов. Понимает базовые типы данных Redis и следует практикам команды по структуре ключей кэша и управлению TTL в Phoenix-приложениях.

Базы данных · 6

Индексирование БД Осведомлённость

Создаёт базовые индексы в Ecto-миграциях для PostgreSQL: одноколоночные, уникальные и составные. Понимает влияние индексов на скорость SELECT-запросов в Elixir-приложениях. Использует create index и create unique_index в миграциях mix ecto.gen.migration.

Миграции БД Осведомлённость

Создаёт базовые Ecto-миграции через mix ecto.gen.migration в Elixir-проектах. Добавляет таблицы, колонки и индексы с правильными типами данных. Понимает порядок выполнения миграций и использует mix ecto.migrate и mix ecto.rollback для управления схемой.

Оптимизация запросов Осведомлённость

Пишет эффективные Ecto-запросы для PostgreSQL в Elixir-приложениях. Избегает проблемы N+1 через Ecto.Query.preload, использует select для выборки нужных полей. Понимает разницу между preload, join и subquery в контексте производительности.

Создаёт базовые Ecto-схемы с типами полей и валидациями через changeset в Elixir-проектах. Определяет ассоциации has_many, belongs_to и many_to_many. Использует embedded_schema для вложенных структур и cast_assoc для валидации связанных данных.

Использует базовые транзакции в Elixir через Ecto.Repo.transaction/1 для атомарных операций. Понимает концепции ACID в контексте PostgreSQL и Ecto. Обрабатывает ошибки транзакций через pattern matching на {:ok, result} и {:error, reason}.

PostgreSQL Осведомлённость

Выполняет базовые SQL-запросы к PostgreSQL через Ecto в Elixir-проектах. Создаёт простые схемы с полями, типами и ассоциациями (has_many, belongs_to). Использует Ecto.Query для выборок, фильтрации и сортировки данных в Phoenix-приложениях.

API и интеграции · 5

Документирование API Осведомлённость

Документирует Elixir-модули и функции через @moduledoc и @doc атрибуты. Генерирует документацию через ExDoc с mix docs. Описывает API-эндпоинты Phoenix с примерами запросов и ответов, поддерживает typespecs для автодокументирования типов в ExDoc.

Проектирование WebSocket API Осведомлённость

Реализует базовые WebSocket-соединения в Phoenix через Channels. Создаёт каналы с обработкой join, handle_in и handle_out. Подключает JavaScript-клиент через phoenix.js, отправляет и получает сообщения с базовой обработкой событий в реальном времени.

Понимает необходимость версионирования API в Phoenix-приложениях. Реализует базовое версионирование через URL-префиксы (/api/v1, /api/v2) с помощью scope в Phoenix Router. Поддерживает обратную совместимость при добавлении новых полей в JSON-ответы.

GraphQL Design Осведомлённость

Создаёт базовые GraphQL-схемы в Elixir с использованием Absinthe. Определяет типы, запросы и мутации через DSL Absinthe. Подключает резолверы к Ecto-контекстам Phoenix, возвращает данные с базовой обработкой ошибок через {:ok, data} и {:error, message}.

REST API Design Осведомлённость

Создаёт базовые REST-эндпоинты в Phoenix Framework с использованием контроллеров и роутера. Определяет ресурсные маршруты через resources/4, реализует CRUD-операции с Ecto-схемами. Возвращает JSON-ответы через Phoenix.Controller.json/2 с правильными HTTP-статусами.

Дополнительные навыки

Команда их не оценивает, но они входят в самооценку и план развития.

Интеграционное тестированиеОсновы сетейОсновы System DesignПаттерны Message BrokersПрактики безопасного кодаПринципы ООП и SOLIDСтруктурированное логированиеТипобезопасность и системы типовУправление памятьюШардирование БДAWSChatGPT / ClaudeCode ReviewConnection PoolingCPU ProfilingCQRSCursor IDEDockerE2E тестированиеEvent-Driven ArchitectureGit AdvancedGitHub Actions / GitLab CIGitHub CopilotgRPC и Protocol BuffersgRPC и Protocol BuffersHighload архитектураJWT / OAuth2 / OIDCKubernetes CoreLatency OptimizationOpenTelemetryOWASP и безопасность приложенийPrometheus и GrafanaPrompt Engineering для кодаProperty-Based TestingPython Web FrameworksRate Limiting и ThrottlingSLI / SLO / SLATDD и BDDTerraformUnit-тестирование

Что меняется на Middle

66 навыков получают более высокое ожидание или становятся ключевыми при переходе с Junior на Middle. Сначала самые большие скачки.

Страница Middle →
Прогоните это со всей командой
Самооценка плюс оценка руководителя и коллег по одной матрице, зоны роста и готовность к следующему уровню для каждого инженера. Team Pro бесплатно 14 дней; личные инструменты бесплатны всегда.
Попробовать с командой (14 дней бесплатно) Отправить тимлиду

} в открытой матрице компетенций: 66 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.