Engineering · Individual contributor
Engineer I
Delivers well-defined tasks with guidance. · 15 questions
Craft · Expectation: Delivers well-scoped changes with tests, asking for help when stuck.
- Their changes come with tests that cover the main cases.
- Their code passes review without major rework most of the time.
- When stuck, they ask for help in good time instead of staying blocked.
System design · Expectation: Explains how the parts they work on fit into the system.
- Can explain where their change sits in the system and what it talks to.
- Reads existing code and documentation before changing an area they don't know.
- Notices when a change might affect another part of the system, and asks.
Ownership · Expectation: Follows their work through to release and fixes what they break.
- Follows their changes through review, merge and release.
- Fixes problems caused by their own changes without being chased.
- Checks that what they shipped actually works in production.
Collaboration · Expectation: Asks for and acts on code review feedback.
- Responds to review comments promptly and without getting defensive.
- Applies what they learn in reviews to later work, not just the current change.
- Helps teammates when asked, within their experience.
Communication · Expectation: Keeps the team informed about progress and blockers.
- What they report in stand-ups or the tracker matches reality.
- Raises blockers early rather than at the deadline.
- Asks clear questions, including what they've already tried.
Engineer II
Delivers features independently. · 15 questions
Craft · Expectation: Delivers features end to end with little guidance and leaves the code better than they found it.
- Delivers features from design to release with little guidance.
- Leaves the code they touch easier to understand and change.
- Chooses suitable tests and tools without being told.
System design · Expectation: Designs components within an existing system and documents the choices.
- Designs components that fit the existing architecture and conventions.
- Writes down the main design choices and the alternatives they considered.
- Thinks about performance, failures and data before building.
Ownership · Expectation: Takes responsibility for a feature in production, including its bugs and alerts.
- Owns a feature in production, including its bugs and alerts.
- Investigates incidents in their area and follows up on the causes.
- Notices gaps in their feature, such as monitoring, documentation or edge cases, and closes them.
Collaboration · Expectation: Reviews others' work constructively and pairs when useful.
- Gives reviews that are specific, constructive and timely.
- Pairs with teammates or helps unblock them when it saves the team time.
- Works smoothly with product and design on the details of a feature.
Communication · Expectation: Writes clear descriptions of their changes and decisions.
- Writes change descriptions that explain what changed and why.
- Documents decisions where the team will find them.
- Explains technical topics clearly to people outside engineering when needed.
Senior Engineer
Leads significant work and raises the level of the team. · 15 questions
Craft · Expectation: Sets the technical standard on the team through their own work and reviews.
- Others on the team use their work as the example of how to do it.
- Their reviews raise the quality of the team's code, not just catch bugs.
- Makes sound calls on trade-offs such as speed versus quality.
System design · Expectation: Designs systems spanning several components and explains the trade-offs to the team.
- Has designed a system spanning several components that is now in production.
- Explains the trade-offs of a design so the team understands and agrees.
- Anticipates how a design will need to change and leaves room for it.
Ownership · Expectation: Leads a project from ambiguity to delivery, including the parts nobody owned.
- Has led a project from an unclear problem to delivery.
- Picks up work nobody owned, such as migrations, operations or clean-up, without being asked.
- Keeps the project on track by spotting risks early and acting on them.
Collaboration · Expectation: Works with product and other teams to shape what gets built.
- Influences what gets built by bringing technical options to product discussions.
- Works well with other teams to deliver shared work.
- Resolves technical disagreements constructively.
Mentorship · Expectation: Helps teammates grow through regular, specific guidance.
- Regularly helps teammates grow with specific, practical guidance.
- At least one teammate can point to something they learned from them.
- Shares knowledge through reviews, pairing, documentation or talks.
Staff Engineer
Shapes technical direction across teams. · 15 questions
Craft · Expectation: Solves the technical problems others get stuck on and makes the solutions reusable.
- Is who others turn to for the hardest technical problems.
- Turns one-off solutions into tools, libraries or patterns other teams reuse.
- Raises the technical bar across several teams, not only their own.
System design · Expectation: Designs systems spanning several teams and gets agreement on the trade-offs.
- Has designed a system spanning several teams that is in production.
- Gets teams with different priorities to agree on a design.
- Balances short-term delivery with long-term architecture in their designs.
Ownership · Expectation: Identifies the most important technical problems across teams and gets them solved.
- Identifies the most important technical problems across teams, not just the visible ones.
- Gets those problems solved, through their own work or by bringing others in.
- Takes responsibility when cross-team technical work goes wrong and leads the fix.
Collaboration · Expectation: Aligns several teams around a shared technical plan.
- Has aligned several teams around a shared technical plan.
- Is trusted by engineering and product leaders across teams.
- Makes other teams more effective rather than dependent on them.
Mentorship · Expectation: Grows senior engineers into technical leaders.
- Has helped senior engineers take on technical leadership.
- Hands over important technical work as a growth opportunity, with support.
- Gives senior engineers candid feedback on their designs and decisions.
Principal Engineer
Sets technical direction for the organization. · 15 questions
Craft · Expectation: Defines engineering practices the whole organization adopts.
- Has defined an engineering practice the whole organization adopted.
- Their technical standards are referenced across the organization.
- Keeps the organization's practices current as technology and needs change.
System design · Expectation: Sets the long-term architecture and explains it to technical and non-technical audiences.
- Sets the long-term architecture and keeps it coherent across teams.
- Explains the architectural direction clearly to non-technical leaders.
- Their architectural decisions hold up over years, not months.
Ownership · Expectation: Takes responsibility for the organization's most critical technical risks.
- Keeps track of the organization's most critical technical risks.
- Has seen the reduction of a major technical risk through to the end.
- Is accountable for technical outcomes at the level of the organization.
Collaboration · Expectation: Partners with leadership on technical strategy.
- Is a trusted partner to leadership on technical strategy.
- Shapes company decisions with a clear technical perspective.
- Represents engineering well beyond the team: with customers, partners or the community.
Mentorship · Expectation: Builds a bench of technical leaders across the organization.
- Has grown several technical leaders across the organization.
- Creates structures, such as forums, reviews or programs, where technical leaders develop.
- The organization depends on them less over time because others have grown.