Job Description
lowRISC C.I.C. is a not-for-profit company that aims to demonstrate, promote and support the use of open-source hardware - bringing the benefits of open-source to the hardware world. We are producing high-quality, security-focused, open, and flexible IP. Our expertise includes the LLVM Compiler, novel hardware security extensions and RISC-V tools, hardware and processor design.
We are hiring for multiple positions to deliver on an exciting, high impact, open source hardware roadmap in collaboration with Google and other industry partners.
Find out more about working at lowRISC C.I.C. and our activities and aims.
We welcome speculative applications at any time from skilled engineers who feel they could contribute to lowRISC (for instance when none of our open roles are suitable, or if your skillset cuts across traditional engineering roles). Please apply, and explain in a covering letter how your skills and experience could make a difference at lowRISC. These speculative applications will be reviewed on a rolling basis, and unsuccessful applications may not be acknowledged.
Our software engineers work across the full software stack, from firmware and toolchains that interact directly with hardware to cloud-based infrastructure that tests our products at scale. 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).
lowRISC is a non-profit Community Interest Company. With a business model that includes member fees and engineering services, we have shown that it is possible to run world-leading projects collaboratively for everyone’s benefit. Originally a spinout from Cambridge University’s Computer Lab, our UK team is based in Cambridge and our Switzerland team is based in Zurich.
Our Ibex CPU and OpenTitan Root of Trust projects have been taken to production silicon, partnering with world-leading organisations including Google, combining open-source approaches with best-practice chip design methodologies.
Requirements:
- Highly proficient in Rust programming; deep understanding of fundamental concepts such as the ownership model, lifetimes, concurrency, parallelism, memory management and procedural macros.
- Solid knowledge of the Rust ecosystem, including tools and libraries.
- 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.
Benefits
Salary dependent upon experience.
Benefits include a generous employer pension contribution (up to 12.5% subject to an employee contribution via salary sacrifice of 6%), holiday allowance (33 days, pro rata, including public holidays), private medical insurance, group income protection, life insurance and a 4 week paid sabbatical after 4 years of service.
The team is based in Cambridge, UK, amongst the Silicon Fen’s ecosystem of high tech start ups. Our office is in the heart of the city and a short walk from the train station.
We do not discriminate against any employee or candidate because of race, colour, sex, age, national origin, religion, sexual orientation, gender identity, disability, or any other protected characteristic. Please let us know if you need any adjustments made to the application or selection process. We will be happy to help.