← Role Archetypes
Individual Contributor Track

Senior Software Engineer

SFIA 4-5
GE JSE ISE SSE
TTL EM
LSE Arch
HoE VP

Owning complex technical deliverables, setting the quality bar for the team, shaping technical direction, and developing the engineers around them.

Overview

As a Senior Software Engineer, you are a technical authority within your team. You own complex, high-impact deliverables and take meaningful responsibility for the technical quality and direction of the work your team produces. You are expected to lead by example - writing excellent code, setting standards through your reviews, and making architectural decisions that others can build on confidently.

Beyond your own delivery, you actively develop the engineers around you. Mentoring is not optional at this level - it is a core expectation. You are also a bridge between engineering and wider stakeholders, translating technical context clearly and representing your team's perspective in cross-functional conversations.

Key Responsibilities

Technical Leadership

  • Own complex, ambiguous technical problems and drive them to resolution.
  • Make architectural and design decisions within your domain with confidence and clear reasoning.
  • Set the technical quality bar for the team through your code, your reviews, and your standards.
  • Define and document technical approaches that others can follow and build on.

Delivery Ownership

  • Deliver large or high-complexity features end-to-end, including cross-system impact assessment.
  • Break down complex work into well-scoped, deliverable chunks for yourself and the team.
  • Identify and manage technical risk within delivery, escalating where appropriate.
  • Contribute to sprint planning and estimation at a level that improves the team's accuracy.

Engineering Excellence

  • Lead by example on code quality, testing discipline, and engineering practices.
  • Identify and drive resolution of significant technical debt that affects the team's velocity or reliability.
  • Champion standards and practices across the team, raising the floor for everyone.
  • Contribute to internal engineering communities and knowledge-sharing beyond your immediate team.

People Development

  • Actively mentor intermediate and junior engineers through pairing, review, and structured feedback.
  • Support the growth of engineers around you - identifying strengths, gaps, and opportunities.
  • Contribute to a team culture of learning, quality, and psychological safety.
Role Specific

Architectural Input

Contribute meaningfully to system and service-level architectural decisions, with the ability to own and document technical proposals that have team-wide or cross-team impact.

Technical Risk Management

Identify technical risks before they become delivery problems - raising concerns early, proposing mitigations, and escalating where needed.

Mentoring

Provide structured, consistent mentoring to more junior engineers - through pairing, code review, design feedback, and direct development conversations.

Cross-Team Collaboration

Engage effectively with engineers and stakeholders across teams, representing your team's technical perspective clearly and constructively.

Behaviours

Technical Excellence

  • Produces code and designs that serve as the benchmark for the team - clean, well-structured, and idiomatic to the language and ecosystem in use.
  • Spots issues in design and implementation that others miss, and raises them constructively with reasoned alternatives.
  • Drives quality with conviction without being rigid or dismissive of pragmatic trade-offs.
  • Evaluates technical trade-offs explicitly, documenting reasoning in design proposals or architecture decision records.
  • Proactively identifies opportunities to improve system performance, reliability, or maintainability rather than waiting for problems to surface.
  • Demonstrates awareness of emerging technologies and assesses their relevance to current problems with clear judgement.
  • Applies security-conscious thinking throughout design and implementation, treating it as a first-class concern rather than a retrofit.
  • Understands system behaviour under load and failure, and designs for resilience from the outset rather than as an afterthought.

Delivery & Ownership

  • Takes full ownership of complex work from inception to production - not just the technically interesting parts.
  • Does not wait to be told what to do - identifies what needs to happen and makes it happen.
  • Holds themselves accountable to the team's commitments and delivery standards.
  • Manages their own time and commitments reliably, flagging risk early when scope or estimates shift.
  • Breaks down large deliverables into well-scoped increments that reduce risk and enable team parallelism.
  • Identifies upstream and downstream dependencies early and coordinates across them proactively rather than discovering them mid-sprint.
  • Tracks the health of their delivery area and raises concerns before they become incidents or missed commitments.
  • Follows through after code is merged - monitoring, validating, and iterating based on production behaviour.

Quality & Craft

  • Writes tests as a natural part of development, covering unit, integration, and edge cases without prompting.
  • Conducts code reviews that are constructive, specific, and focused on the right level of concern for the context.
  • Applies consistent standards to their own work without needing external enforcement or reminders.
  • Drives down technical debt systematically, proposing and executing improvement work alongside delivery commitments.
  • Champions agreed engineering practices within the team and raises it constructively when standards are being eroded.
  • Produces documentation that is genuinely useful - clear, accurate, and kept current as systems evolve.
  • Treats non-functional requirements - performance, security, and observability - as first-class delivery concerns.
  • Demonstrates continuous improvement in their own craft through deliberate learning, experimentation, and honest self-reflection.

Communication & Influence

  • Communicates technical context clearly to both technical and non-technical audiences, adjusting their style and level of detail appropriately.
  • Writes technical proposals and design documents that are well-reasoned, concise, and actionable by the reader.
  • Provides feedback in reviews and discussions that is direct, respectful, and oriented towards improvement rather than criticism.
  • Represents the team's technical perspective in cross-functional forums with confidence and clarity.
  • Raises concerns and disagreements constructively - with evidence, context, and alternative proposals rather than just objections.
  • Listens actively in technical discussions, genuinely integrating others' perspectives before forming conclusions.
  • Surfaces technical context that product and delivery stakeholders need in order to make well-informed decisions.
  • Builds credibility through consistent delivery and thoughtful communication, not through assertion of seniority or volume of opinion.

Developing Others

  • Invests genuinely in the growth of junior engineers - not just when it is convenient or low-effort.
  • Gives feedback that is specific, honest, and constructive rather than vague, softened, or purely flattering.
  • Creates learning opportunities through how they work - pairing, design walkthroughs, and review conversations.
  • Identifies growth opportunities for engineers around them and actively creates space for those opportunities within delivery.
  • Models the behaviours and standards they expect from others, consistently and visibly rather than only in formal settings.
  • Creates psychological safety in technical discussions, making it genuinely safe for others to ask questions and share half-formed ideas.
  • Supports onboarding of new team members with patience, structure, and deliberate context-sharing.
  • Notices when engineers are struggling and takes action - whether through direct support, adjusted pairing, or a conversation with leadership.

Strategic Thinking

  • Considers the longer-term implications of technical decisions rather than optimising only for the immediate solution.
  • Understands the business and product context their work sits within, using that understanding to prioritise and sequence effectively.
  • Identifies systemic patterns in technical problems rather than addressing each instance individually and in isolation.
  • Contributes to architectural direction beyond their immediate feature area, thinking at service and system level.
  • Anticipates how current decisions will constrain or enable future work, and advocates for the right trade-offs accordingly.
  • Evaluates new tools, languages, and approaches with a critical eye for organisational fit and long-term value - not just technical novelty.
  • Connects engineering quality to business outcomes, articulating clearly why technical investment matters in language stakeholders understand.
  • Raises strategic concerns early rather than retrospectively, when options are still open and trade-offs are still navigable.

Collaboration

  • Works effectively across team boundaries - sharing context, aligning on approaches, and actively avoiding duplication of effort.
  • Builds strong working relationships with engineers, product managers, and delivery leads within and adjacent to their team.
  • Engages constructively in technical disagreements, prioritising the best outcome over being right.
  • Contributes to a team culture where knowledge is shared openly and no individual is a single point of failure.
  • Adapts their working style to the needs of their collaborators rather than defaulting solely to their own preferences.
  • Participates actively in engineering communities and cross-team forums, contributing substance rather than just attendance.
  • Seeks out diverse perspectives when making significant technical decisions, especially when their own assumptions are likely to be narrow.
  • Follows through on commitments made to other teams and stakeholders, communicating proactively when circumstances change.

Engineering Practice

  • Follows and champions agreed development practices - branching strategy, CI/CD, review processes, and deployment standards.
  • Actively contributes to improving team-level engineering practices through retrospectives, proposals, and direct experimentation.
  • Maintains a working awareness of the operational health of systems they own or regularly contribute to.
  • Participates in on-call or incident response with professionalism, using each event as a learning opportunity.
  • Contributes to post-incident reviews with thoughtful analysis and specific, actionable recommendations.
  • Applies observability practices consistently - meaningful logging, well-defined metrics, and distributed tracing as standard.
  • Keeps dependencies, tooling, and libraries current as part of ongoing delivery work rather than treating it as a separate periodic initiative.
  • Treats the developer experience of systems they own - APIs, libraries, internal tooling - as a legitimate and important quality concern.
Skills
Deep expertise in the team's primary languages and at least one specialist area (e.g. performance, security, data, distributed systems).
Ability to design and evaluate service-level and cross-service architecture with clear trade-off reasoning.
Strong experience with complex automated test strategies including contract and end-to-end testing.
Proven mentoring ability with demonstrable impact on the engineers they have supported.
Strong written communication - technical proposals, architecture decision records, engineering blog posts.