Skip to main content

Engineer_Design Career Ladders (FEB 2020)

Level Engineer I Engineer II Engineer III IV (Senior) V (Lead) Scope of Influence Self Project Project Team Team Practicing Skill Level Engineer Core Technical Competencies: Javascfipt, jQuery, Ruby on Rails, Node, React, PHP

Beginner -Demonstrates a proficient use of a competency, requires training to be able to apply without assistance or direction.

Intermediate - Demonstrates a functioning working competency and is effective without the need for direct support.

Advanced - Demonstrates an in- depth application of competency and is able to consult or lead others in their application of it.

Advanced - Demonstrates an in- depth application of competency and is able to consult or lead others in their application of it.

Expert - Demonstrates a mastery of competency and is recognized as an authority on the subject by peers and leaders. Mentors and develops junior engineers in core competencies.

Technical

Programming Competencies

Javascript - intermediate Javascript -

Intermediate

Javascript - Advanced Javascript - Advanced Javascript - Expert

Intermediate proficiency in at least one backend framework (Ruby on Rails / Node / Backend)

Ruby on Rails Intermediate

Ruby on Rails - Advanced

Ruby on Rails - Advanced

Ruby on Rails - Expert

React - novice React - Intermediate React - Advanced React - Advanced React - Expert

Server/Machine Administration

Maintains fully functioning local development environment and supporting services. Follows git practices.

Maintains fully functioning local development environment and is able to help debug staging and production server issues.

Maintains fully functioning local development environment and is able to help debug staging and production server issues.

Leads best practices in local, staging, and production server administration

Leads best practices in local, staging, and production server administration

Architectural Knowledge

Novice Intermediate Advanced Advanced Expert

Debugging

Able to effectively debug problems related to engineer's own code

Able to effectively debug problems in known areas of codebase.

Able to effectively debug code related to the team.

Able to effectively debug code across the codebase and help others.

Able to effectively debug code across the codebase and help others.

Code Writing

Writes maintainable, readable and intention revealing code. Basic understanding of common coding best practices (for example code formatting, source control usage, code modularity).

Writes maintainable, readable and intention revealing code. Participates in code reviews in timely manner.

Refactors existing code into maintainable and readable code. Responds to code reviews and suggests valuable improvements.

Leverages best practices and writes code that serves as an example to other developers. Advocates for establishing and following coding best practices team wide.

Leverages best practices and writes code that serves as an example to other developers. Advocates for establishing and following coding best practices team wide.

Development Process

Implements tasks as spec'd, asking questions as necesary. Follows review and QA process, and quickly iterates on feedback until deployment. Generally requires 3 or less iterations.

Implements tasks as spec'd, asking questions as necesary. Follows review and QA process, and quickly iterates on feedback until deployment. Generally requires 2 or less iterations.

Suggests improvements and clarifications on specs. Follows review and QA process, and quickly iterates on feedback until deployment. Generally requires 1 or less iterations.

Suggests improvements and clarifications on specs across team. Follows review and QA process, and quickly iterates on feedback until deployment. Generally requires 1 or less iterations.*

Assists in writing clear specs for team. Follows review and QA processes and suggests improvements as needed. Generally requires 1 or less iterations.*

Scope of Influence Responsible for

implementing and maintaining scoped product or system features.

Responsible for scoping and implementing individual-level technical solutions with minimal guidance.

Responsible for designing and implementing project- level technical solutions.

Responsible for driving technical solutions to strategic initiatives, taking complex requests as inputs and architecting them into simple solutions.

Responsible for designing and owning technical solutions for broad or complex requirements with insightful and strategic approaches.

Rabbit Holes Identifies rabbit holes

during development and notifies managers to help resolve.

Identifies rabbit holes during development and offers alternative solutions.

Identifies rabbit holes in spec docs, and proactively finds solutions to avoid them during development.

Identifies rabbit holes in spec docs, and proactively finds solutions to avoid them during development.

Identifies rabbit holes in spec docs across the team, and proactively finds solutions to avoid them during development. Communication

Level Engineer I Engineer II Engineer III IV (Senior) V (Lead) Activities Communicates their

individual work. Asks for guidance when necessary and confirms understanding of problems and/or next steps and follows up if necessary. Pushes code to QA in timely manner and communicates thoroughly with team until project is live.

Initiates conversations to get the support/clarity necessary to carryout a task.

Communicates decisions through technical design artifacts, tech talks, and leading team meetings. Mentors junior engineers via pairing, technical design review, and code review. Effectively communicates with a cross-functional audience.

Initiates and facilitates meaningful discussions around complex issues. Identifies and proposes strategies around technical problems affecting their team, communicates standards and gets buy- in on solutions.

Initiates and facilitates meaningful discussions around complex issues. Identifies and proposes strategies around technical problems affecting their team, communicates standards and gets buy-in on solutions. Can navigate moderate, ambiguous problems with ease. Sought as an advisor for complex problems. Effective in balancing business and engineering needs to prioritize tasks. Leadership Activities Communicates with

their manager or team if they need clarification or disagree on a plan.

Identifies opportunities to help teammates in achieving team goals. Prioritizes work within team in alignment with strategic initiatives and company goals.

Considers the effects of their work across multiple teams and proactively manages potential issues. Identifies team-impacting problems, suggests solutions, and drives resolutions. Mentors junior engineers both technically and culturally

Can interpret, add to, and execute against cross-functional plans. Participates in initiatives and leads meetings within the team and functional area. Motivates teammates to achieve a higher level of performance.

Leads by example with a passion for collaborative engineering. Leads initiatives and meetings within the team and functional area. Proactively identifies and addresses potential roadblocks before they impact the team. Team Leader with ability of developing and retaining talent. Provides fair, candid and motivating feedback to reports. Garners resources for the team to complete its work. Collaboration Asks questions, pair-

programs often with peers and finds mentor (s) to develop skills. Helps onboard and train newer engineers.

Asks questions, pair- programs with peers and finds mentor(s) to develop skills. Helps onboard and train newer engineers.

Leads pair-programs and helps develop skillset of team. Helps onboard and train newer engineers.

Willing and able to onboard, teach, and pair with engineers to collaboratively raise knowledge and effectiveness of team.

Willing and able to onboard, teach, and pair with engineers to collaboratively raise knowledge and effectiveness of team.

Typical Years of Experience

0-3 2-8 3-8 4-10 5-10