Software Engineer I
Level 1 Software Engineers continue to develop their technical and professional expertise, including understanding enough to identify what they don’t know. Engineers at this level are still committed to building a broad portfolio of skills, increasing their mastery of current skills.
Typical Years of Prior Experience: 1-2
Salary Band: $80,000 – $100,000
Responsibilities & Impact
- Contributes to client projects in a net-positive way, more steps forward than backward
- Pairs with more experienced team members to continue building foundational technical skills
- Collaborates actively with team members from all disciplines, including design, product, and client engagement.
- Seeks feedback and gets work reviewed by colleagues to gain more advanced knowledge
- Guides any apprentices through the apprenticeship journey, leveraging their own early-career experience
- Seeks out and owns light interactions with clients (e.g. delivering updates in standup or Slack and gathering or documenting requirements)
- Completes work according to task prioritization
Technical Skills
- Works on low complexity features, such as those requiring new implementations of existing patterns or minor improvements to existing architecture in a single layer of the application, such as the UI or API or database. They can complete this work independently if necessary, with minimal rework
- Effectively debugs low complexity issues in the code using a systematic approach independently. Low complexity issues are those where it’s clear what remediation steps are required from the acceptance criteria.
- Effectively debugs medium complexity issues in the code using a systematic approach, with some coaching and pairing assistance from other team members. Medium complexity issues are those where the remediation steps require more investigation, but do not require large refactors or multi-level system changes.
- Consistently delivers code with test coverage for some of the primary functionality, focusing on essential behavior, with some coaching and pairing assistance from other team members
- Delivers code with error handling for critical errors in integral parts of application functionality, with some coaching and pairing assistance from other team members
- Demonstrates proficiency in at least one language and framework with foundational knowledge of another as well (example: proficient with Ruby and Ruby on Rails and has foundational knowledge of JavaScript and React)
- Applies some of the best practices of their 2 main languages/frameworks and consistently delivers code that follows those best practices, with some coaching and pairing assistance from other team members
- Provides high-level documentation for their work most of the time, including PR descriptions, commit messages, README updates, or content in the project management tool, with some coaching and pairing assistance from other team members
- Communicates their opinions on technical matters and can explain the justifications behind their implementation decisions, even if they are founded in personal preference
Professional & Consulting Skills
- Communicates assumptions and asks clarifying questions about tasks up front to minimize the need for rework
- Asks questions to discover edge cases and identify product and/or technical concerns before implementation work starts on a feature, with some coaching and pairing assistance from other team members
- Asks questions about timeline or budget when talking about requested changes with the team, with some coaching and pairing assistance from other team members
- Seeks out and acts on feedback from peers both on technical and professional/consulting topics
- Understands business requirements and translates them into data models at the logical level, if not the technical level, with some coaching and pairing assistance from other team members
- Produces realistic estimates for their individual scope of work at the task level, with some coaching and pairing assistance from other team members
- Understands trade-offs in decision making and seeks support in applying this type of thinking to their work, with some coaching and pairing assistance from other team members
- Navigates project management tools and writes user stories and other documentation, with some coaching and pairing assistance from other team members
- Contributes their technical and consulting opinions in client and internal meetings, with some coaching and pairing assistance from other team members



