Difficulty levels
Difficulty controls the complexity of the codebase and the subtlety of the issues embedded in the pull request. Higher levels introduce more nuanced tradeoffs, deeper architectural concerns, and longer, more interdependent PR chains.Specializations
Specialization determines the engineering domain the codebase and pull request reflect. Choose the domain closest to the work the candidate will actually do.- Frontend — UI components, browser APIs, rendering performance, accessibility, and state management patterns.
- Backend — Server logic, API design, data access patterns, error handling, and service boundaries.
- Infrastructure — Cloud configuration, deployment patterns, infrastructure as code, and operational reliability.
- Networking — Protocols, load balancing, service mesh configuration, and network security posture.
- Core Database — Query optimization, schema design, indexing strategy, and data integrity constraints.
- Performance — Profiling, benchmarking, algorithmic complexity, and optimization patterns at scale.
- Distributed Systems — Consensus mechanisms, consistency models, fault tolerance, and distributed coordination.
- Data Pipelines — ETL design, streaming architectures, batch processing, and data quality.
- Security — Vulnerability detection, authentication and authorization flows, input validation, and threat modeling.
- Platform — Developer tooling, CI/CD pipeline design, internal platforms, and developer experience.
- Systems — Operating system concepts, memory management, concurrency primitives, and low-level programming.
- APIs — REST and GraphQL design, contract testing, API versioning, and client ergonomics.
Language surface
Language surface controls which programming languages appear in the codebase and pull request. You have two approaches:- Restrict to specific languages — Limit the assessment to one or two languages when the role has clear language requirements. This signals precise expectations to candidates and makes reviews directly comparable.
- Allow a broader mix — Permit a wider range of languages when hiring for generalist or polyglot engineers where adaptability matters more than language-specific depth.

.png?fit=max&auto=format&n=cbLTSPUrrw39LGR1&q=85&s=dcd381a1cca3b3374f46750c9f794ed8)