Expectations
You’ll lead the development of a new, Rust-like programming language intended to run in kernel-space. Expect to write and review design documents, implementation decisions, lots of code, machine-checked proofs, and LaTeX specifications.
Responsibilities
• Develop an existing compiler codebase and software to continuously test and verify its correctness
• Formally verify language properties and implementations
• Collaborate and co-design with OS and networking teams to tightly integrate the language into the overall product
• Participate in both sides of code reviews
• Actively anticipate and communicate future roadblocks
• Participate in the open-sourcing of the language
Qualifications
• 3+ years of software engineering experience
• Deep understanding of type systems and logic systems: formal specification, design, implementation, and trade-offs
• Experience with formal programming language semantic specifications, proofs, and ability to translate them into code
• Experience with formal verification including model checking, theorem provers and SMT-based approaches
• Understanding of system-level language concerns such as binary formats, loading, ABIs, linking, and machine targets
• Mastery of or ability to quickly master Rust
• High level of independence and autonomy
• Ability and willingness to document, teach, and explain complex technical problems and solutions
Compensation & Benefits
Compensation is comprised of a competitive market salary and stock grant (>= 0.4%) conditioned on a vesting schedule. Benefits include unlimited paid and unpaid vacation time, reimbursable vacation expenses (transportation and lodging up to $1k), a triennial $4k computing device allowance, comprehensive medical, dental, and vision insurance, a $120 monthly gym allowance, and $250 yearly to spend on anything educational.