Dimensions

Explore the dimensions we use to understand the spectrum of developer skills and working styles.

Technical Skill

TCH

Core coding skills, language mastery, and understanding of fundamental computer science concepts.

The Scripting Newcomer

Range: 1-20

Basic syntax knowledge but limited depth.

  • Can write simple scripts and modify existing code
  • Relies heavily on Stack Overflow and copy-paste solutions
  • Understands basic control structures but struggles with advanced concepts
  • May know one language at a surface level

The Practical Implementer

Range: 21-35

Solid in their primary language but narrow focus.

  • Comfortable with day-to-day coding tasks in their main tech stack
  • Knows common libraries and frameworks well enough to be productive
  • Limited understanding of computer science fundamentals
  • Struggles when moving outside their comfort zone

The Competent Generalist

Range: 36-55

Well-rounded technical foundation.

  • Proficient in 2-3 programming languages
  • Understands core CS concepts like data structures and algorithms
  • Can learn new frameworks within familiar paradigms quickly
  • Solid debugging and problem-solving skills

The Domain Expert

Range: 56-75

Deep expertise in specific technical areas.

  • Master-level knowledge in their specialty (web dev, mobile, data, etc.)
  • Understands performance implications and optimization techniques
  • Can architect solutions within their domain confidently
  • May have some knowledge gaps outside their specialty

The Technical Scholar

Range: 76-90

Strong theoretical foundation meets practical expertise.

  • Deep understanding of multiple programming paradigms
  • Can discuss trade-offs between different approaches knowledgeably
  • Understands low-level concepts like memory management and concurrency
  • Keeps up with academic research and industry best practices

The Language Polyglot

Range: 91-100

Exceptional breadth and depth of technical knowledge.

  • Fluent in multiple languages across different paradigms
  • Can quickly adapt to any tech stack or write their own tools
  • Deep understanding of compilers, interpreters, and language design
  • Often contributes to open source projects or creates new tools

Problem Solving

PRB

Ability to break down complex problems, think algorithmically, and find elegant solutions.

The Recipe Follower

Range: 1-20

Needs detailed instructions and clear examples.

  • Requires step-by-step guidance for most tasks
  • Struggles to break down problems into smaller components
  • Copies existing solutions without fully understanding them
  • Gets stuck when facing novel problems

The Pattern Matcher

Range: 21-35

Can solve problems similar to ones they've seen before.

  • Good at recognizing familiar problem types
  • Uses existing solutions as templates for new problems
  • Limited ability to adapt when problems don't fit known patterns
  • Relies on trial-and-error more than systematic thinking

The Methodical Solver

Range: 36-55

Systematic approach to problem-solving.

  • Can break down complex problems into manageable pieces
  • Uses debugging tools effectively to isolate issues
  • Thinks through edge cases and potential failure modes
  • May take longer but produces reliable solutions

The Creative Problem Solver

Range: 56-75

Finds innovative solutions to challenging problems.

  • Enjoys tackling complex, ambiguous problems
  • Can see connections between seemingly unrelated concepts
  • Balances creativity with practical constraints
  • Often finds simpler solutions than initially obvious

The Algorithm Designer

Range: 76-90

Thinks in terms of efficiency and optimal solutions.

  • Considers time and space complexity when designing solutions
  • Can optimize existing algorithms or create new ones
  • Understands when to use different data structures and algorithms
  • Balances theoretical optimality with practical implementation

The Systems Thinker

Range: 91-100

Solves problems at multiple levels simultaneously.

  • Sees the bigger picture while handling implementation details
  • Anticipates how solutions will scale and evolve over time
  • Can solve problems that span multiple systems or domains
  • Often prevents problems before they occur through thoughtful design

System Design

SYS

Understanding of architecture, scalability, design patterns, and building maintainable systems.

The Feature Builder

Range: 1-20

Focuses on individual features without broader context.

  • Implements features as requested without considering architecture
  • Limited understanding of how components interact
  • May create tightly coupled code that's hard to maintain
  • Doesn't think about scalability or future requirements

The Component Creator

Range: 21-35

Understands modular design within a single application.

  • Can create reusable components and functions
  • Understands basic separation of concerns
  • Limited experience with distributed systems or scaling
  • May overengineer simple solutions

The Application Architect

Range: 36-55

Designs well-structured applications.

  • Understands common design patterns and when to use them
  • Can design database schemas and API interfaces
  • Considers maintainability and extensibility in design decisions
  • Experience with monolithic applications but limited distributed systems knowledge

The Service Designer

Range: 56-75

Understands microservices and distributed system basics.

  • Can break applications into logical services
  • Understands API design and service boundaries
  • Has experience with scaling challenges and solutions
  • May struggle with complex distributed system problems

The Platform Architect

Range: 76-90

Designs systems that support multiple applications.

  • Understands infrastructure, deployment, and operational concerns
  • Can design for high availability, disaster recovery, and compliance
  • Balances technical debt with business requirements
  • Considers organizational structure in architectural decisions

The Systems Visionary

Range: 91-100

Designs complex, scalable systems from first principles.

  • Can architect systems handling millions of users or complex data flows
  • Understands trade-offs between consistency, availability, and partition tolerance
  • Designs systems that evolve gracefully over time
  • Influences industry best practices and patterns

Code Quality

QLT

Writing clean, readable, well-documented code that follows best practices.

The Quick and Dirty Coder

Range: 1-20

Gets things working but creates technical debt.

  • Code works but is hard to read and maintain
  • Minimal or no comments and documentation
  • Inconsistent naming and formatting
  • Rarely writes tests or follows coding standards

The Functional Coder

Range: 21-35

Code works reliably but could be cleaner.

  • Follows basic naming conventions most of the time
  • Some comments but often outdated or unclear
  • Occasional code duplication and inconsistent patterns
  • Limited testing, mainly happy path scenarios

The Standard Follower

Range: 36-55

Consistently follows established coding practices.

  • Code is readable and follows team conventions
  • Regular comments explaining complex logic
  • Uses consistent patterns and avoids obvious code smells
  • Writes basic tests for most functionality

The Clean Code Advocate

Range: 56-75

Writes code that serves as documentation.

  • Self-documenting code with excellent naming and structure
  • Comprehensive comments for complex business logic
  • Actively refactors to improve code quality
  • Strong test coverage including edge cases

The Quality Guardian

Range: 76-90

Sets the standard for code quality on the team.

  • Code reviews focus on maintainability and clarity
  • Establishes and enforces coding standards
  • Comprehensive documentation at code and system levels
  • Mentors others on best practices

The Code Perfectionist

Range: 91-100

Treats code as craft, pursuing excellence in every detail.

  • Code is a model of clarity, efficiency, and maintainability
  • Documentation is comprehensive and always up-to-date
  • Every function and class has a clear, single responsibility
  • May spend significant time on polish that doesn't add business value

Learning Agility

LRN

Speed of picking up new technologies, frameworks, and adapting to change.

The Comfort Zone Dweller

Range: 1-20

Prefers familiar tools and avoids change.

  • Sticks to technologies they learned years ago
  • Resistant to adopting new frameworks or methodologies
  • Takes significant time to become productive with new tools
  • May become defensive when forced to learn new approaches

The Gradual Adapter

Range: 21-35

Learns new things but prefers incremental change.

  • Will learn new technologies when necessary for work
  • Prefers evolutionary changes over revolutionary ones
  • Takes time to fully adopt new practices
  • Often waits for technologies to mature before adopting

The Practical Learner

Range: 36-55

Learns what's needed to get the job done.

  • Picks up new frameworks and tools as projects require
  • Focuses learning on immediately applicable skills
  • Balances staying current with getting work done
  • May have gaps in theoretical understanding

The Curious Explorer

Range: 56-75

Actively seeks out new technologies and approaches.

  • Regularly experiments with new tools and frameworks
  • Attends conferences, reads blogs, and follows tech trends
  • Quick to prototype solutions with unfamiliar technologies
  • Sometimes adopts new tech before it's proven stable

The Technology Scout

Range: 76-90

Always on the cutting edge of technological advancement.

  • First to try new languages, frameworks, and methodologies
  • Can quickly evaluate and compare different technical approaches
  • Contributes to early-stage open source projects
  • Helps teams make informed decisions about tech adoption

The Innovation Catalyst

Range: 91-100

Drives technological change within organizations.

  • Doesn't just learn new technologies but masters them quickly
  • Can see connections between emerging trends and business opportunities
  • Influences industry direction through speaking, writing, or open source
  • May create new tools, frameworks, or methodologies

Collaboration

CLB

Communication skills, code review quality, mentoring ability, and working effectively in teams.

The Deep Work Specialist

Range: 1-20

Prefers long stretches of focused coding with minimal interruptions.

  • Takes on complex, solo projects that require sustained concentration
  • Communicates primarily through well-documented code and detailed PRs
  • Attends meetings but prefers async updates and written communication
  • Highly productive when given autonomy and clear requirements

The Asynchronous Communicator

Range: 21-35

Collaborates thoughtfully but on their own timeline.

  • Provides thorough, detailed code reviews and documentation
  • Prefers Slack/email over impromptu calls or shoulder taps
  • Contributes meaningfully to discussions but needs processing time
  • Often works across time zones or prefers flexible schedules

The Steady Team Player

Range: 36-55

The reliable backbone of most development teams.

  • Participates in standups, planning, and reviews without dominating
  • Pairs occasionally when needed but comfortable working independently
  • Asks for help when stuck but tries to solve problems first
  • Mentors juniors informally through code reviews and side conversations

The Technical Mentor

Range: 56-75

Senior developer who actively guides others.

  • Regularly pairs with junior and mid-level developers
  • Leads technical discussions and architectural decisions
  • Proactively shares knowledge through docs, tech talks, or informal teaching
  • Balances hands-on coding with helping others grow

The Team Orchestrator

Range: 76-90

Tech lead or principal who facilitates team success.

  • Spends significant time in meetings, planning, and cross-team coordination
  • Codes strategically on critical paths or to unblock others
  • Focuses on team productivity over individual output
  • Bridges technical and business stakeholders

The Pair Programming Enthusiast

Range: 91-100

Believes the best code comes from real-time collaboration.

  • Prefers working with a partner for most coding tasks
  • Thinks out loud and enjoys bouncing ideas off others
  • Leads mob programming sessions and collaborative problem-solving
  • May struggle with solo work or deep, uninterrupted focus time