Engineering competencies v2: a new suite of competencies are now available, view them here or read the FAQ to understand more about this change.

Senior Engineer 1

The competencies for Senior Engineer 1 in Engineering (Legacy) are outlined below. Before reviewing them, it is helpful to review how to use these competencies.

These are legacy competencies, please check the competencies overview page for more information

Technical

Builds products ensuring they take adequate steps to protect sensitive data

Examples:

  • Databases have encryption at rest
  • Sensitive data is masked or in restricted indexes in Splunk
  • Data is retained only for as long as it is needed
  • Dummy/fictional data is used in staging environments and in tests
  • Suppliers don't get access to data unless they have gone through the Procurement Management Application process

Proficiency: Working knowledge

Implements appropriate observability and monitoring when building a solution

Examples:

  • When adding a new dependency to a system, adds a healthcheck to monitor the dependency's state
  • Adds logging that is well-structured and captures useful information about the state of a system
  • Builds a Grafana dashboard that visualises normal and abnormal operation of a system

Proficiency: Working knowledge

Evaluates third-party software to use in projects

Examples:

  • Can choose between similar Node libraries evaluating code quality, ease of integration, future maintenance, and security concerns
  • May be involved in evaluating paid-for third party supplier code

Proficiency: Working knowledge

Leads on fixing live incidents in production

Examples:

  • Takes proactive action when an incident is reported on a system they support and resolves it satisfactorily
  • Responds to critical issues raised in #ft-tech-incidents taking the initiative to fix them and reports back

Proficiency: Working knowledge

Understands the security attack vectors for their area of technology and mitigates against them

Examples:

  • Uses Snyk.io on projects
  • Sanitises user input to mitigate against XSS attacks
  • Applies security patches to an operating system
  • Protecting public API endpoints
  • Articulates security risks/benefits when evaluating third party software
  • Uses Fastly WAF to protect from malicious requests

Proficiency: Working knowledge

Makes pragmatic decisions about technical trade-offs within their project

Examples:

  • Knows when to stop work on a feature that has fulfilled the requirements vs. spending an extra week on making it perfect but delivering little additional value
  • When pressed for time, focuses on ensuring test coverage of the most critical system functionality
  • Manages technical debt, understands consequences of technical debt vs the cost of fixing it and acts accordingly
  • Can explain when something is worth refactoring even when it will impact the speed of delivery

Proficiency: Working knowledge

Delivers high quality code and solutions

Examples:

  • Refactors solutions to improve clarity and maintainability

Proficiency: Working knowledge

Encourages others to deliver high quality code and solutions

Examples:

  • Implements tooling to enforce high standards
  • Reviews pull requests fairly & critically in such away that team members produce better code

Proficiency: Working knowledge

Regularly and independently debugs and fixes bugs regardless of origin

Examples:

  • Picks up and debugs an urgent issue that comes in to the team, despite having not written the code originally

Proficiency: Working knowledge

Builds software or services considering resilience, performance and failure modes

Examples:

  • Combines multiple data sources in a feature, caching, polling etc as appropriate to cope with problems in downstream services
  • Adds healthchecks to a system that detect different ways in which it can fail

Proficiency: Working knowledge

Chooses the appropriate tool, technology or software for a task

Examples:

  • If starting a new project, uses tools already understood by the team unless there is an agreed good reason to change

Proficiency: Working knowledge

Builds and works with systems involving multiple, independent technical parts

Examples:

  • Adds data sources to or optimises performance of a data pipeline
  • Publishes a new origami component that uses other components
  • Implements a CDN / gateway that routes to a suite of underlying microservices
  • Designs and implements a build pipeline

Proficiency: Working knowledge

Considers the technical direction of their group or the wider department when coming up with technical solutions

Examples:

  • Understands how their work feeds into their group's tech strategy
  • Can articulate and justify the total cost of ownership of their technical solutions
  • Follows their group's Engineering Principles when building technical solutions

Proficiency: Working knowledge

Communication

Communicates technical concepts clearly and adapts that communication to the audience

Examples:

  • Explains their work in standups knowing which technical details to leave out to make the message meaningful to everyone in the room
  • Teaches more junior engineers
  • Creates diagrams to document how the different parts of systems interact
  • Presents their own work clearly to stakeholders

Proficiency: Working knowledge

Facilitates productive discussions with clear outcomes

Examples:

  • Runs meetings with clear agendas and outcomes
  • Obtains wide feedback on technical proposals and takes ownership of seeing it through

Proficiency: Working knowledge

Contributes to hiring process

Examples:

  • Participates in hiring panels or technical interviews
  • Attends recruitment events
  • Publicly shares links to open roles
  • Goes for coffee with potential hires to talk about what working at the Financial Times is like
  • Shares our work publicly, (through blogging, speaking, etc) to show the kinds of work we do here
  • Reviews CVs
  • Reviews tech tests

Proficiency: Working knowledge

Delivery

Prioritises technical work for the team (usually with others)

Proficiency: Working knowledge

Breaks down large complex technical proposals into discrete tasks

Examples:

  • Creates the user stories for the ticket with a delivery lead

Proficiency: Working knowledge

Communicates team/work’s status upwards to a Principal or Technical Director

Proficiency: Working knowledge

Where appropriate, builds on other teams’ work to solve problems

Examples:

  • Uses origami components to style a web page
  • Uses Biz Ops as a source of system data rather than creating a new system registry

Proficiency: Working knowledge

Moves blockers to enable more junior engineers to work

Examples:

  • Reviews pull requests
  • Suggests someone to talk to eg “[X] knows the most about [technology Y], you could ask them”

Proficiency: Working knowledge

Tackles simple cross team technical issues

Examples:

  • Notices a tool used by lots of teams has broken, identifies the problem and fixes (or reports it to the owner of the tool)

Proficiency: Working knowledge

Actively seeks the views of other teams to help guide work

Examples:

  • Attends cross team meetings
  • Asks other teams for input and opinions on decisions that affect them

Proficiency: Working knowledge

Improves delivery process and encourages others to do the same

Examples:

  • Updates the scrum process to fit the changing needs of the team
  • Champions technical issues that affect delivery such as release cycles, dealing with tech debt and bug fixes
  • Encourages other engineers to participate in agile team rituals

Proficiency: Working knowledge

Manages, prioritises and communicates own workload

Proficiency: Working knowledge

Leadership

Influences a community of practice

Examples:

  • Is an active member of a Guild
  • Answers questions in the #engineering Slack channel
  • Gives a tech talk (internally or externally)
  • Writes a blog post
  • Shares industry relevant content/links with team members that may be interested

Proficiency: Working knowledge

Is an ambassador for their team across FT technology

Examples:

  • Positively represents their team in interactions with other people by seeking to understand their perspectives, values and needs
  • Consistently contributes to their team being positively perceived by stakeholders (or by other engineering teams to which they provide support)

Proficiency: Working knowledge

Contributes to the personal development of more junior people

Examples:

  • Is a line manager or mentor
  • Is a designated buddy to a new starter
  • Regularly meets up with more junior peers to provide guidance
  • Pairs with more junior team members
  • Writes blog posts to share knowledge
  • Gives talks at meet-ups or conferences to share knowledge

Proficiency: Working knowledge

Shows technical leadership

Examples:

  • Is a tech lead
  • Runs, or is on the organising team for a Guild
  • Leads on large features, stories or projects

Proficiency: Working knowledge

Shares knowledge with others internally

Examples:

  • Gives a workshop on Git
  • Runs a regular 101 session for the rest of the business
  • More informal knowledge sharing through mentorship

Proficiency: Working knowledge

Actively fosters an inclusive team culture

Examples:

  • Celebrates good work publicly and encourages the team to do the same
  • Spots problems between team members and helps to resolve them or escalate them as appropriate
  • Models inclusive behaviour to the rest of the team

Proficiency: Working knowledge