Full Stack Software Engineer

Full Stack Software Engineer

Full-Time 63000 - 77000 Β£ / year (est.) Home office (partial)
W

At a Glance

  • Tasks: Design and build innovative software products using AI tools and cutting-edge technologies.
  • Company: Join Apple, a leader in tech innovation with a collaborative culture.
  • Benefits: Enjoy competitive salary, health benefits, remote work options, and growth opportunities.
  • Other info: Dynamic team environment with excellent career advancement potential.
  • Why this job: Make a real impact by creating user-friendly interfaces and robust backend systems.
  • Qualifications: Experience with AI coding assistants and strong software development skills required.

The predicted salary is between 63000 - 77000 Β£ per year.

Imagine what you could do here! At Apple, new ideas have a way of becoming extraordinary products, services, and experiences very quickly. Our team builds platforms that engineering teams across Apple Services Engineering depend on. When we get it right, complicated work becomes simpler and faster, and the platform itself gets out of the way. With the advent of artificial intelligence, the way software gets built has changed, and this role is written for this new era of AI-assisted engineering.

We are looking for an engineer who is, at heart, a builder who works fluently with agentic AI coding assistants. Someone who is equally at home crafting a refined React user interface and designing the distributed Java services and data flows behind it. AI tools have made producing code far faster; they have not made it any more trustworthy. Driving generated code to the point where it can be trusted to meet the requirements is the part of the job we weigh most heavily. If you care about elegant systems as much as elegant code, and you have already reorganised your own software development workflows around AI tools, we would like to hear from you.

You will design, build, and evolve software products, services, and tools in the Solutions Platforms and Architecture team. The work spans the full stack: the user interfaces engineers use, the services and API contracts behind them, and the pipelines that carry all of it into production. You will own features from problem definition and technical design through implementation, deployment, adoption, and continuous improvement. We care deeply about the experience of the people who use what we build. We think in systems: how components fit together, where the right abstractions belong, and how today's decisions shape tomorrow's roadmap. You will bring that same user-first instinct to interfaces and APIs that are a delight to use and to integrate with.

The systems underneath are large-scale and distributed, and one of the real challenges of this role lives there. Services fail partially, writes arrive out of order, and state is often eventually consistent - and every one of those facts surfaces at the edge, whether that edge is a person watching a browser or another system calling our API. You will handle that complexity end to end: designing services that stay correct under concurrency, and deciding what a caller sees in the meantime - how the interface behaves when an optimistic update has to be reconciled or rolled back, and what guarantees the API contract provides to a client that retries.

Working with AI runs through all of that, and using agentic AI well is a fundamental expectation of this role. We expect you to use the latest frontier models and AI best practices so that you can leverage AI to amplify the entire software development lifecycle, including interactive planning, architecture, design, product requirements, product user stories, test plans, TDD code generation, iterative code review and refinement, pull request reviews, diagnostics, and performance analysis. You will seek out review of your own work and give candid feedback on your colleagues' work - including when the honest answer is that something is not yet good enough. You will discuss implementation proposals with the team, argue for the approach you believe in, and commit fully to the decision that gets made.

Testing is a primary engineering activity here, not a step at the end. You will design unit, integration, and end-to-end coverage that gives the team genuine confidence to release, and build the CI/CD pipelines and scripting that run it continuously. You will gather requirements from stakeholders and turn them into a plan - including when the requirements arrive incomplete. Naming what is still unknown and moving forward anyway is part of the job, and you will correct course as things become clear rather than wait for certainty. You will participate in production releases, coordinate deployments, communicate with customers and stakeholders, support users of our team's software, and act on reliability improvements when you spot the opportunity. This work depends on close collaboration within our team and with the teams we support, so the role asks for curiosity, communication, and ownership alongside strong engineering judgment.

Minimum Qualifications

  • Experience in using agentic AI coding assistants, Claude Code or equivalent, as a primary development tool: engineering the LLM context, structuring effective prompts, building reusable agents and agent skills, planning through interactive discussion with the model, and carrying a feature from intent through to reviewed, tested, and deployed code.
  • Strong software architecture and design fundamentals: decomposing systems into services with clear boundaries, applying design patterns deliberately, designing REST API contracts, and reasoning about failure modes, data flow, and how a design will age.
  • Proven experience designing and building automated tests at every level (unit, integration, and end-to-end) including end-to-end test suites reliable enough to gate a release, and the judgment to say what a passing suite does and does not prove about meeting the requirements.
  • Front-end development with TypeScript and JavaScript, building user interfaces in React and working with the Node.js tooling around them.
  • Back-end service development in Java, implementing and consuming REST APIs.

Preferred Qualifications

  • Fluency in reading, reviewing, and critically evaluating code you did not write, including code a model generated.
  • Experience building on large-scale distributed systems, and handling the asynchronous complexity they create end to end: concurrency and race conditions in services, eventual consistency across regional and system boundaries, optimistic updates in the interface, and idempotent, retry-safe API contracts.
  • Hands-on experience building and maintaining CI/CD pipelines, with the bash scripting that holds them together - code you generate, review, and qualify comfortably.
  • Experience defining testing or CI/CD standards for a team, rather than only working within standards someone else set.
  • Event-driven architecture using messaging queues or platforms.
  • Containerized deployment with Docker and Kubernetes.
  • Observability practice: instrumenting services and using logs, metrics, and traces to understand real production behaviour.
  • Comfortable working in a macOS or Linux terminal as a primary environment.

Full Stack Software Engineer employer: Worky

Goldman Sachs is an exceptional employer, offering a dynamic work environment where innovation and collaboration thrive. As a VP in Site Reliability Engineering, you will benefit from a culture that prioritises professional growth, with ample opportunities to lead critical projects and enhance your skills in a fast-paced financial services setting. Located in a vibrant city, the company provides competitive benefits and a commitment to employee well-being, making it an ideal place for those seeking meaningful and rewarding careers.

W

Contact Details:

Worky Recruitment Team

We think you need these skills to ace Full Stack Software Engineer

Agentic AI Coding Assistants
Software Architecture
REST API Design
Automated Testing
Front-end Development with TypeScript and JavaScript
React
Back-end Service Development in Java