Проводит ревью алгоритмических решений команды в Scala-проектах, оценивает O-сложность критических путей в Akka Streams и Spark-пайплайнах. Определяет стандарты производительности для сервисов и внедряет бенчмарки через JMH для выявления узких мест на уровне JVM.
Роли · Backend Developer (Scala) · Lead
Что должен уметь Lead }
51 ключевых навыков, всего 67. Ожидания по каждому навыку и что меняется на следующем уровне.
На этой странице — что ожидается от Lead }, навык за навыком. Ключевые навыки оценивают руководитель и коллеги в цикле ревью; остальные учитываются только в самооценке. Основные области: Основы программирования, Backend Development, Базы данных.
Ключевые навыки для Lead
Сгруппированы по областям. Метка справа — ожидаемая глубина: Осведомлённость, Применение, Продвинутый или Эксперт.
Основы программирования · 12
Устанавливает стандарты асинхронного программирования в команде: выбор между ZIO, Cats Effect и Akka для конкретных задач. Ревьюит корректность управления эффектами, fiber-ами и конкурентными структурами, обеспечивает отсутствие блокирующих вызовов в основном потоке исполнения.
Определяет стандарты использования Дженерики и параметрический полиморфизм на уровне команды/продукта. Проводит архитектурные review. Формирует best practices и обучающие материалы для всей команды.
Определяет стандарты иммутабельности и функционального программирования для бэкенд-систем на Scala в организации. Формирует рекомендации по иммутабельному доменному моделированию, чистому управлению состоянием в распределённых сервисах и безопасным границам интеропа с мутабельными Java-библиотеками. Проводит архитектурные ревью, обеспечивая, что принципы иммутабельности обеспечивают корректность, тестируемость и поддерживаемость систем в масштабе.
Внедряет стандарты качества Scala-кода в команде: настройка Scalafix, WartRemover, Scalafmt. Определяет правила code review с акцентом на идиоматичность Scala, корректное использование implicits и for-comprehension. Интегрирует статический анализ и coverage-метрики в CI/CD-пайплайн через sbt.
Определяет политики управления thread pool-ами в Scala-сервисах: конфигурация ExecutionContext, блокирующих и compute-пулов для ZIO/Cats Effect. Проводит аудит многопоточного кода команды, выявляет race condition и deadlock-и через анализ fiber-графов и JVM thread dump-ов.
Определяет стандарты использования Монады и функторы на уровне команды/продукта. Проводит архитектурные review. Формирует best practices и обучающие материалы для всей команды.
Определяет стандарты использования Основы функционального программирования на уровне команды/продукта. Проводит архитектурные review. Формирует best practices и обучающие материалы для всей команды.
Внедряет функциональные паттерны проектирования в Scala-кодовую базу команды: Tagless Final, Free Monad, Reader/Writer для dependency injection. Проводит архитектурные ревью с акцентом на typeclass-паттерны из Cats и ZIO для обеспечения композируемости и тестируемости кода.
Формирует командные стандарты по сочетанию ООП и ФП в Scala: использование sealed trait-иерархий, case class для доменных моделей, trait mixin для композиции. Ревьюит архитектуру модулей на соответствие SOLID-принципам с учётом Scala-специфики — ADT, implicit-ов и type class-ов.
Определяет стандарты использования иммутабельных коллекций Scala и персистентных структур данных в командных проектах. Ревьюит выбор структур данных с учётом GC-давления на JVM, оптимизирует использование Vector, HashMap и TreeMap в высоконагруженных сервисах.
Устанавливает командные стандарты использования системы типов Scala: refined types для валидации, phantom types для состояний, опаковые типы для доменных примитивов. Ревьюит корректность type-level программирования, обеспечивает баланс между безопасностью типов и читаемостью кода.
Backend Development · 5
Стандартизирует messaging в Scala-экосистеме: выбирает между Alpakka, fs2-kafka и ZIO Kafka для разных команд, проектирует event-driven архитектуру с CQRS через Akka Projection, внедряет schema registry интеграцию с Avro/Protobuf для type-safe evolution.
Определяет архитектурные решения по Стратегии кэширования на уровне продукта. Формирует стандарты. Проводит design review и определяет технический roadmap.
Определяет архитектуру событийного взаимодействия между Scala-сервисами через Kafka: стандарты Schema Registry с Avro/Protobuf, стратегии партиционирования и retention. Ревьюит топологию топиков команды, внедряет паттерны Dead Letter Queue и мониторинг consumer lag через Prometheus.
Определяет стратегию кэширования для Scala-микросервисов команды: стандарты использования Redis Cluster, политики инвалидации, распределённые сессии. Ревьюит архитектуру кэширования с учётом консистентности данных, внедряет multi-layer caching с локальным Caffeine и распределённым Redis.
Определяет архитектурные решения по Scala Frameworks на уровне продукта. Формирует стандарты. Проводит design review и определяет технический roadmap.
Базы данных · 8
Определяет политику индексирования для Scala-микросервисов команды: стандарты именования, правила создания индексов в миграциях, мониторинг неиспользуемых индексов. Ревьюит планы индексирования с учётом write amplification и влияния на производительность INSERT/UPDATE операций в OLTP-сценариях.
Определяет стратегию работы с данными на уровне продукта. Формирует стандарты Миграции БД. Проводит review схем данных и стратегий масштабирования.
Устанавливает стандарты оптимизации запросов в Scala-команде: обязательный EXPLAIN-анализ в code review, бюджеты latency для эндпоинтов, правила использования кэширования запросов. Ревьюит архитектуру доступа к данным, внедряет CQRS-паттерн для разделения read/write нагрузки.
Определяет стандарты моделирования данных в Scala-команде: правила проектирования схем, именования таблиц, использования JSONB vs нормализации. Ревьюит доменные модели на соответствие bounded context, внедряет Event Sourcing модели с Akka Persistence для критичных агрегатов.
Определяет стратегию работы с данными на уровне продукта. Формирует стандарты Транзакции и конкурентность. Проводит review схем данных и стратегий масштабирования.
Стандартизирует шардирование в Scala-экосистеме: определяет когда использовать Akka Cluster Sharding vs database-native sharding, проектирует data placement strategy для distributed Scala-систем. Создает abstractions для transparent sharding с type-safe shard key definitions.
Стандартизирует connection management в Scala-экосистеме: определяет when to use Slick vs doobie vs Quill с разными pool strategies, создает abstractions для standardized pool setup. Проектирует connection governance для Akka Cluster и distributed Scala-systems.
Определяет стандарты работы с PostgreSQL в Scala-команде: выбор между Doobie, Slick и Quill, правила написания миграций, стратегии партиционирования таблиц. Ревьюит архитектуру данных, внедряет read-replica для масштабирования чтения и настраивает логическую репликацию для аналитических задач.
API и интеграции · 6
Определяет стандарты документирования API в Scala-команде: обязательные секции, format спецификаций, процесс ревью документации. Внедряет contract-first подход через Tapir или Smithy, обеспечивает синхронизацию документации с кодом через automated checks в CI/CD-пайплайне.
Определяет стратегию версионирования API для Scala-команды: выбор между URL-path, header-based и content negotiation подходами. Внедряет процессы deprecation с grace period, автоматическую проверку backward compatibility через Tapir schema diff и мониторинг usage старых версий API.
Стандартизирует gRPC-разработку в Scala-экосистеме: выбирает между Akka gRPC, ZIO gRPC и fs2-grpc для разных команд, создает sbt-плагины для стандартизации proto-генерации, проектирует паттерны для функционального error handling в gRPC. Определяет стратегию тестирования с akka-grpc-testkit.
Определяет стандарты gRPC-взаимодействия для Scala-команды: правила проектирования .proto-файлов, стратегия backward compatibility, обязательные metadata-поля. Ревьюит Protobuf-схемы, внедряет buf для линтинга и breaking change detection, настраивает gRPC health checks для Kubernetes readiness probes.
Стандартизирует rate limiting в Scala-экосистеме: создает library с functional rate limiter API (tagless final), проектирует configuration-driven limiting через Lightbend Config, определяет observability patterns. Обучает команды functional approaches к rate limiting.
Определяет стандарты REST API для Scala-команды: гайдлайны по проектированию эндпоинтов, обязательное использование Tapir для type-safe описания API, стратегия версионирования. Ревьюит API-контракты на соответствие доменной модели, обеспечивает консистентность между микросервисами.
Облако и инфраструктура · 3
Определяет AWS-архитектуру для Scala-команды: стандарты использования сервисов, Landing Zone, security baseline. Ревьюит инфраструктурные решения, внедряет GitOps через ArgoCD, настраивает multi-account стратегию и FinOps-практики с Cost Explorer для оптимизации бюджета.
Определяет стандарты контейнеризации для Scala-команды: базовые образы, JVM-конфигурация для различных workload-ов, security hardening. Внедряет автоматизацию сборки образов через sbt-плагины, настраивает image registry и политики тегирования для GitOps-деплоя в Kubernetes.
Определяет стандарты деплоя Scala-сервисов в Kubernetes: шаблоны Helm-чартов, политики ресурсов, стратегии canary/blue-green через ArgoCD. Ревьюит конфигурацию кластера, внедряет namespace-изоляцию для команд и настраивает NetworkPolicy для межсервисной безопасности.
DevOps и CI/CD · 1
Определяет стандарты CI/CD для Scala-команды: обязательные pipeline stages, quality gates (coverage, lint), стратегия trunk-based development. Внедряет reusable workflows для sbt-проектов, настраивает automated dependency updates через Scala Steward и интегрирует performance regression testing.
Тестирование и QA · 3
Определяет стандарты интеграционного тестирования в Scala-команде: обязательные contract-тесты между сервисами, shared test fixtures. Ревьюит тестовую инфраструктуру, внедряет consumer-driven contract testing через Pact, настраивает параллельное выполнение интеграционных тестов в CI с изоляцией данных.
Определяет стандарты property-based тестирования в Scala-команде: обязательные property-тесты для codec-ов и сериализации, библиотека общих генераторов. Ревьюит качество свойств, внедряет ZIO Test для effect-based property testing и интегрирует генераторы с контрактными тестами между сервисами.
Определяет стандарты тестирования для Scala-команды: обязательное покрытие, правила именования тестов, паттерны тестирования effectful-кода. Ревьюит тестовую архитектуру, внедряет TDD-практики с ZIO Test, настраивает параллельный запуск тестов через sbt для сокращения feedback loop.
Безопасность · 3
Определяет стандарты безопасного кодирования для Scala-команды: чеклисты secure code review, обязательные типобезопасные паттерны, запрет небезопасных API. Внедряет automated security linting через WartRemover с custom rules, проводит security training и формирует библиотеку безопасных утилит.
Определяет стандарты аутентификации для Scala-команды: единый auth middleware, стратегия управления секретами для signing keys, процедуры ротации ключей. Ревьюит архитектуру авторизации, внедряет ABAC/RBAC через policy engine (OPA), настраивает centralized auth logging для аудита.
Определяет стандарты безопасности OWASP для Scala-команды: обязательные security checks в CI, checklist для code review, vulnerability management. Внедряет SAST/DAST-инструменты для sbt-проектов, проводит threat modeling для новых сервисов и определяет процесс реагирования на CVE.
Data Engineering · 1
Определяет стандарты потоковой обработки данных в Scala-команде: выбор между Kafka Streams, FS2-Kafka и Akka Streams для конкретных use case-ов. Ревьюит топологии стрим-процессоров, внедряет паттерны exactly-once обработки, настраивает мониторинг consumer lag и stream processing latency.
AI-ассистированная разработка · 1
Определяет стандарты использования AI-инструментов в Scala-команде: guidelines по code review AI-генерированного кода, custom rules для Copilot. Внедряет AI-ассистированный рефакторинг для legacy Scala-кода, обучает команду эффективному промптингу для функциональных паттернов и effect-систем.
Архитектура и проектирование · 3
Определяет архитектурные стандарты для Scala-команды: Architecture Decision Records, паттерны проектирования сервисов, стратегии миграции. Ревьюит системный дизайн на соответствие non-functional requirements, проводит design review сессии и формирует техническую документацию архитектуры.
Стандартизирует CQRS в Scala-экосистеме: выбирает между Akka Persistence и ZIO-based solutions (zio-entity), проектирует multi-bounded context architecture, создает abstractions для testable CQRS. Определяет migration strategy от Akka Classic к Akka Typed для CQRS модулей.
Определяет архитектуру высоконагруженных Scala-сервисов команды: стандарты масштабирования, capacity planning, стратегии degradation. Ревьюит архитектуру на способность обработки пиковых нагрузок, внедряет load testing через Gatling, настраивает auto-scaling политики и circuit breaker паттерны.
Observability и мониторинг · 3
Определяет стандарты логирования для Scala-команды: обязательные поля, формат сообщений, политики retention и ротации. Внедряет централизованную систему логирования через ELK/Loki, настраивает dashboards для анализа ошибок, определяет SLI на основе log-based метрик для critical path сервисов.
Определяет стандарты observability через OpenTelemetry для Scala-команды: обязательная инструментация, semantic conventions, политики sampling. Внедряет OpenTelemetry Collector pipeline, настраивает интеграцию traces + metrics + logs, определяет SLI на основе trace-данных для ключевых user journeys.
Определяет стандарты мониторинга для Scala-команды: обязательные метрики для каждого сервиса, SLO-бюджеты, процедуры on-call. Ревьюит качество дашбордов и алертов, внедряет SRE-практики, настраивает automated runbooks и определяет метрики для error budget policy.
Контроль версий и коллаборация · 2
Определяет стандарты code review для Scala-команды: checklist для ревью, SLA по времени отклика, правила approval. Менторит ревьюеров, внедряет automated code review через Scalafix rules и Danger, обеспечивает конструктивную атмосферу ревью и обучение через feedback.
Определяет Git-стратегию для Scala-команды: стандарты коммит-сообщений (Conventional Commits), branch protection rules, merge strategy. Внедряет automated changelog через sbt-release, настраивает CODEOWNERS для ревью критичных файлов и определяет процесс управления release branches.
Дополнительные навыки
Команда их не оценивает, но они входят в самооценку и план развития.
Что меняется на Principal
0 навыков получают более высокое ожидание или становятся ключевыми при переходе с Lead на Principal. Сначала самые большие скачки.
} в открытой матрице компетенций: 67 навыков на 5 уровнях. Матрица бесплатна для специалистов и останется бесплатной.