What are IC codes?

IC = Individual Contributor — a level system for technical specialists growing as experts rather than as managers.

Full career path

Junior

junior

Experience: 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.

Value: Learning technologies and processes. Taking routine workload off senior developers. Bringing a fresh perspective to existing solutions.

Middle

middle

Experience: 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.

Value: Reliable feature delivery. Improving code quality through review. Sharing knowledge with junior developers. Suggesting process improvements.

Senior

senior

Experience: 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.

Value: Architectural decisions that reduce cost of change. Raising the team's engineering culture. Eliminating bottlenecks in the system. Making technical decisions independently.

Lead / Staff

lead

Experience: 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.

Value: System architecture that enables scalability. Cross-team coordination. Shaping technical culture. Strategic technology choices.

Principal

principal

Experience: 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.

Value: Setting the company's strategic technology direction. Attracting and retaining engineering talent. Influencing the industry through publications, talks, and open source.

There's room to grow after Senior too

Many think Senior is the final level. But new opportunities open up after Senior.

Lead / Staff

6-9 years of experience

Designing service clusters, technical roadmap, incident management. Scaling practices across a team/domain.

Principal

9-12 years of experience

Defining the domain's product and technology strategy, budget management. Ensuring long-term platform evolution.

Important to know

Not all roles have all levels

For example, Architect has no Junior — it starts at Senior or Lead.

Market names

Job postings use Junior, Middle, Senior, Lead/Staff, Principal — these are the levels we show.

Levels depend on the role

A Frontend Developer can be Junior, while a Principal Engineer usually starts at Lead+.