Software Engineer (RISC-V/Compiler)
This includes work in areas such as:
- RISC-V firmware and driver development.
- Software hardening and security tools.
- Embedded operating systems (in Rust and C).
- Compilers, code generators, and linters.
- Simulators and emulators (e.g. QEMU).
- Electronic design automation (EDA) tools.
- Performance and code size analysis.
- Cloud-based infrastructure (such as continuous integration pipelines)
Requirements:
- Solid experience with C or Rust.
- Strong algorithmic and problem solving skills.
- A degree in Computer Science or equivalent experience.
- A high standard of written and spoken English.
Preferred or highly valued:
- Experience designing, implementing, and maintaining large-scale or modular Rust codebases.
- Expert understanding of unsafe Rust, FFI, and low-level systems programming.
- Strong proficiency in C; familiarity with C++ and Python are a plus.
- Solid understanding of compiler internals; experience with LLVM is a plus.
- Experience with build systems and reproducible tooling (e.g. Bazel, Nix, uv).
- Experience developing for embedded or resource-constrained environments, including real-time systems.
- Familiarity with CI/CD for embedded or systems software.
- Strong knowledge of computer architecture; some experience with assembly languages (x86, RISC-V); familiarity with hardware design is a plus.
- Good knowledge of Linux.
- Experience contributing to open source projects.
- Higher degree levels and academic research experience are highly valued.