Skip to content

guardian/engineering-performance-framework

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

99 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Engineering performance framework

This is the framework we use to assess the performance of engineers every 6 months. Much like the software we write, this framework will never be perfect or finished.

For each role it is split into the same 3 categories:

  • đźšš Delivery
  • ✨ Initiative & Influence.
  • 👩‍👨 People

Where the progression framework sets out high level expectations for a role, which may not be achievable every quarter, the performance framework details everyday behaviours:

  • Criteria labeled "Meets", we believe, contribute most to the department, and the expectation is that you consistently meet them
  • Criteria labeled "Exceeds", we believe, are behaviours which contribute towards you growing and developing within your role

Review

Every 6 months, at the end of Q1 and Q3, you and your manager will review your performance over the last 2 quarters using this framework.

During a performance review, each criteria within each category will be assessed as 'met' or 'not-met':

Taking an active role in your performance gives you the best chance of receiving a fair assessment and of getting the most out of your manager as they support your growth.

Roles

Individual Contributor
Engineering Management

See the following Indeed.com article for the difference between an "Individual Contributor" & "Engineering Management".

Salary bands

Salary bands for each role

Futher detail here (staff only).


Fellow and Associate Developer

đźšš Delivery

Meets CriteriaExceeds Criteria
  • Delivers small tasks independently.
  • Takes on bigger pieces of work with support.
  • Takes on PR feedback and improves their work.
  • Seeks advice from more senior engineers when they are blocked.
  • Shows awareness of data privacy or security concerns where relevant.
  • Reviews PRs with helpful comments.
  • Breaks down large problems into deliverable tasks.
  • Reliably delivers incremental changes with frequency.
  • Can work mostly independently and unblocks their work when necessary by proactively reaching out to stakeholders, gathering data or provoking decisions/discussions.
  • Provides delivery support to other engineers.

✨ Initiative and Influence

Meets CriteriaExceeds Criteria
  • Shares their work to the team or stream.
  • Seeks to actively understand what they are being asked to do.
  • Seeks to understand the why behind what they are being asked to do.
  • Actively explores new approaches in their own work.
  • Focuses their learning and development plans to align with team goals.
  • Uses data to help with their or their team’s decision-making
  • Takes opportunities to learn about wider department work through involvement in cross-team discussions or groups such as Accessibility Champions.

👩‍👨 People

Meets CriteriaExceeds Criteria
  • Proactively identifies opportunities to work with others.
  • Shows curiosity in others and their work.
  • Regularly collaborates with their team on their work.
  • Engages with departmental activities which uphold our departmental or engineering culture.
  • Gives useful feedback to their colleagues.

Software Developer

đźšš Delivery

Meets CriteriaExceeds Criteria
  • Provides delivery support to colleagues.
  • Breaks down large problems into deliverable tasks.
  • Delivers incremental changes frequently, reliably and with consistently good quality (e.g. readable code which adheres to team standards).
  • Takes responsibility for their code from local testing to supporting it in production.
  • Capable of independent delivery of most tasks.
  • Regularly reviews team PRs providing helpful comments (e.g. constructive criticism / alternative approaches).
  • Recognises when they’re near their limit and reaches out for help from others.
  • Identifies problems to solve and engages the team in scoping and prioritising their delivery.
  • Demonstrates they can work to external schedule constraints and call out potential issues during estimation.
  • Evaluates multiple options to solve technical problems (using data where relevant), and is trusted by the team to implement their recommended solution.
  • Occasionally reviews PRs in projects where they have less context (e.g. outside their immediate team or dormant projects) with the same consideration.
  • Helps to unblock their peers or shares responsibility for their tasks, in order to meet the team delivery goals.

✨ Initiative and Influence

Meets CriteriaExceeds Criteria
  • Aligns what they are working on to their team’s goals.
  • Regularly gives useful feedback to more senior colleagues.
  • Seeks to fully understand the end goal of the tasks they pick up, and is mindful of this throughout the delivery lifecycle.
  • Provides input into architectural design choices.
  • Regularly demos their work to the stream.
  • Uses relevant data and metrics to inform new ideas and make persuasive arguments.
  • Occasionally introduces new technical approaches, which are adopted by the team, and make the team more effective.
  • Regularly gives feedback to the team on improving their ways of working, and to team leads each quarter. Helps to implement some of these improvements by being an advocate for them.
  • Regularly demos their work to the team, stream or stakeholders, and contextualises the impact of that work.
  • Supports the team leads in making architectural design decisions (e.g. by writing options papers or architecture decision records).
  • Contributes towards maintaining code and product accessibility standards.
  • Represents the team in cross-team discussions and involves others when appropriate by sharing challenges and progress.

👩‍👨 People

Meets CriteriaExceeds Criteria
  • Engages with departmental activities which uphold our departmental or engineering culture.
  • Provides some mentoring or guidance to colleagues. This should not simply be contributing an opinion on a technical approach, but taking the time to introduce or improve someone’s working awareness of a topic in a supportive and encouraging way.
  • Demonstrates inclusive behaviours as part of their everyday work.
  • Regularly provides mentoring and guidance to colleagues.
  • Undertakes departmental activities which uphold or improve our engineering culture or inclusivity.

Senior Developer

đźšš Delivery

Meets CriteriaExceeds Criteria
  • Regularly takes on more difficult tasks which require input from other teams or disciplines.
  • Delivers reliably and with consistently good quality code (e.g. well tested and readable) which defines team standards.
  • Regularly reviews team PRs providing constructive comments, or suggested alternative approaches.
  • Uses relevant data and metrics to support team delivery.
  • Demonstrates working awareness that delivery goes beyond their individual contribution. (E.g. encourages others to improve their own delivery; manages dependencies on other projects and teams; balances short-term delivery with longer term objectives of own and other teams).
  • Committed to meeting their team’s objective and key results. (E.g. adapts delivery approach to meet the needs of the team, unblocks obstacles and supports the team in delivering its goals).
  • Communicates and documents their work thoroughly.
  • Plays a leading role in planning technical strategy for the team, or shaping the team’s delivery plans.
  • Makes their team successful in meeting their objectives and key results.
  • Balances risks to ensure team delivery.
  • Monitors system and delivery pipeline health to ensure quality of service and team productivity.
  • Brings the team or multiple teams together to maintain delivery pace and quality during periods of change and uncertainty.

✨ Initiative and Influence

Meets CriteriaExceeds Criteria
  • Drives work activities to meet team goals, helping to define tasks, business outcomes, technical quality & OKRs.
  • Helps keep the team focused on their long-term goals and values.
  • Gives regular feedback to the team and engineering manager and actively seeks to make improvements based on team and personal feedback.
  • Works with other engineers to determine the technical architecture within the stream.
  • Regularly involved in cross-team discussions and uses their experience to influence outcomes (e.g. communicates own team’s context to improve shared understanding.)
  • Introduces new technical approaches when appropriate, which are adopted by the team, and make the team more effective.
  • Demonstrably moves the team’s key result scores as a result of the work they undertake.
  • Demonstrates how the team can learn and improve from failures.
  • Always ensures plans and outcomes are well communicated to stakeholders and the wider business as appropriate.
  • Leads work with other teams to solve cross-team challenges. Understands concerns of other teams and works to balance delivery across boundaries in order to deliver the best outcome overall.
  • Is responsible for maintaining code and product accessibility standards.
  • Shares what they have learnt by tackling difficult technical and people problems.

👩‍👨 People

Meets CriteriaExceeds Criteria
  • Actively seeks to share knowledge with their colleagues, choosing communication method/styles that are appropriate to them and the situation.
  • Makes a positive contribution to the inclusivity, atmosphere or culture of the department.
  • Regularly advises or mentors others in a way that accelerates their personal development.
  • Seeks to share knowledge beyond their team where useful/relevant (e.g. delegates learning opportunities).
  • Consistently communicates the intention and outcomes from their work, leaving their work in a state where others can easily pick it up (e.g. produces well worded requirements, PRs, documentation, etc). Encourages this behaviour in others.
  • Engages with departmental activities which improve our company or engineering culture and inclusivity.
  • Coaches, mentors and supports their colleagues to perform better, share their opinions and insight, and be motivated by the work they undertake.
---

Staff Developer

đźšš Delivery

Meets CriteriaExceeds Criteria
  • Plays a strategic role in the stream’s technical decision-making.
  • Produces high quality code which defines stream standards, and inspires other engineers’ delivery.
  • Provides feedback on important PRs and team’s solution design sessions.
  • Balances short term goals and long term needs.
  • Focuses on high impact and high value work.
  • Demonstrates working awareness that delivery is more than just their individual contribution. (E.g. Promotes continuous improvement, delegates learning opportunities; encourages others to improve their own delivery; manages dependencies on other projects and teams).
  • Committed to meeting their team’s objective and key results.
  • Helps to unblock obstacles and supports the team in delivering its goals.
  • Staff Developers make successful delivery outcomes happen, for example by either:
    • Tech leading a significant engineering project which requires coordination with many other teams and disciplines within GNM.
    • Turning around the delivery trajectory of a struggling team.
    • Contributing to the department’s technical and organisational decision-making and strategy.

✨ Initiative and Influence

Meets CriteriaExceeds Criteria
  • Hosts department-wide forums where knowledge and experiences are shared.
  • Provides a solid voice of technical authority when there is uncertainty that’s stalling engineering progress.
  • Helps teams determine the right objectives and goals, and find an appropriate balance of health and maintenance alongside their delivery.
  • Helps teams find technical solutions that fit within the department’s vision and culture.
  • Demonstrates how the department can manage failure, fail fast, and learn and improve from such failures.
  • Champions Guardian P&E solutions, culture and values externally. For example by hosting external meet-ups, presenting at conferences, or writing blog posts.
  • Enables software to be produced that can be used by, or benefits external communities and is widely accessible.
  • Works to reduce the likelihood that we will encounter high risk technical problems.
  • Demonstrates deep engagement with and application of engineering or product data.

👩‍👨 People

Meets CriteriaExceeds Criteria
  • Constantly uses their knowledge and experience to raise the capabilities of their colleagues.
  • Leads by example with the quality of their communication through appropriate means (e.g. exemplary requirements, PRs, documentation and presentations that could be understood with little context in the future).
  • Embodies a culture of respect that influences team processes and promotes empowerment of others - leading to more effective decision-making.
  • Identifies potential structural improvements to knowledge sharing, communication or culture of the department and acts on this to deliver improvements across the department.
  • Coaches, mentors and supports all staff to perform better, share their opinions and insight, and be motivated by the work they undertake.

Principal Developer

đźšš Delivery

Core Criteria
  • Provides technical guidance and oversight to the multiple development teams in your stream.
  • Ensures sound technical architecture with technologies interoperating or connecting well to each other, enabling scale and flexibility to the business.
  • Fixes some issues when your help is requested or you see an organisational or technical value in resolving the problem.
  • Helps define and review stream teams’ Service Levels Objectives (SLO), contributing to streams teams’ backlog prioritisation strategies to match them.
  • Leads evaluation of new technologies and vendors, establishing key technical criterias for assessment, performing some of the technical assessments, and summarising clearly the benefits and drawbacks.

✨ Initiative and Influence

Core Criteria
  • Attends key meetings with Stakeholders and provide detailed technical views on the subject being discussed.
  • Advises, using data where relevant, on technical challenges and opportunities in conversations with Product Managers, sponsors and senior stakeholders.
  • Leads collaborative discussions about evolving best practices (such as accessibility standards), defining our engineering standards.
  • Seeks out systemic problems and opportunities, and presents proposals to the Head of Engineering on how to, respectively, remediate them and benefit from them.
  • Advises on new technology trials based on your previous experience, and mentor more junior developers in their technical discovery and technology intelligence.
  • Inspires action from colleagues and stakeholders.

👩‍👨 People

Core Criteria
  • Works with other Principal Engineers across the department to ensure their individual stream strategies align, and that common issues are resolved department wide and not stream-by-stream.
  • Shares knowledge across the department through technical presentations, writes articles, pairs with more junior colleagues, and other appropriate mechanisms.
  • Helps to investigate complex technical issues and provides guidance for more junior developers when dealing with an incident.
  • Mentors Tech Leads and provides guidance on subject architectural choices review and prioritisation of technical debt.

About

The Guardian Engineering performance framework

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Contributors 17