We are seeking a software engineer with experience of compiler design/implementation to join us as we develop tools to program some of the world’s most advanced processors. You will be working with an interdisciplinary team of computer scientists and physicists to develop an optimizing compiler for quantum processors. Your role will involve building the compiler framework and creating high performance implementations of compiler steps based on prototype code developed by the scientific team. Getting the most out of a quantum computer is unlike any other computing paradigm, and so close collaboration between team members will be necessary. There is great scope for learning, and so a passion for learning and a drive to push the envelope of what is currently possible are highly desirable.
- Implement production-ready performant compiler tools based on prototype code from scientific team
- Design and implement new features in our core compiler code
- Work with other engineers responsible for web deployment to integrate the compiler tools you develop
- Collaborate with the scientific team to identify programming structures suitable for quantum acceleration
- Maintain code integrity and organisation
- Significant knowledge and hands on-experience with a range of programming languages
- Experience with C or C++, Python and Matlab
- Expertise in compiler architecture and compiler implementation techniques.
- Knowledge and hands on experience with compiler construction tools (lex/yacc/antlr etc.)
- Previous experience of commercial software development
- Knowledge of code versioning tools (Git, SVN)
- Strong troubleshooting and debugging skills.
- Ability to work well in a team
- Passion for learning and driven to succeed