Software Engineer 2 (Individual Contributor Path)
Years of xp (guideline)
Software Engineer 1 | Software Engineer 2 | Software Engineer 3 |
0 to 2 | 2 to 5 | 4 to 6 |
Scope of action
Software Engineer 1 | Software Engineer 2 | Software Engineer 3 |
Story / Task | Story / Task | Epic / Project |
Scope of knowledge (Breadth and Depth)
Software Engineer 1 |
- Learning the codebase for 1 product / key component.
- Building proficiency in primary focus area (BE/FE/Data/or DevOps).
|
Software Engineer 2 |
- Solid technical understanding of the codebase for 1 product / key component.
- Proficient in primary focus area (BE/FE/Data/or DevOps).
|
Software Engineer 3 |
- Solid technical understanding of 1 product / key component.
- Expert in one technology on one part of our stack.
- Strong proficiency in primary focus area (BE/FE/Data/or DevOps).
|
reference: Products and key components (internal link)
Responsibilities
Software Engineer 1 |
- Uses pairing sessions and asks questions to learn about our codebase, product, and best practices.
- Accepts guidance on grooming small tasks.
- Delivers small PRs to maintain a short feedback loop.
- Observes technical discussions and learns how to tackle technical problems.
|
Software Engineer 2 |
- Understands the product and ways that our customers use it.
- Is able to understand, discuss, and come to a solution, sometimes with the help of others.
- Participates in troubleshooting issues in their area of focus.
- Proactive in pairing with other team members to learn the team best practices.
- Completes well-defined tasks, consistently delivering on time and on target, given a clear plan and segmented stories.
- Understand how critical outages and high-impact issues are investigated. Join those calls as a listener when available.
|
Software Engineer 3 |
- Solid understanding of the product and ways that our customers use it. Evaluates scope to right-size a solution based on this understanding.
- Consistently delivers on time and on target, even on larger tasks when given a clear definition.
- Comfortable troubleshooting issues in their area of focus.
- Regularly participates in team-level planning and drives some team-level communication.
- Able to break down and estimate large initiatives.
- Writes code in a style consistent with the codebase, creates tests for their work.
- Participates in improving engineering best practices.
- During critical outages or high-impact issue investigations, participate in group calls if in your area of focus. Help come to a solution when it is in your area of expertise.
|
Communication and leadership
Software Engineer 1 |
- Effective in communicating status to the team. Raises blockers and possible change of deadlines.
- Exhibits Beyond’s core values and engineering principles. Focuses on understanding and living these values.
- Demonstrates interest and willingness to learn and try new things.
- Treats all feedback (positive and critical) as a gift. Continuously seeks feedback and areas to improve.
- Takes initiative to seek out opportunities to learn new skills.
- Asks for help when blocked (1 hour rule: try 1 hour to solve a problem, otherwise ask for help).
- Solicits feedback from others and is eager to find ways to improve.
- Forms working releationships with their team members.
|
Software Engineer 2 |
- Solicits feedback from others and is eager to find ways to improve.
- Finds the right balance between reaching out for help and finding answers autonomously.
- Communicates assumptions and gets clarification on tasks up front to minimize the need for rework.
- Creates PRs that clearly articulate why the change is being made and what impact it will have.
|
Software Engineer 3 |
- Gives timely, helpful feedback to peers and managers.
- Understands how their work fits into the larger project and identifies problems with requirements.
- Proactively and thoughtfully communicates with team in regards to questions, assumptions, blockers, and changes of estimated timeline.
- Participates in team events, both within engineering and the broader team at Beyond.
- Contributes to design docs and Tettra articles.
- During critical outages or when there is a high-impact issue, clearly communicate the status and high-level impact in the appropriate public channels for visibility and awareness.
|
Competencies focus
Software Engineer 1 | Software Engineer 2 | Software Engineer 3 |
- Career Development.
- Growth Mindset.
| - Deliver Results.
- Growth Mindset.
| - Deliver Results.
- Inclusion.
|
reference: Individual Contributor competencies (internal link)
Job Description (Internal links)
Software Engineer 1 | Software Engineer 2 | Software Engineer 3 |
WIP | | |
Checkpoints for reaching this level
Software Engineer 1 |
- Has learned CS fundamentals.
- Has become proficient in at least one modern frontend or backend language and framework.
|
Software Engineer 2 |
- Has owned development, deployment, and improvements of multiple product features.
- Has paired with teammates on a regular cadence (once every one or two weeks is recommended) for 12+ months.
- Has created Jira tasks to track their work.
|
Software Engineer 3 |
- Has owned development, deployment, and improvements of multiple product features.
- Has paired with teammates on a regular cadence (once every one or two weeks is recommended) for 12+ months.
- Has reviewed other engineers’ contributions through pairing or PRs weekly for 6+ months.
- Has broken a Jira epic down into smaller pieces.
|