Communication
Asking, explaining, updating and disagreeing well.
Backend Engineer track
Junior
Write correct code, ship small changes safely, ask good questions.
Core: start here
- Asking Good QuestionsSharing what you tried, what you expected and what happened.
- Status UpdatesProactively telling people where things stand.
- When to Ask for HelpNot too soon, not too late: time-box before asking.
5 more junior concepts
- 1:1 MeetingsRegular private conversations with your manager.
- Giving a DemoShowing your work clearly to an audience.
- Receiving FeedbackListening, asking for specifics, and acting on it.
- Working with QACollaborating with testers to ship quality.
- Writing ClearlyLead with the point, be specific, keep it short.
Mid-level
Own a feature end to end without hand-holding.
Core: start here
- Explaining to Non-EngineersTranslating technical trade-offs into business terms.
- Giving FeedbackFeedback that's specific, timely, kind and actionable.
6 more mid-level concepts
- Async CommunicationWriting so people can respond on their own time.
- Effective MeetingsAgendas, notes, clear decisions, and fewer meetings.
- Making Work Visible RemotelyOver-communicating when nobody can see you working.
- Saying NoDeclining or pushing back on work constructively.
- Working with DesignersCollaborating on how it should look and behave.
- Working with Product ManagersCollaborating on what to build and why.
Senior
Own a system, its failure modes, and its trade-offs.
- Disagree and CommitVoicing disagreement, then fully backing the decision.
- PresentingCommunicating ideas to a group.
- Psychological SafetyFeeling safe to take risks and admit mistakes on a team.
- Resolving ConflictWorking through disagreements productively.
- Stakeholder ManagementKeeping the people affected by your work informed and aligned.
Staff
Shape how many teams build, across systems.
- Influence Without AuthorityGetting things done across teams you don't manage.
- Writing CultureTeams that make and record decisions through written documents.
Principal
Set technical direction for the organization.
Nothing here yet.
Data Analyst track
Junior
Write correct SQL, build trusted dashboards, ask good questions.
Core: start here
- Asking Good QuestionsSharing what you tried, what you expected and what happened.
4 more junior concepts
- Async CommunicationWriting so people can respond on their own time.
- Status UpdatesProactively telling people where things stand.
- When to Ask for HelpNot too soon, not too late: time-box before asking.
- Writing ClearlyLead with the point, be specific, keep it short.
Mid-level
Own an analysis end to end, from vague question to recommendation.
- Explaining to Non-EngineersTranslating technical trade-offs into business terms.
- Giving a DemoShowing your work clearly to an audience.
- PresentingCommunicating ideas to a group.
- Saying NoDeclining or pushing back on work constructively.
- Stakeholder ManagementKeeping the people affected by your work informed and aligned.
- Working with Product ManagersCollaborating on what to build and why.
Senior
Own experimentation and metrics design; call out bad numbers.
- Influence Without AuthorityGetting things done across teams you don't manage.
Staff
Shape how the organization measures and decides.
Nothing here yet.
Principal
Set measurement strategy across the company.
Nothing here yet.
Data Engineer track
Junior
Build and fix pipelines from clear specs; write correct SQL.
Core: start here
- Asking Good QuestionsSharing what you tried, what you expected and what happened.
- Status UpdatesProactively telling people where things stand.
- When to Ask for HelpNot too soon, not too late: time-box before asking.
5 more junior concepts
- 1:1 MeetingsRegular private conversations with your manager.
- Giving a DemoShowing your work clearly to an audience.
- Receiving FeedbackListening, asking for specifics, and acting on it.
- Working with QACollaborating with testers to ship quality.
- Writing ClearlyLead with the point, be specific, keep it short.
Mid-level
Own pipelines and models end to end, including their quality.
- Async CommunicationWriting so people can respond on their own time.
- Effective MeetingsAgendas, notes, clear decisions, and fewer meetings.
- Explaining to Non-EngineersTranslating technical trade-offs into business terms.
- Giving FeedbackFeedback that's specific, timely, kind and actionable.
- Making Work Visible RemotelyOver-communicating when nobody can see you working.
- Saying NoDeclining or pushing back on work constructively.
- Working with DesignersCollaborating on how it should look and behave.
- Working with Product ManagersCollaborating on what to build and why.
Senior
Design the platform's storage, processing and modeling choices.
- Disagree and CommitVoicing disagreement, then fully backing the decision.
- PresentingCommunicating ideas to a group.
- Psychological SafetyFeeling safe to take risks and admit mistakes on a team.
- Resolving ConflictWorking through disagreements productively.
- Stakeholder ManagementKeeping the people affected by your work informed and aligned.
Staff
Shape how the whole organization produces and uses data.
- Influence Without AuthorityGetting things done across teams you don't manage.
- Writing CultureTeams that make and record decisions through written documents.
Principal
Set data strategy and architecture across the company.
Nothing here yet.
Frontend Engineer track
Junior
Build UI that works, ship small changes safely, ask good questions.
Core: start here
- Asking Good QuestionsSharing what you tried, what you expected and what happened.
- Status UpdatesProactively telling people where things stand.
- When to Ask for HelpNot too soon, not too late: time-box before asking.
6 more junior concepts
- 1:1 MeetingsRegular private conversations with your manager.
- Giving a DemoShowing your work clearly to an audience.
- Receiving FeedbackListening, asking for specifics, and acting on it.
- Working with DesignersCollaborating on how it should look and behave.
- Working with QACollaborating with testers to ship quality.
- Writing ClearlyLead with the point, be specific, keep it short.
Mid-level
Own a feature end to end without hand-holding.
Core: start here
- Giving FeedbackFeedback that's specific, timely, kind and actionable.
6 more mid-level concepts
- Async CommunicationWriting so people can respond on their own time.
- Effective MeetingsAgendas, notes, clear decisions, and fewer meetings.
- Explaining to Non-EngineersTranslating technical trade-offs into business terms.
- Making Work Visible RemotelyOver-communicating when nobody can see you working.
- Saying NoDeclining or pushing back on work constructively.
- Working with Product ManagersCollaborating on what to build and why.
Senior
Own an app's architecture, performance, and failure modes.
- Disagree and CommitVoicing disagreement, then fully backing the decision.
- PresentingCommunicating ideas to a group.
- Psychological SafetyFeeling safe to take risks and admit mistakes on a team.
- Resolving ConflictWorking through disagreements productively.
- Stakeholder ManagementKeeping the people affected by your work informed and aligned.
Staff
Shape how many teams build, across apps.
- Influence Without AuthorityGetting things done across teams you don't manage.
- Writing CultureTeams that make and record decisions through written documents.
Principal
Set technical direction for the organization.
Nothing here yet.