Expected Functional Ability

Features & bugs Codebases & frameworks Programming languages Theoretical knowledge
Junior Engineer Can build basic features, requires assistance Works in other codebases using similar technologies Be comfortable with at least one programming language Basic understanding of software practices and design principles
Engineer Only the most complex bugs or features require assistance from others Can work in other codebases using different frameworks and styles Occasionally uses multiple programming languages Good understanding of software practices and design principles. Can explain to others
Senior Engineer Can handle most complex bugs and features. Understands the impact of their work on teams in other departments. Can quickly debug problems on production systems Has deep knowledge of multiple codebases with a variety frameworks and styles. Strong awareness of available technologies (e.g. AWS) Can work in multiple languages to rarely have dependencies on others when building features that span multiple stacks Has strong understanding of and applies software practices and design principles. System design considers appropriate level of resiliency
Staff Engineer Uses abstraction to solve common problems and improve efficiency throughout department Has significant influence on codebases using a variety of frameworks and styles. Able to quickly familiarize themselves with most codebases in the company Works on multiple languages and stacks to achieve results. Ensures language choices consider long-term implications to the company Teaches others in the company of software practices and design principles. Understands and teaches how to build resilient systems
Principal Engineer Uses abstraction to solve common problems and improve efficiency throughout the company Able and willing to operate in most codebases within the company to achieve results Ensures consistency that will benefit a the company in the long term Introduces and applies new practices and principles to the company. Creates culture of resiliency
Distinguished Engineer Ensures common standards across Scout Theoretical knowledge used to improve Scout products and people. Improves the resiliency of the company