31 Oct
|
Entangled Future
|
Sydney
31 Oct
Entangled Future
Sydney
Software Engineer, Compiler Services at Silicon Quantum Computing, Sydney. A mid-level full time position in the Software team, listed under software engineering.
About the role
We are hiring software engineers into Compiler Services, the team that builds the compiler for our quantum computers. OpenQASM comes in. SQC ISA instructions come out, as an executable program for the realtime control system.
Placement and routing across the mK wafer is NP-hard, with a connectivity map the physics dictates. The objective is fidelity and time budget together rather than gate count. Fault tolerance changes the compilation model rather than adding a pass, so lattice surgery and bi-layer schemes are implemented here with the QEC theory team. Calibration duty cycles and noise models are compiler inputs.
The team is growing around one deeply integrated system, so there is room to own a stage: logical compilation, optimisation, transpilation, or place and route. Specifications often arrive as a paper rather than a ticket, and Automated Calibration Services publishes the device state you compile against.
Based at our Sydney facility, you will work with quantum information scientists, the QEC theory team and the engineers who build the control plane. This is a role for someone who wants to own a compiler stage end to end, and who is comfortable when the specification arrives as a paper.
Essential
- 4+ years in software engineering, with production work on a compiler, solver, optimiser or comparable transformation system
- Solid computer science fundamentals: algorithms, data structures, complexity, and heuristics for problems where the exact answer is out of reach
- Graph algorithms, and the judgement to pick an approximation that holds up under the constraint that matters
- A performance-oriented language, such as Rust or C++, and Python
- Compiler construction in practice: intermediate representations, passes, rewriting, dataflow analysis
- Proving a transformation correct in the ways that are available: equivalence checking, property-based testing, differential testing against a reference
Responsibilities
- Build and own stages of the compilation pipeline, from logical circuit compilation through to physical placement and routing
- Implement optimisation passes that matter on real hardware: gate reduction, depth minimisation and error rate improvement
- Target the SQC instruction set architecture, and keep the compiler in step as the ISA and the control plane evolve
- Solve placement and routing across wafers and chiplets under connectivity, timing and fidelity constraints
- Implement lattice surgery, bi-layer and future error correction schemes with the QEC theory team
- Take noise models and calibration duty cycles as inputs to compilation, so the output suits the device it will run on
- Build the transpiler path that takes OpenQASM down to pulse-level instructions for today's sub-200 qubit devices
- Verify correctness of every transformation: equivalence checking, differential testing against reference implementations, and simulation
- Benchmark compiler output across fidelity, depth, runtime and compile time, rather than reporting the single metric that favours a given pass
- Work with Control & Error Correction on the executable contract between compiler and control plane
Nice to Have
- Quantum error correction: surface codes, lattice surgery, magic state distillation, or decoder design
- Transpiler or compiler internals in Qiskit, TKET, Cirq or a comparable framework
- Solver experience: SAT, SMT, ILP, constraint programming, or writing your own search
- Place and route, EDA tooling, or hardware synthesis flows
- LLVM, MLIR, or another production compiler infrastructure
- Scheduling and resource allocation under hard constraints
- Quantum circuit simulation, including stabiliser or tensor network methods
- Profiling and optimising your own compiler's runtime, not only its output
📌 Software Engineer, Compiler Services (Sydney)
🏢 Entangled Future
📍 Sydney