Проектирует алгоритмически оптимальные решения для высоконагруженных Elixir-систем на BEAM VM. Анализирует сложность конкурентных алгоритмов с учётом планировщика процессов OTP, оценивает влияние на latency при обработке миллионов сообщений через GenServer и Task.
Роли · Backend Developer (Elixir) · Lead
Что должен уметь Lead }
48 ключевых навыков, всего 66. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Lead }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Lead
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 9
Проектирует сложные асинхронные системы на Elixir с использованием Task.Supervisor, GenStage и Flow для параллельной обработки данных. Управляет back-pressure через Broadway, настраивает пулы процессов и контролирует конкурентность через Task.async_stream.
Определяет архитектурные стандарты immutability-first для бэкенд-систем на Elixir в организации. Формирует рекомендации команды по использованию иммутабельных структур данных в дизайне распределённых систем, управлении состоянием процессов и протоколах межсервисного взаимодействия. Проводит архитектурные ревью, обеспечивая последовательное применение принципов иммутабельности для конкурентной безопасности и надёжности систем.
Внедряет комплексную систему качества кода для Elixir-проектов: Credo для линтинга, Dialyzer для статического анализа типов через typespecs, ExUnit для покрытия тестами. Настраивает CI-пайплайн с mix format, mix credo --strict и dialyzer в качестве обязательных проверок.
Проектирует конкурентные Elixir-системы на базе легковесных процессов BEAM VM и OTP-паттернов. Применяет GenServer, Agent и Task для безопасного параллелизма через message passing, настраивает supervision trees для отказоустойчивости и управляет состоянием процессов.
Определяет стандарты использования Монады и функторы на уровне команды/продукта. Проводит архитектурные review. Формирует best practices и обучающие материалы для всей команды.
Применяет продвинутые функциональные паттерны в Elixir: монадические цепочки через with, протоколы для полиморфизма, макросы для метапрограммирования. Проектирует модульные системы с чистыми функциями, pipe-операторами и pattern matching для сложной бизнес-логики.
Адаптирует паттерны проектирования для идиоматического Elixir с использованием OTP-поведений. Внедряет GenServer, Supervisor, GenStage и Broadway для построения устойчивых конвейеров обработки данных. Обучает команду применению функциональных паттернов и протоколов.
Проектирует эффективные иммутабельные структуры данных для Elixir-приложений с учётом модели памяти BEAM VM. Применяет ETS/DETS-таблицы для высокоскоростного доступа к данным, оптимизирует использование :persistent_term для глобальных конфигураций в кластере.
Backend Development · 7
Стандартизирует messaging в Elixir-экосистеме: проектирует архитектуру с Commanded для CQRS/ES, внедряет EventStore для durable event log, создает internal libraries для стандартизации Broadway pipeline. Определяет паттерны для distributed saga через process managers.
Проектирует комплексную стратегию кэширования для Elixir/Phoenix-приложений. Внедряет cache-aside через Cachex с Telemetry-метриками, настраивает distributed cache через Redis Cluster. Определяет политику TTL, LRU-вытеснения и инвалидации для каждого уровня данных.
Проектирует архитектуру событийных Elixir-систем на базе Kafka и Broadway. Определяет стратегию партиционирования, настраивает батчинг и конкурентную обработку через Broadway pipelines. Внедряет dead letter queues, мониторинг lag через :telemetry и Prometheus.
Определяет архитектурные решения по Elixir Phoenix на уровне продукта. Формирует стандарты. Проводит design review и определяет технический roadmap.
Определяет архитектурные решения по NATS / NATS JetStream на уровне продукта. Формирует стандарты. Проводит design review и определяет технический roadmap.
Определяет архитектурные решения по RabbitMQ на уровне продукта. Формирует стандарты. Проводит design review и определяет технический roadmap.
Проектирует архитектуру кэширования для Elixir-систем с использованием Redis, ETS и Cachex. Определяет многоуровневую стратегию: L1 — ETS в процессе, L2 — Redis кластер. Настраивает мониторинг hit rate через :telemetry и Prometheus, реализует cache invalidation.
Базы данных · 7
Определяет политику индексирования PostgreSQL для всех Elixir-сервисов. Внедряет автоматический мониторинг неиспользуемых индексов через pg_stat_user_indexes и :telemetry. Проектирует стратегию создания индексов concurrently через Ecto-миграции без даунтайма.
Проектирует стратегию миграций для Elixir-платформы с zero-downtime deployments. Внедряет двухфазные миграции (expand/contract), настраивает CI-проверки безопасности через Excellent Migrations. Определяет политику версионирования схемы и rollback-процедуры для всех сервисов.
Проектирует систему мониторинга и оптимизации запросов для Elixir-платформы. Внедряет pg_stat_statements через :telemetry для отслеживания медленных запросов. Определяет стандарты написания Ecto-запросов, настраивает алерты на деградацию производительности через Prometheus.
Определяет архитектуру моделей данных для Elixir-платформы. Проектирует bounded contexts через отдельные Ecto-схемы и контексты Phoenix. Внедряет event sourcing с Commanded/EventStore, определяет стандарты моделирования агрегатов и value objects через embedded_schema.
Проектирует транзакционную архитектуру для распределённых Elixir-систем. Внедряет Saga-паттерн через Ecto.Multi и GenServer для межсервисных операций. Определяет стратегию оптимистичных блокировок через Ecto.Changeset.optimistic_lock и обработки конфликтов.
Стандартизирует connection management для Elixir-платформы: создает library для стандартного Ecto pool setup с observability, определяет pool sizing strategy на основе BEAM schedulers и workload. Проектирует connection governance для multi-node BEAM cluster.
Проектирует архитектуру данных PostgreSQL для Elixir-платформы. Определяет стратегию партиционирования, репликации и шардирования. Внедряет Ecto.Multi для транзакционной целостности сложных операций, настраивает мониторинг запросов через Ecto.LogEntry и :telemetry.
API и интеграции · 6
Определяет стандарты документирования API для всех Elixir-сервисов организации. Внедряет developer portal с ExDoc, OpenAPI-спецификациями и Livebook-примерами. Проектирует автоматическую генерацию SDK из спецификаций и систему версионирования документации.
Определяет архитектуру real-time систем для Elixir-платформы на базе Phoenix Channels и LiveView. Проектирует масштабирование PubSub через Redis или distributed Erlang, определяет стандарты протоколов обмена сообщениями. Внедряет мониторинг соединений через :telemetry.
Определяет политику версионирования API для всех Elixir-сервисов. Проектирует архитектуру с API Gateway на Phoenix для маршрутизации между версиями. Внедряет автоматическое тестирование обратной совместимости через open_api_spex и contract tests на уровне CI.
Определяет стратегию GraphQL для Elixir-платформы. Проектирует федеративную архитектуру с Absinthe Federation, определяет стандарты именования, обработки ошибок и авторизации через middleware. Внедряет schema stitching между микросервисами и мониторинг через :telemetry.
Стандартизирует rate limiting в Elixir-экосистеме: создает Hex package для стандартного rate limiting setup, проектирует centralized rate limit configuration через Etcd/Consul, внедряет Telemetry metrics для rate limit observability. Определяет API quota management для Phoenix-based APIs.
Определяет архитектурные стандарты REST API для всех Elixir-сервисов организации. Проектирует Phoenix API Gateway с аутентификацией через Guardian/JWT, версионированием и rate limiting. Внедряет contract-first подход с open_api_spex и автогенерацию клиентов.
Облако и инфраструктура · 3
Определяет облачную архитектуру AWS для всех Elixir-сервисов организации. Проектирует Infrastructure as Code через Terraform с модулями для Phoenix-сервисов. Внедряет мультиаккаунтную стратегию, настраивает centralized logging и мониторинг через CloudWatch и :telemetry.
Определяет стандарты контейнеризации для всех Elixir-сервисов организации. Проектирует базовые Docker-образы с предкомпилированным OTP и Elixir, настраивает CI/CD-пайплайны для сборки releases. Внедряет сканирование уязвимостей через Trivy и политику обновления образов.
Определяет архитектуру Kubernetes для Elixir-платформы организации. Проектирует Helm-чарты с шаблонами для Phoenix-сервисов, настраивает service mesh для inter-node communication. Внедряет GitOps через ArgoCD с автоматическим rollback на основе :telemetry-метрик.
DevOps и CI/CD · 1
Определяет стандарты CI/CD для всех Elixir-проектов организации на GitHub Actions. Создаёт переиспользуемые workflows (reusable workflows) для типовых Elixir-пайплайнов. Внедряет quality gates: Dialyzer, Credo, ExCoveralls >90%, mix audit и проверку миграций.
Тестирование и QA · 3
Определяет стандарты интеграционного тестирования для всех Elixir-сервисов. Внедряет contract testing между микросервисами через Pact, настраивает CI-окружение с docker-compose для полного стека. Проектирует стратегию тестирования GenServer-кластеров и distributed Erlang.
Внедряет property-based тестирование как стандартную практику во всех Elixir-проектах. Определяет стратегию тестирования через StreamData для критических модулей, обучает команду написанию свойств и генераторов. Создаёт библиотеку общих генераторов для доменных объектов организации.
Определяет стандарты unit-тестирования для всех Elixir-проектов организации. Внедряет обязательное покрытие >90% через ExCoveralls, определяет паттерны тестирования для GenServer, Broadway и Ecto-контекстов. Создаёт общие хелперы и фабрики на ExMachina для всех сервисов.
Безопасность · 3
Определяет стандарты безопасного кодирования для Elixir-команд. Внедряет security linting через Sobelow и Credo-правила, создаёт secure coding guidelines для Phoenix и OTP. Проектирует архитектуру секретов через Vault с ротацией, организует security training для разработчиков.
Определяет стратегию аутентификации и авторизации для всей Elixir-платформы. Проектирует Identity Provider на Phoenix с Guardian, OAuth2 и OpenID Connect. Внедряет zero-trust архитектуру с mTLS между сервисами, централизованное управление разрешениями через PolicyWonk.
Определяет стандарты безопасности OWASP для всех Elixir-сервисов организации. Внедряет обязательный Sobelow в CI, проводит threat modeling для Phoenix-приложений. Проектирует security middleware через Plug для централизованной защиты, организует регулярные security-ревью кода.
AI-ассистированная разработка · 1
Определяет стандарты использования AI-инструментов в Elixir-командах. Внедряет GitHub Copilot с кастомными правилами для Elixir/Phoenix-проектов, создаёт guidelines по валидации AI-сгенерированного кода. Обучает команду эффективному использованию AI для OTP и функционального программирования.
Архитектура и проектирование · 3
Определяет архитектурные стандарты для Elixir-платформы организации. Проектирует reference architecture с Phoenix, Ecto, Broadway и distributed OTP. Внедряет ADR (Architecture Decision Records), проводит архитектурные ревью и определяет стратегию эволюции системы.
Стандартизирует CQRS в Elixir-экосистеме: определяет architectural boundaries для bounded contexts, проектирует inter-aggregate communication через domain events, создает testing utilities для aggregate и projection verification. Обучает команды DDD + CQRS + ES на Elixir.
Определяет архитектуру высоконагруженных Elixir-систем организации. Проектирует распределённые кластеры BEAM с автоматическим обнаружением нод, балансировкой через consistent hashing. Внедряет capacity planning на основе :telemetry-метрик и нагрузочного тестирования через Tsung.
Observability и мониторинг · 3
Определяет стандарты логирования для всех Elixir-сервисов организации. Проектирует единую схему структурированных логов с обязательными полями через кастомный Logger backend. Внедряет centralized logging через Grafana Loki с Elixir-специфичными дашбордами и алертами на аномалии.
Определяет стандарты observability через OpenTelemetry для всех Elixir-сервисов. Проектирует единую инструментацию с opentelemetry_api для Phoenix, Ecto, Broadway и distributed Erlang. Внедряет trace-based testing, настраивает SLO-мониторинг на основе трейсов с adaptive sampling.
Определяет стандарты мониторинга для всех Elixir-сервисов через Prometheus и Grafana. Проектирует иерархию дашбордов: платформа, сервис, бизнес-метрики. Внедряет SLO-based alerting, настраивает Grafana-шаблоны для типовых Elixir/Phoenix-сервисов с PromEx-метриками.
Контроль версий и коллаборация · 2
Определяет стандарты code review для Elixir-команд организации. Внедряет автоматические проверки через Credo, Dialyzer и Sobelow в PR-процесс. Проектирует review guidelines для Phoenix, OTP и Ecto-кода, определяет checklist для архитектурных ревью распределённых систем.
Определяет Git-стратегию для всех Elixir-проектов организации. Внедряет trunk-based development с автоматическим merge через CI при зелёных Dialyzer, Credo и ExUnit. Проектирует монорепозиторий или стратегию для umbrella-приложений, настраивает CODEOWNERS для Phoenix-контекстов.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Principal
0 навыков получают более высокое ожидание или становятся ключевыми при переходе с Lead на Principal. Сначала самые большие скачки.
} в открытой матрице компетенций: 66 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.