Expectations
You’ll work closely with the Formal Methods team to build a compiler for a new Rust-like language to run in kernel space. You'll spend lots of time writing Rust to formal specifications, proposing architectural or implementation ideas, reviewing code, and learning from experienced teammates. In the future, you'll collaborate with the OS, Networking, and Security teams to integrate the language into production environments.
Responsibilities
- Implement compiler(s) in Rust according to specifications
- Collaborate actively with the Formal Methods team
- Participate in both sides of code reviews
- Write software to continuously test and verify correctness
- Actively document your code, process, and ideas
- Collaborate and co-design with OS, Networking, and Security teams to integrate the language into production
- Actively anticipate and communicate future roadblocks
Qualifications
- 2+ years of software engineering experience
- Extensive experience writing Rust and ideally C
- Understanding of system-level concerns such as binary formats, loading, ABIs, linking, and machine targets
- Understanding of and experience with compilation: lexing, parsing, type checking and other analyses, code generation
- Some understanding of type systems and logic systems: formal specification, design, implementation, and trade-offs
- Ability to translate language specifications into code
- High level of independence and autonomy
- Ability and willingness to document, teach, and explain complex technical problems and solutions
Compensation & Benefits
Compensation includes a competitive salary and stock grant (>= 0.1%) with vesting. Benefits include unlimited paid vacation, reimbursable vacation expenses (travel/lodging up to $1k), triennial $4k device allowance, comprehensive health insurance, $120/month gym allowance, and $250/year for educational expenses.