‹ All jobs
Senior Software Engineer - AI Compute Libraries
<h4><strong>About the job</strong></h4>
<p>As a Senior Software Engineer, you’ll develop, maintain and release the C++ libraries and runtime APIs that engineers use to build and execute workloads on Graphcore’s AI hardware.<br>Your work will focus on developer-facing libraries, runtime components or a combination of both. You’ll design clear abstractions for low-level hardware capabilities, improve reliability and performance, and support developers integrating these libraries into the wider software stack.<br><br>You will take ownership of library changes from design and implementation through review, integration, release and ongoing maintenance. Deliver dependable library releases through packaging, dependency validation, release notes and the maintenance fixes developers need.<br><br>You’ll write API documentation, usage examples and migration guidance to help developers adopt changes confidently. Work with library users across the software stack to understand requirements, resolve integration issues and guide API improvements.</p>
<h4><strong>The team and culture</strong></h4>
<p>The AI Compute Libraries team develops high-performance compute libraries and the software infrastructure that helps engineers make effective use of Graphcore’s AI hardware.</p>
<p>You’ll work alongside specialists in accelerator software, runtime systems and performance engineering. Together, you’ll turn hardware capabilities and developer requirements into practical, well-tested APIs, with clear documentation and dependable releases.</p>
<h4><strong>What we’re looking for</strong></h4>
<h4>Essential skills:</h4>
<ul>
<li>Strong modern C++ skills and a commitment to producing reliable, maintainable code.</li>
<li>The ability to turn complex, low-level concepts into clear APIs and abstractions.</li>
<li>Strong debugging and automated testing skills, including diagnosing issues in existing codebases.</li>
<li>Confidence owning substantial engineering tasks independently and working effectively across teams.</li>
<li>Clear written and spoken communication, with a willingness to share knowledge and support colleagues.</li>
</ul>
<p><strong>Desirable experience:</strong></p>
<ul>
<li>Experience with hardware accelerators, heterogeneous computing or architecture-specific software.</li>
<li>Experience with embedded DSLs, graph representations, descriptor generation or compiler infrastructure.</li>
<li>Familiarity with CMake, C++ library packaging, API/ABI compatibility, versioning or dependency management.</li>
<li>Experience integrating C++ libraries with Python or ML frameworks such as PyTorch.</li>
<li>Experience improving release automation, compatibility testing or developer tooling.</li>
</ul>
<h4><strong>Benefits</strong></h4>
<ul>
<li><strong>Flexible working:</strong> Balance your work and personal life with greater flexibility</li>
<li><strong>Generous leave:</strong> Take time to rest, recharge and enjoy life outside of work</li>
<li><strong>Retirement planning support:</strong> Up to 5% matched