> Markdown version of [/jobs/ext/3290886-senior-software-engineer](https://www.wearedevelopers.com/jobs/ext/3290886-senior-software-engineer). Every page supports `.md` or `Accept: text/markdown`. Links point to the HTML versions so they work for humans too. Agent guide: [/agents.md](https://www.wearedevelopers.com/agents.md). --- # Senior Software Engineer - **Company:** OneView Commerce - **Location:** London, UK (Remote available) - **Experience:** Expert - **Salary:** £75,000.0 - **Contract:** Permanent contract - **Skills:** Java (Programming Language), Artificial Intelligence, Amazon Web Services, Microsoft Azure, C Sharp (Programming Language), Profiling, Python (Programming Language), Scrum Methodology, Retail Software, TypeScript, Pulumi, Google Cloud, Test-Driven Development (TDD), ReactJS, Cloudformation, Vue.js, Kotlin, Build Management, AngularJS, Terraform, Data Pipelines, Serverless Computing, Golang - **Published:** September 30, 2026 - **Apply:** https://www.adzuna.co.uk/jobs/details/5903635783 ## About the Role * 5+ years building production software, with a track record of delivering complex work independently. * Strong in a modern typed language such as TypeScript, Go, Java, Kotlin, Python, or C#. * Depth on either the client side, in a component framework such as React, Angular, or Vue, or on the service side. * Builds and consumes REST and event-driven interfaces, and knows when each is the right choice. * Public cloud experience with AWS, Azure, or Google Cloud, including managed and serverless compute patterns. * Data modelling across relational and document stores, and can explain why a query is slow. * Test-first practice. Writes tests as part of finishing work rather than as a later phase., * Experience in retail technology, or another domain where software runs in physical locations under real-world constraints. * Experience of offline or intermittently connected clients, where the transaction still has to be correct once the connection returns. * Has owned a service or component in production over a sustained period, through its problems as well as its build. * Performance profiling and optimisation on a live system, and can describe what they found and what they changed. * Infrastructure as code and pipeline work, with tools such as Terraform, Pulumi, or CloudFormation. * Mobile or cross-platform client development. * Has influenced a technical decision beyond their own work, and can say how they made the case. * Has built agentic or AI-assisted development workflows, and can describe what they changed about how a team works. ## Description OneView is looking for a Senior Software Engineer to take on the harder half of what a delivery team builds. The platform serves over a hundred thousand users across global retail estates, on terminals that have to keep taking payments when the connection drops and reconcile perfectly when it comes back. That is where the difficulty lives, and it is the work this role gets. Reporting to the VP of Engineering and working in a Scrum team alongside a Lead Software Engineer, you will design and build complex features and integrations end to end, from very little direction. Senior here means three things concretely. You take the problem nobody has scoped yet and come back with something defensible. You lead reviews of other people's work and leave the code better than the review found it. And you contribute to what the team chooses: the methods, the libraries, the tooling, argued on evidence rather than preference. You will mentor a Software Engineer, usually one at a time, and the measure is whether they got better rather than whether their tickets got closed. This is the rung below Lead Software Engineer and a deliberate step towards it, so the parts of that job you want more of are available to you. The Lead Software Engineer owns the team's standard, its improvement agenda, and its technical direction, and you are the person they will lean on most to shape all three. Bring them the problems worth solving, argue for what should change, and take the work on. The more of it you can carry, the more of it becomes yours. We use AI throughout our day-to-day work and expect you to find uses for it we have not thought of. We also expect you to be able to do this job well if it were switched off tomorrow, because the creativity, judgement, and relationships that make the work good are yours rather than the tool's. Responsibilities * Design and build complex features and integration services end to end, from little direction, for a platform running continuously across thousands of shops in multiple countries. * Take the hardest item on the team's backlog and be trusted with it. * Own the technical design for significant pieces of work. Write it down, take it to the team and the Lead Software Engineer, and change it on the strength of the argument rather than defending it. Design in performance, security, and resilience rather than retrofitting them. * Lead reviews of colleagues' work, and make review the place code gets better. * Contribute to the team's choices about methods, libraries, and tooling, argue for them on evidence, and bring the Lead Software Engineer the problems worth solving. * Work with the Product Owner to shape what gets built: challenge scope that is not worth its cost, surface the technical constraint before it becomes a surprise, and offer the cheaper option when there is one. * Write the tests that prove your work now and catch the regression later. * Run the technical investigations nobody else has time for: evaluate the options, prototype where that is what settles it, and come back with a recommendation the team can act on. * Break a large piece of work into something the team can deliver incrementally, so that value reaches shops in weeks rather than at the end of a quarter. * Estimate and sequence work honestly, and raise risk to a sprint commitment while there is still time to act on it. * Own your work in production: instrument it, watch it, and fix it when it misbehaves. At this scale a defect that occurs one time in ten thousand happens somewhere every day. * Mentor a Software Engineer, and make them better rather than doing their work for them. * Take part in incident response, on-call, and post-incident review for the systems your team owns, where the clock is measured against shops that cannot serve customers. * Document what you build well enough that somebody else can change it safely.