A leading technology company is seeking skilled developers with solid experience in C or Rust, focusing on firmware and driver development. Candidates must demonstrate strong algorithmic and problem-solving skills and a degree in Computer Science or equivalent experience. The preference is for individuals with experience in designing large-scale Rust codebases and a strong understanding of computer architecture. Familiarity with CI/CD for embedded software and contributions to open-source projects will be valued.
Qualifications
Solid experience with C or Rust.
A high standard of written and spoken English.
Experience with low-level systems programming.
Skills
C
Rust
Problem solving
Algorithmic skills
Linux
Education
Degree in Computer Science or equivalent experience
Tools
LLVM
CI/CD
Bazel
Nix
Job description
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.