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

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

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

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

50ключевых навыков
16дополнительных навыков
12областей
100%на уровне Продвинутый или Эксперт
Оценить себя как Senior Полная матрица роли

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

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

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

Применяет алгоритмическую экспертизу в Elixir-разработке: flow-based алгоритмы обработки с backpressure GenStage, распределённые алгоритмы консенсуса в кластерных OTP-приложениях, эффективная рекурсия с tail-call оптимизацией. Проектирует алгоритмы балансировки деревьев супервизоров процессов и распределения нагрузки.

Проектирует async-архитектуры в Elixir/OTP: пайплайны с backpressure на GenStage, распределённая координация задач между нодами, дизайн деревьев супервизоров для отказоустойчивых async-workflow. Менторит команду по паттернам конкурентности OTP.

Проектирует архитектуры приложений Elixir, максимально используя преимущества иммутабельности для конкурентной безопасности и отказоустойчивости. Внедряет продвинутые паттерны — кэширование на ETS с иммутабельными снапшотами, event sourcing с иммутабельными логами событий и CQRS-архитектуры с иммутабельными структурами команд и событий. Оптимизирует пайплайны трансформации данных, понимая structural sharing и семантику копирования бинарных данных в BEAM VM.

Проектирует стандарты качества кода для Elixir/OTP-проектов: конфигурация Credo, спецификации dialyzer, паттерны архитектуры процессов. Рефакторит иерархии GenServer для отказоустойчивости и ясности. Устанавливает практики ревью для паттернов конкурентности, деревьев супервизоров и горячего обновления кода.

Обладает глубокой экспертизой в конкурентности Elixir/OTP: проектирует отказоустойчивые распределённые системы с деревьями supervision, внедряет backpressure и контроль потока в GenStage-пайплайнах, оптимизирует планирование процессов для высокопроизводительных систем. Менторит команду по продвинутым паттернам OTP для продакшен Elixir-приложений.

Монады и функторы Продвинутый

Проектирует композируемые middleware-пайплайны с использованием монадических паттернов в Elixir (цепочки Plug, композиция транзакций Ecto.Multi). Архитектурит стратегии обработки ошибок, сочетая with-выражения, тегированные кортежи и деревья супервизии. Менторит разработчиков в алгебраическом мышлении и понимании, когда отказаться от монадических абстракций в пользу OTP-паттернов.

Проектирует системы на Elixir с глубоким знанием ФП: supervision trees с чистой бизнес-логикой, отделённой от побочных эффектов, пайплайны данных через Stream и Flow с учётом backpressure. Менторит команду по монадической обработке ошибок через with-выражения и использованию behaviours.

Обладает глубокой экспертизой в паттернах проектирования для Elixir/OTP: проектирует отказоустойчивые архитектуры со стратегиями supervision, внедряет доменно-ориентированные паттерны, адаптированные для функционального программирования, оптимизирует паттерны GenServer и процессов для масштабируемости. Менторит команду по паттернам проектирования OTP для распределённых Elixir-систем.

Структуры данных Продвинутый

Выбирает оптимальные структуры данных для Elixir/OTP-приложений: ETS-таблицы для конкурентных нагрузок с интенсивным чтением, изоляция состояния на основе процессов, persistent term storage для конфигурации. Оптимизирует поток данных через GenStage-пайплайны с буферизацией, учитывающей backpressure. Проектирует эффективные структуры передачи сообщений между распределёнными узлами Erlang.

Backend Development · 7

Паттерны Message Brokers Продвинутый

Проектирует messaging-архитектуру для Elixir-систем: определяет границы между BEAM distribution и external brokers, реализует event sourcing через Commanded framework, настраивает Broadway с custom acknowledger для exactly-once semantics. Оптимизирует concurrent processing через process pooling.

Реализует многоуровневое кэширование в Elixir-приложениях: ETS для горячих данных в памяти, Cachex с TTL-политиками, Redis для распределённого кэша. Применяет :persistent_term для редко меняющихся конфигураций, настраивает инвалидацию через PubSub Phoenix.

Apache Kafka Продвинутый

Интегрирует Apache Kafka в Elixir-приложения через Broadway с KafkaBroadway-адаптером. Настраивает consumer groups, управляет offset-коммитами и партициями. Реализует обработку сообщений с back-pressure и автоматическим масштабированием процессов через Broadway.

Elixir Phoenix Продвинутый

Проектирует решения на основе Elixir Phoenix для production-систем. Оптимизирует производительность и масштабируемость. Выбирает между альтернативными подходами. Менторит команду.

NATS / NATS JetStream Продвинутый

Проектирует NATS JetStream-систему обмена сообщениями для Elixir-микросервисов. Реализует паттерны exactly-once доставки с Elixir-консьюмерами. Оптимизирует иерархии субъектов для мультитенантных OTP-приложений.

RabbitMQ Продвинутый

Проектирует архитектуру messaging на RabbitMQ для Elixir/OTP-систем. Реализует кастомные Broadway-продюсеры с backpressure, shovel/federation для связи кластеров. Оптимизирует конкурентность consumer'ов, используя возможности планировщика BEAM.

Redis Продвинутый

Интегрирует Redis в Elixir-приложения через Redix или библиотеку Cachex с Redis-бэкендом. Реализует кэширование сессий Phoenix, результатов Ecto-запросов и rate limiting. Настраивает пул соединений через NimblePool и управляет TTL-стратегиями.

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

Индексирование БД Продвинутый

Проектирует стратегию индексирования для PostgreSQL в Elixir-проектах. Создаёт частичные, GIN, GiST и BRIN-индексы через Ecto-миграции с execute/1. Анализирует query plans через EXPLAIN ANALYZE, оптимизирует индексы для Ecto-запросов с preload и join.

Миграции БД Продвинутый

Реализует сложные Ecto-миграции для PostgreSQL: безопасное добавление колонок с дефолтами, миграции данных через execute/1, создание индексов concurrently. Применяет Ecto.Migration.flush/0 для многоэтапных миграций и обеспечивает обратную совместимость схемы.

Оптимизирует сложные Ecto-запросы к PostgreSQL: CTE через fragments, оконные функции, материализованные представления. Анализирует EXPLAIN ANALYZE для выявления seq scan и nested loops. Применяет Ecto.Multi и stream для обработки больших датасетов без OOM.

Проектирует сложные модели данных с Ecto для PostgreSQL: полиморфные ассоциации, STI через поле type, JSONB-колонки с Ecto.Type. Реализует кастомные Ecto.Type для domain-specific типов, применяет Ecto.Changeset для сложной бизнес-валидации с контекстами.

Реализует сложные транзакционные сценарии через Ecto.Multi для цепочек операций с rollback. Настраивает уровни изоляции PostgreSQL для конкурентных Elixir-процессов. Применяет advisory locks через Ecto для координации между GenServer-процессами и нодами кластера.

Шардирование БД Продвинутый

Проектирует шардирование для Elixir-систем: реализует custom Ecto adapter для transparent sharding, проектирует resharding с GenServer-based coordinator, использует BEAM distribution для в виде «шардов» для stateful данных в ETS/Mnesia. Оптимизирует connection management через database proxy (pgBouncer).

Connection Pooling Продвинутый

Проектирует connection management для Elixir-систем: настраивает multi-repo architecture с отдельными pools для read replicas, реализует connection warming через start_link init, проектирует PgBouncer integration для connection multiplexing. Решает проблемы prepared statements с PgBouncer.

PostgreSQL Продвинутый

Оптимизирует работу с PostgreSQL в Elixir через продвинутые возможности Ecto: multi-tenant архитектуру с prefix, оконные функции через fragments, CTE и рекурсивные запросы. Настраивает Ecto.Repo с пулом соединений через DBConnection для высоких нагрузок.

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

Документирование API Продвинутый

Проектирует систему документирования API для Elixir-проектов с автогенерацией из typespecs и open_api_spex. Внедряет contract testing через спецификации, настраивает CI-валидацию актуальности документации. Создаёт интерактивные примеры с Livebook для сложных интеграций.

Проектирует масштабируемые WebSocket-системы на Phoenix с LiveView для серверного рендеринга в реальном времени. Оптимизирует Phoenix.PubSub для миллионов подписок, настраивает кластеризацию через pg2/Phoenix.PubSub.PG2. Реализует graceful degradation с long polling.

Проектирует стратегию версионирования API для Phoenix с минимизацией дублирования кода. Реализует content negotiation через Accept headers и кастомные MIME-типы. Внедряет deprecation policy с предупреждениями в заголовках ответов и мониторинг использования версий.

GraphQL Design Продвинутый

Проектирует масштабируемые GraphQL API на Absinthe с подписками через Phoenix PubSub и WebSocket. Внедряет persisted queries, query complexity analysis и depth limiting для защиты от DoS. Реализует федерацию схем и интеграцию с Phoenix LiveView через push-обновления.

gRPC и Protocol Buffers Продвинутый

Проектирует gRPC-интеграцию для Elixir-систем: использует BEAM distribution для внутренней коммуникации и gRPC для cross-language взаимодействия, настраивает connection management с учётом BEAM scheduler, реализует deadline propagation через process metadata. Оптимизирует для высокой concurrency.

Rate Limiting и Throttling Продвинутый

Проектирует rate limiting для Elixir-систем: реализует distributed rate limiting через BEAM distribution с :global или Horde, настраивает Redis-based limiting для multi-node clusters, проектирует backpressure через GenStage demand. Оптимизирует ETS access patterns для concurrent rate checking.

REST API Design Продвинутый

Проектирует масштабируемые REST API на Phoenix с HATEOAS и content negotiation. Внедряет rate limiting через Hammer, кэширование через ETag и ConCache. Реализует API-шлюз с Plug.Router, настраивает документацию через OpenAPI с open_api_spex и Swagger UI.

Облако и инфраструктура · 3

AWS Продвинутый

Проектирует AWS-инфраструктуру для Elixir-платформы. Настраивает ECS/EKS с кластеризацией BEAM через libcluster и AWS Cloud Map. Реализует event-driven архитектуру с SQS, SNS и Broadway. Оптимизирует стоимость через Spot Instances с graceful draining процессов.

Docker Продвинутый

Проектирует production-ready Docker-инфраструктуру для Elixir-приложений. Настраивает multi-stage builds с оптимальным кэшированием слоёв, конфигурирует Elixir releases с --no-halt. Реализует graceful shutdown через SIGTERM в supervision tree, настраивает сетевую изоляцию.

Kubernetes Core Продвинутый

Проектирует Kubernetes-инфраструктуру для распределённых Elixir-систем. Настраивает StatefulSets для кластеризации BEAM с libcluster, Headless Services для node discovery. Реализует canary deployments, настраивает PodDisruptionBudget для сохранения кворума Elixir-кластера.

DevOps и CI/CD · 1

GitHub Actions / GitLab CI Продвинутый

Проектирует продвинутые CI/CD-пайплайны для Elixir на GitHub Actions. Реализует инкрементальную компиляцию с кэшированием, параллельное выполнение тестов через mix test --partitions. Настраивает автоматическую сборку Docker-образов с Elixir releases и деплой в Kubernetes.

Тестирование и QA · 3

Проектирует стратегию интеграционного тестирования для Elixir-платформы. Реализует end-to-end тесты через Wallaby с headless Chrome для LiveView. Настраивает тестирование распределённых систем с несколькими BEAM-нодами, мокирует внешние API через Bypass и Tesla.Mock.

Property-Based Testing Продвинутый

Проектирует комплексное property-based тестирование для Elixir-проектов через StreamData. Создаёт кастомные генераторы для сложных доменных объектов, реализует stateful-тесты для GenServer. Применяет shrinking для минимизации failing-кейсов, тестирует Ecto-запросы и протоколы.

Unit-тестирование Продвинутый

Проектирует тестовую архитектуру для Elixir-приложений: изоляция через sandbox-режим Ecto, concurrent тесты с async: true. Реализует контрактное тестирование через Mox с verify_on_exit!, property-based через StreamData. Настраивает ExCoveralls для отчётов покрытия в CI.

Безопасность · 3

Проектирует безопасную архитектуру Elixir-приложений. Внедряет принцип least privilege через Guardian и RBAC-авторизацию. Реализует audit logging через :telemetry, настраивает шифрование данных через Cloak.Ecto. Проводит security-ревью кода с фокусом на OTP-специфичные уязвимости.

JWT / OAuth2 / OIDC Продвинутый

Проектирует безопасную систему аутентификации для Elixir-микросервисов. Реализует centralized auth через Guardian с JWT RS256 и JWKS-ротацией ключей. Внедряет OAuth2 server через ExOAuth2Provider, настраивает SSO и token introspection для межсервисной авторизации.

Проектирует комплексную защиту от OWASP-угроз для Elixir-сервисов. Внедряет SAST через Sobelow для статического анализа Phoenix-кода, настраивает WAF-правила. Реализует защиту от SSRF, deserialization-атак через безопасный :erlang.binary_to_term с [:safe] опцией.

AI-ассистированная разработка · 1

GitHub Copilot Продвинутый

Интегрирует AI-инструменты в рабочий процесс Elixir-разработки: Copilot для генерации boilerplate, Claude для архитектурных решений. Создаёт шаблоны промптов для генерации идиоматического Elixir-кода. Критически оценивает AI-предложения на соответствие OTP best practices.

Архитектура и проектирование · 3

Основы System Design Продвинутый

Проектирует распределённые Elixir-системы с микросервисной архитектурой на BEAM. Определяет границы сервисов через DDD, реализует inter-service communication через distributed Erlang или gRPC с Protobuf. Проектирует resilient systems с circuit breaker через Fuse и bulkhead паттернами.

CQRS Продвинутый

Проектирует CQRS-архитектуру для Elixir-систем: настраивает multiple read models через Commanded projections, реализует event upcasting для schema evolution, оптимизирует aggregate loading через snapshot strategy. Интегрирует CQRS с Phoenix LiveView для real-time updates.

Highload архитектура Продвинутый

Проектирует высоконагруженные системы на Elixir/OTP для обработки миллионов соединений. Настраивает кластеризацию BEAM через libcluster, оптимизирует планировщики и GC. Реализует event sourcing через Commanded, CQRS с отдельными Ecto.Repo для чтения и записи.

Observability и мониторинг · 3

Проектирует систему логирования для Elixir-платформы с JSON-структурой и distributed tracing. Внедряет OpenTelemetry через opentelemetry_api с автоматической корреляцией span_id и trace_id. Настраивает Logger backends для отправки в Datadog/Grafana Loki, реализует sampling для высоких нагрузок.

OpenTelemetry Продвинутый

Проектирует архитектуру distributed tracing для Elixir-платформы через OpenTelemetry. Реализует автоматическую инструментацию для кастомных OTP-поведений, настраивает sampling стратегии для высоконагруженных систем. Внедряет корреляцию трейсов с логами и метриками :telemetry.

Prometheus и Grafana Продвинутый

Проектирует систему мониторинга для Elixir-платформы на Prometheus и Grafana. Реализует кастомные PromEx-плагины для доменных метрик, настраивает alerting rules для SLO/SLI. Внедряет RED-метрики для микросервисов, мониторинг GenServer mailbox size и process reductions.

Контроль версий и коллаборация · 2

Code Review Продвинутый

Проводит глубокие архитектурные ревью Elixir-систем: оценивает дизайн supervision trees, корректность конкурентных паттернов, эффективность Ecto-запросов. Выявляет потенциальные проблемы: утечки процессов, bottleneck в GenServer, неоптимальные ETS-стратегии. Менторит через ревью.

Git Advanced Продвинутый

Проектирует Git-workflow для Elixir-проектов: trunk-based development с feature flags через FunWithFlags, release branches для Elixir releases. Настраивает advanced hooks: проверка typespecs через Dialyzer, валидация миграций. Автоматизирует changelog через conventional commits.

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

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

Основы сетейПринципы ООП и SOLIDТипобезопасность и системы типовУправление памятьюChatGPT / ClaudeCPU ProfilingCursor IDEE2E тестированиеEvent-Driven ArchitecturegRPC и Protocol BuffersLatency OptimizationPrompt Engineering для кодаPython Web FrameworksSLI / SLO / SLATDD и BDDTerraform

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

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

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

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