About this Software Engineer role at Oxford Quantum Circuits
Software Engineer
At OQC, we aren’t just theorising about the future; we’re building it. Born from a philosophy of bold innovation, we’ve transitioned quantum computing from an academic ambition into a commercial reality—and we’re just getting started.
The Purpose
Build the software that supports the production and operation of OQC’s quantum computers.
As a Software Engineer, you’ll develop reliable, secure and maintainable solutions for complex technical challenges. You’ll take ownership of projects across the software-development lifecycle, working with stakeholders to understand their needs and turning those requirements into production-ready systems.
The Role
Working within OQC’s Software team—or embedded within another technical team—you’ll contribute broad software-engineering expertise while developing deeper knowledge in specialist areas.
You’ll work across greenfield and established codebases, designing new systems, improving existing software and resolving issues in development and production. You’ll assess technical options and their wider implications, communicate recommendations clearly and collaborate with engineers and stakeholders throughout delivery.
Alongside your own development work, you’ll contribute to code reviews, pair programming, quality assurance and knowledge-sharing. You’ll also help less-experienced engineers develop their technical capabilities through practical support, mentoring and constructive feedback.
What You’ll Be Working On
- Own assigned software projects from requirements gathering and solution design through to prototyping, testing, deployment and evaluation.
- Design new systems and technical approaches, assessing trade-offs such as performance, security, maintainability, complexity, cost and resource requirements.
- Develop and maintain clean, reliable software that meets agreed functional and non-functional requirements, supported by clear user and developer documentation.
- Diagnose and resolve issues across development and production environments, identifying blockers early and proposing practical solutions before escalating complex decisions.
- Review and rigorously test code, participate in pair programming and work with peers to determine when solutions are ready for production.
- Identify opportunities to automate quality-assurance and documentation activities, including the development and maintenance of CI/CD pipelines.
- Share technical knowledge through mentoring, training and internal events, while representing OQC through conferences, collaborative programmes or publications where appropriate.
What We’re Looking For
- Experience delivering multiple software projects across the full development lifecycle.
- Experience working successfully across both greenfield and brownfield codebases.
- Hands-on experience debugging issues in development and production environments.
- Experience maintaining software across multiple tiers of a system.
- Strong Python knowledge, including familiarity with commonly used Python libraries.
- A strong understanding of software data structures, programming methods and core computer-science concepts.
- Knowledge of object-oriented analysis and design, code structure, algorithms, operating systems, networking, HTTP and data management.
- The ability to design complex systems from initial requirements through to production deployment.
- The ability to understand and clearly explain the architecture of the codebases you work with.
- Experience with functional-programming approaches.
- Knowledge of containerisation using Docker and Kubernetes.
- Experience building and maintaining CI/CD pipelines that support quality assurance and rapid release.
- The ability to coach colleagues in complex technical areas and help improve engineering performance.
- Graduate-level knowledge, or equivalent professional experience, in computer science and a numerical discipline.
- An adaptable, detail-focused and quality-driven approach, supported by strong communication, time-management, problem-solving and innovation skills.
The ‘Nice-to-Haves’
- Experience delivering software products that are demonstrably fit for end users.
- Familiarity with message brokers or data-streaming technologies.
- Experience working with relational and non-relational databases.
- Experience contributing outside your core software specialism, such as testing, product ownership or platform engineering.
- Experience developing containerised microservices for deployment across global environments.
- Familiarity with modern cloud infrastructure, including Azure or AWS.
- Experience developing web applications within the Python ecosystem.
- Experience designing or building user interfaces.
- Working knowledge of JavaScript or TypeScript, HTML and CSS, alongside frameworks or runtimes such as React, Angular or Node.js.
- A degree in computer science or another relevant subject.
- Leadership or monitoring experience within a software-engineering environment.
Why Join OQC
You’ll join a multidisciplinary team solving software challenges at the intersection of advanced engineering and quantum computing.
This is an opportunity to take genuine ownership of software from initial concept through to production, work across a broad and technically demanding platform, and see your solutions contribute directly to the development and operation of OQC’s quantum computers. You’ll also have the opportunity to broaden your technical expertise, share knowledge with other engineers and help shape the engineering practices that support OQC’s continued growth.