You will progress through these bands by demonstrating your skills and key behaviours against a matrix of skills across a range of technical, architectural, and people/leadership competencies. It is a well defined process based on self-evaluation, mentor support, and review from a principal engineer.
A graduate engineer is someone who has just graduated from a technical degree or boot camp. An engineer in this grade should focus 100% of their time on learning and growing. At this grade an engineer is not expected to provide ‘positive value’ - they will require significant investment from other engineers to be productive. An engineer should not be in this grade for more than 6 months.
An associate engineer is an engineer early in their career. They are expected to provide positive value but will still require assistance from more experienced engineers on a regular basis. An associate engineer should be trusted with simple, well explained tasks and should be focusing on feedback and learning as much as possible.
The engineer grade is used for engineers who have enough experience and skill in relevant languages and frameworks to deliver features without requiring significant assistance from more experienced engineers. An engineer is expected to help other members of their team grow and deliver value. An engineer should be starting to take leadership roles within their team.
A senior engineer is an engineer with significant experience in relevant languages and frameworks. While a senior engineer is an individual contributor role, a senior engineer is expected to take significant steps to help other members of their team to grow and improve. A senior engineer is expected to not simply deliver code but also to take ownership of process and team improvements which expand the team’s capacity for delivering value to our customers. A senior engineer is expected to take leadership roles in their team but, outside of 1:1s, is not expected to take any management responsibilities.
A system engineer is our highest level of individual contributor. These individuals are expected to own significant aspects of the overall architecture or have advanced level knowledge of specific frameworks or languages. Like a senior engineer, a system engineer is expected to provide mentorship and leadership to their team.
A principal engineer is a light-management role. They are responsible for one or more teams and the career-growth and happiness of the engineers on those teams. A principal engineer should be delegating most of the day to day leadership of their teams to a senior or system engineer on each team. A principal engineer should have an influence on the architecture, development processes and delivery but the overall ownership must belong to the teams.