Select your current position
Pick a role and level — we'll show the growth path, skills and gap analysis.
Development path
Junior
0-2 years
Responsibility: Completing tasks under the guidance of senior colleagues. Learning the codebase, standards, and team processes. Writing code to spec, fixing simple bugs, writing tests.
Key skills:
Middle
2-5 years
Responsibility: Independently developing features from decomposition to deployment. Participating in code review. Optimizing performance. Mentoring junior developers. Taking part in architecture discussions.
Key skills:
Senior
5-8 years
Responsibility: Designing the architecture of components and services. Solving complex technical problems. Managing technical debt. Code review as a quality gatekeeper. Mentoring middle developers. Choosing technologies for new tasks.
Key skills:
Lead / Staff
7-12 years
Responsibility: Technical leadership of a team or area. Designing system architecture. Coordinating with other teams. Establishing standards and best practices. Participating in hiring. Planning the technical roadmap.
Key skills:
Principal
10+ years
Responsibility: Technical strategy at the company or domain level. Cross-organizational influence. Solving systemic business problems through technology. Mentoring lead engineers. Publicly representing the company.
Key skills:
Gap analysis: skills to develop
To reach the next level you'll need to develop:
Independently designs A/B tests with sample size calculation and statistical significance. Considers technical dependencies when splitting traffic — caching, CDN, server-side rendering. Works with Optimizely, LaunchDarkly or similar tools.
Independently manages product backlog, balancing feature work and technical debt. Applies WSJF or RICE for prioritization considering technical complexity. Decomposes epics into stories with technical dependencies.
Independently analyzes delivery metrics to identify bottlenecks in the product flow. Builds dashboards with DORA metrics, links engineering metrics to product outcomes. Uses data to improve planning.
Independently manages dependencies between 2-3 teams. Builds dependency graphs for features with technical components. Proactively communicates risks and blockers, maintains dependency board in Jira or similar tools.
Independently facilitates estimation sessions considering technical complexity. Applies reference-based estimation and three-point estimation. Analyzes past estimate accuracy for calibration and factors technical debt into estimates.
Independently formulates OKRs considering technical and product goals. Links engineering KPIs (DORA metrics, SLO compliance) with product outcomes. Maintains regular tracking and reporting on key metrics.
Independently designs event tracking schema considering data architecture. Configures custom reports and cohort analysis. Understands technical aspects: data sampling, event batching, SDK performance impact.
Independently creates product roadmap, balancing feature delivery with technical initiatives. Includes infrastructure work, tech debt payoff and platform improvements. Communicates roadmap to different audiences with appropriate level of detail.
Formulates product vision considering technical enablers and constraints. Understands how emerging technologies (AI, cloud-native, edge) can transform the product. Creates compelling vision for technology and business stakeholders.
Independently plans releases for the product considering technical readiness criteria. Coordinates release scope with engineering: feature freeze, code complete, QA sign-off. Manages release notes and changelog for different audiences.
Reviews REST API design for product requirements compliance and industry best practices. Evaluates naming conventions, pagination, filtering, error handling. Defines API versioning strategy for backward compatibility.
Independently conducts risk assessment for product initiatives with technical depth. Evaluates technical risks: scalability, security, data integrity. Defines mitigation strategies and contingency plans for each risk.
Performs the Product Owner role with technical focus. Manages sprint backlog balancing feature and tech debt work. Facilitates refinement with deep technical discussions. Defines Definition of Done with technical criteria.
Independently defines SLIs and SLOs for their product jointly with engineering. Understands error budget concept and its impact on feature velocity vs reliability trade-off. Participates in SLO review and incident analysis.
Independently manages expectations of 5-10 stakeholders. Adapts communication: deep technical for engineering, business impact for executives. Proactively manages priority conflicts between product and engineering.
Independently conducts user research for a technical product. Conducts developer interviews focused on DX (developer experience). Analyzes quantitative data from analytics and qualitative feedback from support channels.
Understands microservice decomposition trade-offs for product decisions. Evaluates architecture impact on delivery speed, team independence and operational complexity. Participates in domain modeling sessions with engineers.
Understands system design patterns and their impact on product capabilities. Evaluates trade-offs: consistency vs availability, latency vs throughput. Participates in architecture reviews with informed product perspective.
Independently evaluates and prioritizes technical debt. Calculates cost of delay for tech debt items. Balances tech debt payoff with feature delivery in sprint planning. Maintains tech debt register with business justification.