← Role Archetypes
Individual Contributor Track

Graduate Engineer

SFIA 1-2
GE JSE ISE SSE
TTL EM
LSE Arch
HoE VP

Building foundational engineering skills and professional habits under close guidance, with a focus on learning, delivery, and growing into independent contribution.

Overview

As a Graduate Engineer, you are at the start of your engineering career. Your primary objective is to learn - the codebase, the tools, the team's ways of working, and the craft of engineering itself. You work under close guidance from senior engineers and your Technical Team Lead, delivering small, well-defined tasks and building the habits that will underpin your career.

You are not expected to work independently on complex problems yet. You are expected to ask questions, absorb feedback, apply it consistently, and demonstrate growing capability over time. The most important behaviours at this level are curiosity, openness, and reliability.

Key Responsibilities

Learning and Development

  • Actively engage with onboarding materials, internal documentation, and technical learning resources.
  • Pair regularly with senior engineers to build understanding of the codebase and engineering practices.
  • Seek feedback proactively and apply it to your work.
  • Build familiarity with the team's tools, processes, and standards.

Delivery

  • Deliver small, clearly scoped tasks with close guidance from a senior engineer or TTL.
  • Write code that meets the team's quality and style standards with appropriate support.
  • Participate in code reviews - both receiving feedback and beginning to review others' work with guidance.
  • Raise blockers quickly rather than remaining stuck independently.

Collaboration

  • Contribute actively in team ceremonies - stand-ups, retrospectives, planning sessions.
  • Build positive working relationships with teammates and colleagues.
  • Communicate progress, questions, and blockers clearly and promptly.
Role Specific

Technical Learning

Build working knowledge of the team's primary languages, frameworks, and tooling through paired delivery and structured learning.

Quality Awareness

Develop an understanding of what "good" looks like - clean code, tested code, clear commits - by working alongside experienced engineers.

Process Participation

Engage fully in team ceremonies and delivery processes, building awareness of how engineering teams organise and execute work.

Behaviours

Learning & Growth

  • Approaches every task as an opportunity to learn, not just to complete.
  • Asks questions without hesitation and seeks to understand the "why" behind decisions.
  • Applies feedback consistently and tracks personal development over time.
  • Reads widely - documentation, code, articles - to build context and understanding.
  • Reflects regularly on their own progress, identifying gaps and discussing them with their TTL or mentor.
  • Shows willingness to learn from mistakes without defensiveness, treating them as development opportunities.
  • Seeks out pairing and shadowing opportunities proactively rather than waiting to be invited.

Delivery

  • Completes assigned tasks reliably within agreed timeframes with close guidance.
  • Raises blockers early rather than pushing through silently.
  • Takes quality seriously from the start, even on small pieces of work.
  • Follows the agreed development workflow - branching, committing, opening PRs - consistently and correctly.
  • Responds to review feedback promptly and addresses it thoroughly before requesting re-review.
  • Keeps task status up to date in the team's tracking tools so the team has an accurate picture of progress.
  • Makes incremental, reviewable commits with clear messages that describe what changed and why.

Quality & Craft

  • Writes code that is readable and follows the team's style conventions with support from a senior engineer.
  • Begins writing basic unit tests for their own changes, guided by a more experienced colleague.
  • Reads and understands test coverage for the areas they are working in, asking questions about gaps.
  • Follows the team's definition of done and checks their own work against it before requesting review.
  • Avoids submitting code with known issues or unresolved TODO comments without prior discussion.
  • Develops an awareness of technical debt and flags it when encountered, even if not yet expected to resolve it.
  • Learns what good code review feedback looks like by observing and receiving it consistently.

Communication

  • Provides clear, concise updates in stand-ups - what they worked on, what they plan to do, what is blocking them.
  • Writes commit messages and PR descriptions that give reviewers enough context to understand the changes.
  • Asks questions in writing when appropriate so that the answer can benefit the wider team.
  • Communicates learning needs honestly with their TTL and mentor.
  • Responds to messages and review comments promptly during working hours.
  • Summarises their understanding when given verbal instructions to confirm correct interpretation.
  • Escalates concerns about timelines or quality to their TTL early rather than hoping the problem resolves itself.

Collaboration

  • Contributes positively to team energy and culture.
  • Communicates openly and asks for help when needed.
  • Respects the expertise of more experienced colleagues while building their own voice.
  • Participates actively in stand-ups, retrospectives, planning sessions, and team discussions.
  • Pairs with senior engineers willingly and engages during sessions rather than passively observing.
  • Offers help to teammates when capacity allows, even in small ways such as checking a PR or sharing something recently learned.
  • Respects agreed team norms around working hours, communication channels, and collaboration tools.

Ownership

  • Takes responsibility for completing tasks they have committed to, rather than waiting to be chased.
  • Follows through on review actions and does not consider a task done until it has met all agreed criteria.
  • Flags uncertainty about a requirement or approach rather than making an assumption that leads to rework.
  • Keeps their own task board updated so the team always has an accurate picture of progress.
  • Owns their learning plan and does not wait for opportunities to be handed to them.
  • Acknowledges mistakes openly, explains what happened, and focuses on what they will do differently next time.
  • Takes the initiative to read relevant documentation before asking a question that is already answered.

Technical Foundation

  • Develops working knowledge of the team's primary programming language and applies it in delivered tasks.
  • Uses Git competently for branching, committing, and raising pull requests as part of everyday work.
  • Reads and navigates the existing codebase to understand context before making changes.
  • Begins to understand the team's testing approach and why automated tests matter.
  • Learns the team's deployment and release process at a conceptual level.
  • Builds familiarity with the team's development environment, tooling, and local setup.
  • Understands the basic architecture of the system they are working in well enough to make safe, localised changes.
Skills
Foundational knowledge of at least one primary programming language used by the team.
Basic understanding of version control (Git) and development workflows.
Ability to read and understand existing code with guidance.
Growing familiarity with automated testing principles.
Clear written and verbal communication skills.