← back to previous jobs

Fuel

Remote
Apply for this position
❤️ Please support us by letting Fuel know you found this job on FindWeb3.com. Thanks!

Senior Compiler/Language Engineer (Rust/LLVM)

📅
Jun 8
🕘
Full-Time
💻
Fully Remote

Fuel Labs is building the fastest modular execution layer in the world. You will be working at the bleeding edge of blockchain scalability R&D. The Fuel Network features a brand new virtual machine, the FuelVM with multiple testnets already released and live.


To go with this new VM, a new high-level language is needed; one that avoids the many shortcomings of current smart contract languages, and that offers additional functionality and performance. You’ll be designing new language features and implementing and maintaining a compiler targeting the FuelVM.


The compiler and toolchain are available here.


Responsibilities



  • Design and specify Sway language features

  • Implement and maintain new Sway language features in the Sway compiler written in Rust.

  • Implement optimization passes using Sway Intermediate Representation (IR) which is inspired by LLVM.

  • Implement and maintain the Sway backend targeting the FuelVM and potentially other backends targeting other blockchain VMs such as the Ethereum Virtual Machine (EVM).

  • Integrate the compiler with additional tooling: package manager, debugger, language server, IDE plugin, etc.


What we look for in you:



  • Experience with compiler/toolchain development in one or more of the following areas:

  • Compiler frontends: parsing, semantic analysis, type checking and type theory, etc.

  • Compiler middle-ends: experience in writing optimization passes in an iIntermediate Representation (IR) framework such as LLVM.

  • Compiler backends: experience in writing compiler backends, codegen, register allocators, stack allocators (for stack VMs such as the EVM), backend optimizations, etc.

  • Fluency in Rust or C++.

  • Good understanding of computer architecture and machine-level representation of a program.

  • Deep understanding of software engineering best-practices.