Roles · Backend Developer (Scala) · Principal

What a Principal } should know

45 core skills, 67 in total. Expectations per skill, and what changes at the next level.

This page lists what a Principal } is expected to know and do, skill by skill. Core skills are the ones a manager and peers assess in a review cycle; the rest count only in self-assessment. Main areas: Programming Fundamentals, Backend Development, Database Management.

45core skills
22additional skills
13skill areas
100%at Advanced or Expert
Assess myself as Principal Full role matrix

Core skills for a Principal

Grouped by area. The label on the right is the expected depth: Awareness, Working, Advanced or Expert.

Programming Fundamentals · 12

Shapes algorithm optimization strategy at platform level, makes architectural decisions on data structure selection for high-load Scala systems. Defines acceptable complexity thresholds for distributed computing in Spark and stream processing in Kafka Streams.

Makes strategic decisions on Scala platform concurrency model: ZIO Runtime vs Cats Effect IO vs Akka Actor Model. Defines backpressure handling architecture in streaming systems, designs fault tolerance strategies across the entire distributed infrastructure.

Shapes code quality culture at organizational level: standards for Scala projects, technical debt metrics, legacy codebase refactoring strategy. Defines balance between type system strictness and development velocity, introduces architectural fitness functions for system evolution control.

Makes strategic decisions on data structure selection for platform components: off-heap storage, specialized collections for Spark RDD and Dataset API. Evaluates trade-offs between immutability and performance at the overall system architecture level.

Defines architectural patterns for the entire Scala platform: choosing between Tagless Final and ZIO Environment, Effect system usage standards. Establishes guidelines for applying CQRS, Event Sourcing and Saga patterns in distributed Akka systems at organizational level.

Defines organizational FP strategy for Scala: selects effect systems (Cats Effect vs ZIO), establishes standards for functional domain modeling, drives adoption of property-based testing. Shapes technical vision for migrating legacy OOP codebases toward functional architectures.

Defines organization-wide generic programming standards in Scala: establishes type class encoding conventions (Scala 2 implicits vs Scala 3 given/using), designs generic effect system abstractions (Cats Effect, ZIO) with principled type parameter hierarchies. Drives adoption of compile-time type-level programming (singleton types, type-level natural numbers, compile-time proofs) for domain invariant enforcement. Evaluates and shapes Scala language evolution proposals related to type system expressiveness — opaque types, match types, polymorphic function types.

Shapes the organization's functional programming and immutability strategy across Scala and JVM ecosystems. Drives innovation in immutable architecture patterns for distributed systems including CRDT-based state synchronization, append-only data architectures, and zero-copy serialization of immutable structures. Influences the Scala community through contributions to typelevel ecosystem and functional programming best practices.

Defines Monads and Functors strategy at organizational level. Makes decisions on approaches and tools. Mentors lead developers and shapes technical vision.

Designs concurrency management strategy for the entire Scala platform: JVM thread scheduling configuration, choosing between green threads (Project Loom) and fiber-based model of ZIO/Cats Effect. Makes decisions on scaling multithreaded systems at cluster and infrastructure level.

Defines domain modeling strategy for Scala platform: balancing OOP inheritance and algebraic data types. Makes decisions on module structure, bounded context boundaries in Akka clusters and ways of expressing business invariants through Scala type system.

Defines type safety strategy for Scala platform: leveraging Scala 3 match types, inline/given, compile-time type-level checks. Designs domain DSLs with correctness guarantees through the type system, makes decisions on applying dependent types and type-level computations.

Backend Development · 4

Apache Kafka Expert

Shapes event architecture strategy for the entire Scala platform: Event Sourcing standards through Kafka, schema evolution policies, multi-datacenter replication. Makes Kafka cluster scaling decisions, evaluates alternatives (Pulsar, Redpanda) and defines SLA for stream data processing.

Defines Caching Strategies strategy at company level. Evaluates new technologies and approaches. Establishes enterprise standards and reference architectures.

Redis Expert

Makes strategic decisions on caching infrastructure for the entire platform: choosing between Redis Cluster and Redis Sentinel, sharding policies, cost evaluation through FinOps. Defines edge caching architecture for globally distributed Scala services with sub-millisecond latency requirements.

Defines Scala Frameworks strategy at company level. Evaluates new technologies and approaches. Establishes enterprise standards and reference architectures.

Database Management · 6

Makes strategic decisions on platform data architecture: choosing between relational and event-driven models, Schema Registry standards for inter-service communication. Defines Data Mesh approach for Scala microservices, designs data models considering scalability, compliance and analytics requirements.

Shapes indexing strategy at platform level: balancing read speed and write cost across all Scala services. Makes decisions on covering indexes, BRIN for time-series data, defines index analysis automation through pg_stat_user_indexes.

Shapes database schema management strategy for the entire Scala platform: zero-downtime migration standards through Flyway, backward compatibility policies, emergency rollback processes. Defines schema evolution approaches in multi-service environments — shared database vs database-per-service for Scala microservices.

PostgreSQL Expert

Makes strategic data storage architecture decisions: PostgreSQL as primary OLTP database for Scala platform, Citus integration for horizontal scaling, multi-region deployment strategy. Defines backup policies, DR plans and evaluates transition to managed solutions (RDS, Cloud SQL).

Defines database performance strategy for the entire platform: query performance standards, latency SLA, automated query regression testing. Makes decisions on data architecture — sharding, CQRS, full-text search through Elasticsearch integration with Scala services.

Defines transaction management strategy at Scala platform level: Saga pattern standards for distributed transactions in Akka clusters, isolation policies for OLTP/OLAP workloads. Makes decisions on eventual consistency vs strong consistency for different domains, designs compensation mechanisms.

API & Integration · 4

Shapes API documentation strategy at organizational level: unified developer portal for all Scala services, API changelog standards, API Governance integration. Defines cross-team API contract review processes, introduces API catalogue for service discoverability.

Shapes API versioning policy for the entire Scala platform: semantic versioning standards for gRPC and REST, multi-version support strategy, sunset processes. Defines API Gateway architecture for version routing, integration with consumer-driven contract testing through Pact.

Shapes inter-service communication strategy for Scala platform: gRPC as internal communication standard, Service Mesh integration through Envoy/Istio. Defines API Gateway architecture for gRPC/REST translation, Protobuf schema evolution policies and RPC call observability standards.

Shapes API strategy for the entire Scala platform: REST vs gRPC vs GraphQL standards for different scenarios, API Gateway architecture, API-first development approach. Defines backward compatibility policies, deprecation lifecycle and SLA for public and internal organizational APIs.

Cloud & Infrastructure · 3

AWS Expert

Shapes cloud strategy for Scala platform: multi-cloud or AWS-first approach, disaster recovery architecture, compliance requirements. Defines Enterprise Landing Zone, legacy system cloud migration strategy, FinOps culture and SLA for critical organizational Scala services.

Docker Expert

Shapes containerization strategy for Scala platform: base image standards, dependency update policies, GraalVM Native Image vs JVM evaluation for different services. Defines container registry architecture, supply chain security strategy and Platform Engineering IDP integration.

Shapes container orchestration strategy for Scala platform: multi-cluster architecture, federation, FinOps resource optimization. Makes managed Kubernetes decisions (EKS/GKE/AKS), defines Platform Engineering approach with Internal Developer Platform for self-service Scala service deployment.

DevOps & CI/CD · 1

Shapes CI/CD strategy for Scala platform: pipeline template standardization, centralized secrets management, Platform Engineering IDP integration. Defines DORA metrics (deployment frequency, lead time), zero-downtime deployment policies and progressive delivery strategy for all services.

Testing & QA · 3

Shapes integration testing strategy for Scala platform: cross-team contract testing standards, shared test environment infrastructure. Defines chaos engineering approach through Litmus, introduces automated canary analysis and progressive delivery to reduce deployment risks.

Shapes property-based testing culture at organizational level: standards for Scala projects, shared generator libraries for domain types. Defines integration of property-testing with formal verification approaches, introduces mutation testing through Stryker4s for evaluating test property effectiveness.

Unit Testing Expert

Shapes testing strategy for Scala platform: test pyramid standards, test quality metrics, mutation testing integration. Defines balance between unit and property-based tests, introduces Test Intelligence for CI pipeline optimization and reducing feedback time across all teams.

Security · 3

Shapes Identity & Access Management strategy for Scala platform: IdP selection (Keycloak, Auth0, Okta), zero-trust authentication architecture. Defines OAuth 2.0/OIDC standards for all services, compliance policies (SOC 2, GDPR), corporate SSO integration and federation.

Shapes application security strategy for Scala platform: OWASP SAMM maturity, Security Champions program, SDLC security integration. Defines vulnerability disclosure policies, compliance requirements (PCI DSS, GDPR) and security tooling budget for the entire organization.

Shapes secure development culture at organizational level: secure coding standards for Scala, Security Champions program, onboarding integration. Defines security by design architectural patterns — zero trust, defense in depth, principle of least privilege — for the entire Scala platform.

Data Engineering · 1

Shapes stream processing strategy for Scala platform: real-time data pipeline architecture through Kafka Streams/Flink, state management standards. Makes decisions on stream processing cluster scaling, defines SLA for end-to-end latency and integration with Data Mesh approach.

AI-Assisted Development · 1

Shapes AI-assisted development strategy for Scala platform: tool ROI evaluation (Copilot, Cursor, Cody), AI-generated code security policies. Defines AI integration into SDLC, IP compliance standards and organizational training strategy for effective AI usage in Scala development.

Architecture & System Design · 2

Shapes scaling strategy for Scala platform: architecture for millions of RPS, multi-region deployment with geo-routing, global load balancing. Makes decisions on Akka Cluster vs serverless architecture for different workloads, defines SLA/SLO and infrastructure budgets through FinOps.

Shapes architectural strategy for Scala platform: evolutionary architecture, fitness functions, organizational-level design standards. Defines technology radar, makes build vs buy decisions, designs target architecture considering business strategy and three-year horizon.

Observability & Monitoring · 3

OpenTelemetry Expert

Shapes distributed observability strategy for Scala platform: OpenTelemetry as unified standard, Collector cluster architecture, vendor-agnostic approach. Defines observability budget, incident management integration, proprietary-to-OpenTelemetry migration strategy for the entire organization.

Shapes monitoring strategy for Scala platform: Prometheus federation/Thanos architecture for scaling, unified SLO framework. Defines organizational observability culture, monitoring budgets, metrics integration with business intelligence and AIOps strategy for automated incident response.

Shapes observability through logging strategy for Scala platform: unified structured logging standards, cost management policies for log storage. Defines centralized log collection architecture, integration with tracing and metrics within OpenTelemetry, evaluates ROI of observability tools.

Version Control & Collaboration · 2

Code Review Expert

Shapes code review culture at organizational level: standards for Scala projects, review effectiveness metrics (cycle time, defect escape rate). Defines architectural review processes for cross-team changes, implements Design Review Board and knowledge sharing strategy through reviews.

Git Advanced Expert

Shapes version control strategy for Scala platform: monorepo (Bazel/Pants) vs multirepo decision, repository governance policies. Defines organizational source code management standards, artifact management integration and Inner Source strategy for Scala library reuse.

Additional skills

Not assessed by the team, but part of the self-assessment and the development plan.

ChatGPT / ClaudeConnection PoolingCPU ProfilingCQRSCursor IDEDatabase ShardingE2E TestingELK StackEvent-Driven ArchitectureGraphQL DesigngRPC & Protocol BuffersLatency OptimizationMemory ManagementMessage Broker PatternsNetwork FundamentalsPrompt Engineering for CodePython Web FrameworksRate Limiting & ThrottlingSLI / SLO / SLATDD & BDDTerraformWebSocket API Design
Run this with your whole team
Self-assessment plus manager and peer reviews against the same matrix, gap analysis and next-level readiness for every engineer. Team Pro is free for 14 days; individual tools stay free forever.
Start a team trial (14 days free) Send to my manager

} in the open competency matrix: 67 skills across 5 levels. The matrix is free for individuals and stays free.